Firebase iOS Release Notes

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

Version 3.17.0 - April 25, 2017

Analytics

App Indexing

Invites

Dynamic Links

  • feature Developers can now create long and short Dynamic Links programmatically with the iOS Builder API.

Version 3.16.0 - April 12, 2017

  • fixed Warnings in Xcode 8.3 no longer appearing (see Analytics).

AdMob

  • fixed Correct ad size is now forwarded to mediation networks for smart banner mediation.

Analytics

  • fixed Compiler warnings about NanoPb in Xcode 8.3 are no longer appearing.

Instance ID

  • fixed Improved token-fetching logic.
  • fixed Improved warnings, error messages, and console logging, including initialization error message.

Invites

  • fixed Improved console logging.

Dynamic Links

  • fixed Improved Xcode warnings.
  • changed Added description for FIRDynamicLink object.

Cloud Messaging

  • fixed Custom UNNotificationCenterDelegates are swizzled properly when swizzling is enabled.
  • fixed Resolved issue in iOS 8.0 and 8.1 with scheduled notifications.
  • fixed Improved console logging.

Version 3.15.0 - March 16, 2017

  • changed Removed dependency on C++ libraries for app builds.

AdMob

  • feature New openInlineBrowser method in google_mobile_app_ads.js opens URLs in SFSafariViewController.
  • feature New GADAudioVideoManagerDelegate provides notifications on start and pause/stop in audio and video ad playback.

Invites

  • fixed Fixed a bundling issue that caused validation errors during submission to the App Store.

Dynamic Links

  • fixed Resolved issue causing crashes on app launch after installation for subset of users.

Version 3.14.0 - February 23, 2017

AdMob

  • feature Added play, pause and setMute methods to GADVideoController to control video playback.
  • feature Added new delegate methods to GADVideoControllerDelegate to start, pause, end, mute and unmute video content.
  • changed Added support for rewarded video mediation adapters to opt into early initialization before an ad request is made.

Remote Config

  • fixed Remote Config gets config results from the default FIRApp configuration when multiple projects are configured.
  • fixed Existing users no longer receive empty config results.

February 15, 2017

  • feature Added the mutable_content field to FCM API. When set to true, a notification message can be updated on an iOS 10+ client before it is presented to the user using the Notification Service app extension. The mutable_contentfield in the FCM API corresponds to the mutable-content APNs field.

Version 3.13.0 - February 14, 2017

  • feature Added the setLoggerLevel method to the FIRConfiguration class so you can specify the verbosity of Firebase messages logged to the Xcode console.

Analytics

  • feature Added the ability to log events used to supply referral details of a re-engagement campaign to the FIREventNames header and related parameters to the FIRParameterNames header.
  • feature Added the ability to get app instance IDs using the +appInstanceID method in the FIRAnalytics class.

Authentication

Realtime Database

  • changed Added logging when an observeEvent call is rejected due to security rules.

Storage

  • fixed Fixed a crash that occurred when user-provided callbacks had a value of nil.
  • fixed Improved upload performance on devices with intermittent connectivity.

Dynamic Links

  • fixed Long Dynamic Links can now track Google Analytics campaign ("UTM") parameters for Firebase Analytics events, including dynamic_link_first_open and dynamic_link_app_open.

Version 3.12.0 - January 31, 2017

AdMob

Crash Reporting

  • fixed Improvements to the automation of symbol file uploads.
  • fixed Adjusted the verbosity of messages logged to the console.

Dynamic Links

  • fixed Improved the reliability of Dynamic Links when opened on iOS 9 and iOS 10 in Facebook, Facebook Messenger, Twitter, Instagram, and Gmail.

SDK Version 3.11.1 - January 17, 2017

  • changed Reduced the verbosity of events logged by Firebase when using the Xcode debugger.

Remote Config

  • fixed When activateFetched is called when an app starts, it no longer removes cached fetch results.
  • fixed If an app makes multiple fetch requests without calling activateFetched between requests, fetch requests will now cache recent updates from the Remote Config service.

SDK Version 3.11.0 - December 13, 2016

  • feature Adds the ability to initialize FIRNetwork objects with either a default or custom reachability host.
  • changed Adds names to background tasks, so they can be more easily debugged in console logs.
  • fixed Properly terminates background logging tasks when the network is slow or unavailable.

AdMob

  • feature Added a video controller to DFPBannerView objects.
  • changed The GADNativeExpressAdView, GADNativeContentAd, GADNativeAppInstallAd and GADNativeCustomTemplateAd video-controller properties are now nonnull.

Authentication

  • feature Adds four new methods that you can use to handle action codes that were delivered to users by email, such as verifying an email address or resetting a password: applyActionCode, checkActionCode, confirmPasswordReset, and verifyPasswordResetCode.
  • changed With this update, the Firebase SDK no longer applies the keychain workaround introduced in v3.0.5 for the iOS 10.2 simulator. This workaround is not needed because the underlying issue in the simulator has been fixed.
  • fixed Fixes nullability compilation warnings that were raised when using Swift.
  • fixed Improves reporting for errors caused by a missing password.

