All Versions
Latest Version
Avg Release Cycle
16 days
Latest Release

Changelog History
Page 2

  • v12.0.1 Changes

    Note: Binaries for v12.0.1 were built with Xcode 13 and will not work with Xcode 12. See #1911. Use release v12.0.2 instead.

    • 🛠 Fixed: Share Dialog not presenting for SDK 12.0.0 including for the FacebookShareSample app #1909

    🚀 2021-10-15 | Full Changelog

  • v12.0.0 Changes

    • 👍 The minimum supported version of iOS is now 10.0.
    • Formalized the shared instance of AppEvents (given the property name shared) to start moving away from a class-based interface.
    • FacebookGamingServices and FBSDKGamingServicesKit — There are two libraries related to Gaming Services. FBSDKGamingServicesKit is a superset of FacebookGamingServices that includes Objective-C wrapper classes for FBSDKContextDialogPresenter and FBSDKContextDialogPresenter. If you don't need an Objective-C interface for these types, we recommend that you use only FacebookGamingServices.
    • 👀 Nullability annotations are added to some types. If you are using Swift (and in some cases Objective-C) and you use a newly annotated type, see the warnings in Xcode for more information.

    The following table contains changes to the iOS SDK in version 12.0.0.

    🚚 |Removed or Changed|Version 12.0.0 Replacement or Change| |-|-| |AccessToken convenience initializers that include graphDomain|—| |AccessToken.graphDomain class property.|AccessToken.graphDomain instance property.| |AccessToken.refreshCurrentAccessToken(completionHandler:)|AccessToken.refreshCurrentAccessToken(completion:)| |AppEvents.activateApp class method.|AppEvents.activateApp instance method that you access on the AppEvents.shared instance.| |FBSDKGraphErrorRecoveryProcessor - you can no longer create new instances without using designated initializers.|—| |GamingContext.type|—| 🔧 |GamingImageUploader.uploadImage(configuration:andResultCompletionHandler:)|GamingImageUploader.uploadImage(configuration:andResultCompletion:)| 🔧 |GamingImageUploader.uploadImage(configuration:completionHandler:andProgressHandler:)|GamingImageUploader.uploadImage(configuration:completion:andProgressHandler:)| 🛰 |GamingPayload.gameRequestID|You can obtain the game request ID from GamingPayloadDelegate.parsedGameRequestURLContaining(_:gameRequestID:)| 🛰 |GamingPayloadDelegate.updatedURLContaining(_:)|GamingPayloadDelegate.parsedGameRequestURLContaining(_:gameRequestID:)| 🛰 |GamingPayloadObserver.shared|You must now create instances of this object by using a delegate.| |GamingServiceResultCompletionHandler|GamingServiceResultCompletion| 🔧 |GamingVideoUploader.uploadVideo(configuration:andResultCompletionHandler:)|GamingVideoUploader.uploadVideo(configuration:andResultCompletion:)| 🔧 |GamingVideoUploader.uploadVideo(configuration:completionHandler:andProgressHandler:)|GamingVideoUploader.uploadVideo(configuration:completion:andProgressHandler:)| |GraphRequest.start(completionHandler:)|GraphRequest.start(completion:)| |GraphRequestBlock|GraphRequestCompletion| |GraphRequestConnection.add(_:completionHandler:)|GraphRequestConnection.add(_:completion:)| |GraphRequestConnection.add(_:batchEntryName:completionHandler:)|GraphRequestConnection.add(_:name:completion:)| |GraphRequestConnection.add(_:batchParameters:completionHandler:)|GraphRequestConnection.add(_:parameters:completion:)|

    🚀 2021-09-27 | Full Changelog

  • v11.2.1 Changes

    🛠 Fixed

    • 🛠 Fixed the App AEM Advertiser Rule match for fb_content
    • 🛠 Fixed: 'FBSDKCoreKitImport.h' file not found. (Issue #1829)

    🚀 2021-09-16 | Full Changelog

  • v11.2.0 Changes

    ➕ Added

    • ➕ Added AEM Deeplink handling debugging support

    🛠 Fixed

    • Support for building with Xcode 13 beta 4 due to change in optionality for NS_EXTENSION_UNAVAILABLE. More information in the Xcode release notes and in issue #1799. Resolved by @S2Ler in #1768

    🚀 2021-08-30 | Full Changelog

  • v11.1.0 Changes

    ➕ Added

    • Reintroduces initializeSDK method to FBSDKApplicationDelegate

    🔄 Changed

    • 🚀 Introduced Xcodegen for generating project files. Moving forward, We will now use Xcodegen to generate the project files that are used to build the SDK releases. There should be no impact to SDK users. However, some build settings were restored to Xcode defaults as a result of this change, and output binaries may be affected in unpredictable ways. Contributors to the SDK should run the new, top-level script to ensure that the project files they are using are the same as those being used in CI and for releases. The next major version will remove the project files from version control. If you experience any of these issues, please open an issue and we will look into it.

    🗄 Deprecated

    • 🚀 Building the frameworks using Carthage. Carthage is a dependency manager that typically works by building a third party framework using Xcode schemes shared from a .xcodeproj file. We are planning to remove the .xcodeproj files in the next major release as they will be generated on an as needed basis using Xcodegen. There is a strong likelihood that this change will break several integrations that use Carthage. You will still be able to use Carthage by pulling the pre-built binaries or XCFrameworks directly from the release. If this does not work for your use case, we recommend checking out Swift Package Manager as an alternative.
    • ⚡️ FBSDKGamingServicesKit's GamingServiceResultCompletionHandler. Replaced by GamingServiceResultCompletion which passes a dictionary instead of a string for the result. Additionally the following methods have been updated:
      • uploadImageWithConfiguration:andResultCompletionHandler is replaced by uploadImageWithConfiguration:andResultCompletion
      • uploadImageWithConfiguration:completionHandler:andProgressHandler is replaced by uploadImageWithConfiguration:completion:andProgressHandler:
      • uploadVideoWithConfiguration:completionHandler:andProgressHandler: is replaced by uploadVideoWithConfiguration:completion:andProgressHandler:
      • uploadVideoWithConfiguration:andResultCompletionHandler is replaced by uploadVideoWithConfiguration:andResultCompletion
    • 🛰 FBSDKGamingPayloadObserver's shared instance. Going forward a user should create and retain their own instance of a payload observer for as long as they'd like to receive callbacks from its delegate.

    🛠 Fixed

    • 🎉 Initializing the SDK in when UIApplication is unavailable #1748
    • 🗄 Issue caused by initializeSDK deprecation #1731

    🚀 2021-07-23 | Full Changelog

  • v11.0.1 Changes

    ➕ Added

    • ➕ Add background refresh status logging

    🔄 Changed

    • 💻 No longer automatically showing UI for GraphErrorRecoveryProcessor

    🛠 Fixed

    • 🛠 Fix nil completion handler crash - (@revolter in #1768)
    • 🛠 Fix AEM HMAC generation issue

    🚀 2021-06-22 | Full Changelog

  • v11.0.0 Changes

    🚀 ATTENTION: The Platform SDK v11.0 release introduces a few key changes to how dependencies will be managed moving forward. These changes are being implemented to drive more efficiency in our development process and reduce an over-reliance on singletons and tight coupling.. As part of these changes, we are currently in the process of converting existing types to use injected dependencies. As a result, many types will no longer be usable until the SDK is initialized. In order to ensure that types are configured correctly before being used, you will need to call FBSDKApplicationDelegate.application:didFinishLaunchingWithOptions: first before attempting to (i) get or set any properties, or (ii) invoke any methods on the SDK.

    ⚡️ The source code has been updated to include reminders in the form of exceptions in DEBUG builds across several locations. These reminders will serve as pointers for Developers to call FBSDKApplicationDelegate.application:didFinishLaunchingWithOptions: before using the SDK. For more information see:

    ➕ Added

    • Login with Facebook iOS app now populates a shared AuthenticationToken instance.
    • Added Limited Login support for user_hometown, user_location, user_gender and user_link permissions under public beta.
    • ⚡️ Updated Profile on Limited Login to include first, middle and last name as separate fields.
    • Released user_messenger_contact permission to enable Login Connect with Messenger. This new feature allows people to opt in to being contacted by a business on Messenger following the FB Login flow.
    • Added ability to add messenger_page_id param to FBSDKLoginButton and FBSDKLoginConfiguration
    • ➕ Added FBSDKApplicationObserving - a protocol for describing types that can optional respond to lifecycle events propagated by ApplicationDelegate
    • ➕ Added addObserver: and removeObserver: to FBSDKApplicationDelegate
    • ➕ Added startWithCompletion: to FBSDKGraphRequest. Replaces startWithCompletionHandler:
    • ➕ Added addRequest:completion to FBSDKGraphRequestConnection. Replaces addRequest:completionHandler:.
    • ➕ Added addRequest:name:completion: to FBSDKGraphRequestConnection. Replaces addRequest:batchEntryName:completionHandler:.
    • ➕ Added addRequest:parameters:completion: to FBSDKGraphRequestConnection. Replaces addRequest:batchParameters:completionHandler:.
    • ➕ Added instance method activateApp to AppEvents.

    🗄 Deprecated

    • FBSDKGraphRequestBlock. Replaced by FBSDKGraphRequestCompletion which returns an abstract FBSDKGraphRequestConnection in the form id<FBSDKGraphRequestConnecting> (ObjC) or GraphRequestConnecting (Swift)
    • FBSDKGraphRequest's startWithCompletionHandler: replaced by startWithCompletion:
    • FBSDKGraphRequestConnection's addRequest:completionHandler: replaced by addRequest:completion:
    • FBSDKGraphRequestConnection's addRequest:batchEntryName:completionHandler: replaced by addRequest:name:completion:
    • FBSDKGraphRequestConnection's addRequest:batchParameters:completionHandler: replaced by addRequest:parameters:completion:
    • FBSDKGraphRequestBlock
    • Class method AppEvents.activateApp. It is replaced by an instance method of the same name.

    ✂ Removed

    • FBSDKApplicationDelegate.initializeSDK:launchOptions:. The replacement method is FBSDKApplicationDelegate.application:didFinishLaunchingWithOptions:
    • ⚡️ FBSDKAppEvents' updateUserProperties:handler: method.
    • ⚡️ FBSDKAppEvents's updateUserProperties:handler: method.
    • FBSDKAppLinkReturnToRefererControllerDelegate
    • FBSDKAppLinkReturnToRefererController
    • FBSDKIncludeStatusBarInSize
    • FBSDKAppLinkReturnToRefererViewDelegate
    • FBAppLinkReturnToRefererView
    • FBSDKErrorRecoveryAttempting's attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:
    • FBSDKProfile's initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:imageURL:email:
    • FBSDKProfile's initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:imageURL:email:friendIDs:birthday:ageRange:isLimited:
    • FBSDKProfile's initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:imageURL:email:friendIDs:
    • FBSDKProfile's initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:imageURL:email:friendIDs:birthday:ageRange:
    • FBSDKAccessTokensBlock
    • FBSDKTestUsersManager
    • FBSDKGraphErrorRecoveryProcessor's delegate property
    • FBSDKGraphErrorRecoveryProcessor's didPresentErrorWithRecovery:contextInfo:
    • FBSDKGamingVideoUploader's uploadVideoWithConfiguration:andCompletionHandler:
    • FBSDKGamingImageUploader's uploadImageWithConfiguration:andCompletionHandler:

    🚀 2021-06-01 | Full Changelog

  • v10.0.0 Changes


    🚀 Reason: The SDK is primarily a means of interacting with the Graph API. The decision was made to skip this version in order to maintain major version parity. Since Graph API is on v11, it did not make sense to release a v10 then immediately release a v11.

  • v9.3.0 Changes


    🐎 Performance Improvements

    • Cocoapods: FBSDKCoreKit rebuilds FacebookSDKStrings.bundle so xcode processes the strings files into binary plist format. This strips comments and saves ~181KB in disk space for apps. #1713

    ➕ Added

    • ➕ Added AEM (Aggregated Events Measurement) support under public beta.
    • ➕ Added external_id support in advanced matching.
    • 👀 GamingServicesKit changed the Game Request feature flow where if the user has the facebook app installed, they will not see a webview to complete a game request. Instead they will switch to the facebook app and app switch back once the request is sent or the user cancels the dialog.

    🛠 Fixed

    • 🛠 Fix for shadowing swift type. #1721
    • 👀 Optimization for cached token fetching. See the commit message for more details.
    • Cocoapods with generate_multiple_pod_projects #1709

    🚀 2021-04-25 | Full Changelog

  • v9.2.0 Changes

    ➕ Added

    • Added Limited Login support for user_friends, user_birthday and user_age_range permissions under public beta.
    • Shared Profile instance will be populated with birthday and ageRange fields using the claims from the AuthenticationToken. (NOTE: birthday and ageRange fields are in public beta mode)
    • ➕ Added a convenience initializer to Profile as part of fixing a bug where upgrading from limited to regular login would fail to fetch the profile using the newly available access token.
    • 🛰 GamingServicesKit added an observer class where if developers set the delegate we will trigger the delegate method with a GamingPayload object if any urls contain gaming payload data. (NOTE: This feature is currently under development)

    🛠 Fixed

    🐎 Performance Improvements

    • ➕ Added in memory cache for carrier and timezone so they are not dynamically loaded on every didBecomeActive
    • ➕ Added cached ASIdentifierManager to avoid dynamic loading on every didBecomeActive
    • Backgrounds the expensive property creation that happens during AppEvents class initialization.
    • ➕ Added thread safety for incrementing the serial number used by the logging utility.
    • ➕ Added early return to Access Token to avoid unnecessary writes to keychain which can cause performance issues.

    🐛 Bug Fixes

    • Fixed using CocoaPods with the generate_multiple_pod_projects flag. #1707
    • 🌲 Adhere to flush behavior for logging completion. Will now only flush events if the flush behavior is explicitOnly.
    • Static library binaries are built with BITCODE_GENERATION_MODE = bitcode to fix errors where Xcode is unable to build apps with bitcode enabled. #1698

    🗄 Deprecated

    • 👀 TestUsersManager. The APIs that back this convenience type still exist but there is no compelling reason to have this be part of the core SDK. See the commit message for more on the rationale.

    ✂ Removed

    • Internal type AudioResourceLoader.

    🚀 2021-04-06 | Full Changelog