SDK Version 3.10.0 - November 21, 2016

AdMob

  • changed In preparation for App Transport Security changes in 2017, apps should use this version of the SDK when building apps for iOS 10, and include both the NSAllowsArbitraryLoadsInWebContent and NSAllowsArbitraryLoads exceptions.
  • changed Added the GADMediaView property to the GADNativeContentAd and GADNativeCustomTemplateAd classes.

Analytics

  • changed Increased the maximum length of event names and parameter names to 40 characters, and the maximum length of string parameter values to 100 characters.

Crash Reporting

  • fixed Improved the automatic upload of symbol files.

Dynamic Links

Invites

Storage

  • changed Snapshot data is now always returned from the requested snapshot, instead of the most recent snapshot.
  • fixed Improvements to the ability to pause downloads.

Realtime Database

  • changed Unified the logging format.

SDK Version 3.9.0 - November 3, 2016

AdMob

  • changed Changes to the kGADAdSizeFluid constant that determines the width of a banner ad no longer change the frame size of a banner ad.

SDK Version 3.8.0 - October 24, 2016

  • feature The Firebase SDK for iOS API Reference now includes Swift 3.0 syntax, along with Objective C syntax.

Analytics

  • feature Added screen tracking support. Each app's current UIViewController is automatically tracked. The current screen is tracked with the firebase_screen_class parameter with every logged event, which provides valuable context. In addition to automatic screen tracking, you can manually track screens using the FIRAnalytics#setScreenName:screenClass method. This adds the firebase_screen parameter to every event logged while those screens are visible to app users.

Realtime Database

  • feature Reintroduced the persistenceCacheSizeBytes setting (previously available in the 2.x SDK) to control the disk size of the Firebase offline cache.
  • fixed Use of the updateChildValues() 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.

Storage

  • fixed Fixed an issue that was preventing the upload of files with filenames that contain the plus (+) character.
  • fixed Fixed an issue that was causing timeouts for file uploads and downloads to behave incorrectly.

Crash Reporting

  • feature Added support for Swift 2 and Swift 3.
  • feature Analytics events are now sent to the Crash Reporting service as part of error reports.

Dynamic Links

  • fixed Fixed a minor issue with IPv6.

Invites

  • fixed Fixed a minor issue with IPv6.

AdMob

SDK Version 3.7.1 - October 6, 2016

Analytics

  • fixed Fixed an issue that causes a crash for some apps that call FirebaseAnalytics. Stack traces show that the crash occurs in -[FIRAAlarm cancel].

SDK Version 3.7.0 - October 3, 2016

Analytics

  • changed Analytics no longer includes the AdSupport framework. To include this framework in your app, you must add it. Note that user properties such as Age, Gender and Interests require this framework.

App Indexing

  • changed App Indexing has been deprecated in light of recent changes to the app review guidelines for iOS. To index your app for Google search, implement Universal Links.

AdMob

  • changed Added the GADNativeAdViewAdOptions method to GoogleMobileAds to specify the location of AdChoices in native ads.
  • fixed Fixed a bug that causes a crash for some apps that call GoogleMobileAds. Stack traces show that the crash occurs in GADStringFromCGFloat.

SDK Version 3.6.0 - September 14, 2016

Analytics

  • fixed Existing users who update to Analytics-enabled versions of an app are no longer included in first_open metrics. This correction could cause a drop in first_open metrics.

  • changed Conversion events are now uploaded within seconds of being logged.

  • changed Removed the feature that attributed AdWords app conversions using the SFSafariViewController class.

Cloud Messaging

  • feature Added a new API method, -applicationReceivedRemoteMessage: to allow apps to receive data messages from FCM on devices running iOS 10 and greater.

Authentication

  • fixed Improved the behavior of Firebase Authentication when testing apps using the iOS 10 simulator.
  • fixed Fixed an issue with error reporting when a user provides an invalid email address while signing in with an email address and password.

Realtime Database

  • fixed Fixed an issue that caused transactions to fail when executed before the SDK connects to the Firebase Realtime Database service.
  • fixed Fixed a race condition where performing a transaction or adding an event observer immediately after connecting to the Firebase Realtime Database service could cause completion blocks for other operations to not be executed.
  • fixed Fixed an issue affecting apps that use offline disk persistence where large integer values could lose precision after an app restart.

Remote Config

  • fixed Fixed issues that caused a crash when an app attempts multiple concurrent fetch requests.

Dynamic Links

  • feature Analytics events are now automatically logged when users open your app, open your app from a Dynamic Link, and open your app for the first time from a Dynamic Link.
  • changed Dynamic Links no longer use the SFSafariViewController class.
  • changed Dynamic Links no longer has a dependency on the Core Location framework.

AdMob

  • changed AdMob no longer has a dependency on the Core Bluetooth, EventKit, and EventKitUI frameworks. Apps no longer need to provide NSBluetoothPeripheralUsageDescription and NSCalendarsUsageDescription keys in their Info.plist file.
  • changed Removed Mobile Rich-media Ad Interface Definitions (MRAID) 2.0 support for calendars and storing pictures.

SDK Version 3.5.2 - August 26, 2016

AdMob

  • fixed Initial improvements toward fixing a bug that causes a crash for some apps that call GoogleMobileAds. Stack traces show that the crash occurs in GADStringFromCGFloat.

SDK Version 3.5.1 - August 23, 2016

Analytics

  • feature Added support for Analytics on iOS 10.

  • feature Added support for attributing AdWords app conversions from search and display web clicks on iOS 10.

  • feature Added a feature to validate the authenticity of in-app purchase events before they are reported by Firebase Analytics.

Storage

  • fixed Fixed issues with iOS 7 compatibility.
  • fixed Fixed an issue that prevented observeStatus:FIRStorageUploadTask from correctly reporting progress when uploading a file.

App Indexing

  • feature Added support for App Indexing on iOS 10. App Indexing still requires iOS 9 or higher.

Dynamic Links

  • feature Added support for Dynamic Links on iOS 10.

AdMob

  • feature When associating native ads with a view, the view’s userInteractionEnabled property is changed to NO to match the value expected by the SDK.
  • changed The Google Mobile Ads SDK now has a dependency on MobileCoreServices.
  • feature Added the -[GADMobileAds isSDKVersionAtLeastMajor:minor:patch:] API method to allow ad networks to determine if a device is running at least a specified minimum version (major.minor.patch) of the Google Mobile Ads SDK.

SDK Version 3.4.0 - August 1, 2016

Authentication

  • fixed Fixed a bug that causes a race condition that could crash an app running on iOS 9 with an exception from NSURLSession.

Cloud Messaging

  • changed plist files used by FIRMessaging are now stored in an ApplicationSupport directory.

Remote Config

  • fixed Fixed an issue where some attempts to fetch parameter values can cause a crash due to a JSON serialization failure.
  • feature Added the allKeysWithPrefix: API method to allow developers to find parameter keys based on a key prefix.

Crash Reporting

  • fixed Fixed an error that occurred when building an app that uses a JSON file.
  • fixed Minidumps are now compressed separately to avoid automatically unzipping during processing.
  • fixed Fixed an issue that prevented batch-upload from working with files that contain non-ASCII characters.

App Indexing

  • feature Bitcode support is now available for the App Indexing SDK for iOS.

Dynamic Links

  • fixed Fixed a bug that caused crashes when the resolveLink() API returns a non-JSON object.

AdMob

  • feature Enhanced the quality of ad rendering with the addition of framework dependencies for GLKit, OpenGLES, CoreMotion, and CoreVideo.
  • feature Added the +[GADMobileAds configureWithApplicationID:] method. AdMob publishers should call this method with their application ID to initialize AdMob.
  • fixed Users of DoubleClick for Publishers (DFP) who use SDK mediation will no longer see the following warning: mediated ad type is unknown or invalid

SDK Version 3.3.0 - June 29, 2016

Analytics

  • feature You can now attribute AdWords app conversions from search and display web clicks on Safari using SFSafariViewController, an iOS API that supports data sharing between apps and the Safari browser on the same device running iOS 9.0 or higher. This lets you measure app installs and in-app actions from app promotion ads on mobile websites. This functionality is included in the Firebase SDK, and is enabled without any changes to your app's source code.

Authentication

  • changed The bundle ID custom scheme is no longer required to support Google Sign-In.
  • fixed Minor improvements to error handling and error messages.
  • fixed User anonymity is now handled the same way for iOS as it is for other platforms.

Realtime Database

  • fixed Fixed a rare crash in [FSRWebSocket stream:handleEvent:].
  • fixed Improved error messages for some common mistakes configuring FIRApp.
  • changed Firebase now logs a warning instead of throwing an exception when your database has exceeded its concurrency limit.

Cloud Messaging

  • fixed Cloud Messaging no longer registers for remote notifications on startup.

Storage

  • fixed A new QUOTA_EXCEEDED error now appears when plan limits are exceeded.
  • feature Added a state property to FIRStorageTaskSnapshot.
  • fixed Fixed handling of timeCreated and updated properties in FIRStorageMetadata.

Notifications

  • feature You can now add more than three custom data fields when sending a notification. A notification should not exceed 4KB total, including message text, custom data, and any advanced options.
  • feature Reduced the refresh interval for app versions and language lists.
  • feature The conversion event counts in the Notifications Firebase Analytics funnel view now show the number of users who have triggered the conversion event at least once. Previously, it showed the raw number of triggered conversion events.

Dynamic Links

  • feature Firebase Analytics now logs all app open events driven from user clicks on Dynamic Links.
  • fixed Including Dynamic Links in your app now adds less than 70K to your app's .ipa file, a reduction of nearly 2 MB from the previous release.

Send feedback about...

Need help? Visit our support page.