All Versions
Latest Version
Avg Release Cycle
16 days
Latest Release

Changelog History
Page 1

  • v15.1.0 Changes

    ๐Ÿ”„ Changed

    • The enum AppLinkNavigation.Type type has been renamed tp AppLinkNavigationType.
    • The initializer init(appLink:extras:appLinkData:settings:) in AppLinkNavigation ignores the settings argument if one is passed.
    • The method navigation(with:extras:appLinkData:settings:) in AppLinkNavigation ignores the settings argument if one is passed.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ The navigation(with:extras:appLinkData:settings:) method in AppLinkNavigation is deprecated in favor of the init(appLink:extras:appLinkData:) designated init.
    • ๐Ÿ—„ The init(appLink:extras:appLinkData:settings:) initializer in AppLinkNavigation is deprecated in favor of the init(appLink:extras:appLinkData:) designated init.
    • โšก๏ธ The Profile.enableUpdatesOnAccessTokenChange(_:) method is deprecated in favor of the Profile.isUpdatedWithAccessTokenChange property.
    • ๐Ÿ—„ SettingsProtocol.codelessDebugLogEnabled is deprecated in favor of SettingsProtocol.isCodelessDebugLogEnabled.
    • ๐Ÿ—„ SettingsProtocol.advertiserIDCollectionEnabled is deprecated in favor of SettingsProtocol.isAdvertiserIDCollectionEnabled.
    • ๐Ÿ—„ SettingsProtocol.advertiserTrackingEnabled is deprecated in favor of SettingsProtocol.isAdvertiserTrackingEnabled.
    • ๐Ÿ—„ SettingsProtocol.graphAPIDebugParamValue is deprecated in favor of its new name SettingsProtocol.graphAPIDebugParameterValue
    • ๐Ÿ—„ Settings.autoLogAppEventsEnabled is deprecated in favor of Settings.isAutoLogAppEventsEnabled.

    ๐Ÿ“‡ Renamed

    • SettingsProtocol.graphAPIDebugParamValue has been renamed to SettingsProtocol.graphAPIDebugParameterValue

    โœ‚ Removed

    • ๐Ÿšš Profile conformance to NSCopying has been removed as well as custom hashability and equatability.

    ๐Ÿ›  Fixed

    • ๐Ÿ“š The documentation for the property list-backed value Settings.isCodelessDebugLogEnabled has been corrected to indicate that the default value is false.

    ๐Ÿš€ 2022-10-24 | Full Changelog

  • v15.0.0 Changes

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ The minimum supported version of iOS and tvOS is now 12.0.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ‘Œ Support for tvOS is now deprecated and will be removed in Version 16.

    โœ‚ Removed

    ๐Ÿ‘Œ Improved

    • Binary artifact sizes are now smaller.

    ๐Ÿš€ 2022-09-19 | Full Changelog

  • v14.1.0 Changes

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed GitHub Issue #2082.

    โž• Added

    • โž• Added server-side AEM rule matching

    ๐Ÿš€ 2022-06-28 | Full Changelog

  • v14.0.0 Changes

    โœ‚ Removed

    • โœ‚ Removed deprecated AEMReporter.configure(networker:appID:) method.
    • โœ‚ Removed deprecated ContextDialogPresenter.showCreateContextDialog(withContent:delegate:) method.
    • โœ‚ Removed deprecated ContextDialogPresenter.showSwitchContextDialog(withContent:delegate:) method.
    • โœ‚ Removed deprecated ContextDialogPresenter.showChooseContextDialog(withContent:delegate:) method.
    • โœ‚ Removed deprecated ContextDialogPresenter.showChooseContextDialog(with:delegate:) method.
    • โœ‚ Removed deprecated ContextDialogPresenter.createContextDialog(withContent:delegate:) method.
    • โœ‚ Removed deprecated ContextDialogPresenter.switchContextDialog(withContent:delegate:) method.
    • โœ‚ Removed deprecated SwitchContextDialog.dialog(content:windowFinder:delegate:) method.
    • โœ‚ Removed deprecated LoginConfiguration.authType(for:) method.
    • โœ‚ Removed internal AuthenticationTokenSettings protocol.

    ๐Ÿ”„ Changed

    • Made LoginManagerLoginResult.token immutable.
    • Made LoginManagerLoginResult.authenticationToken immutable.
    • Made LoginManagerLoginResult.isCancelled immutable.
    • Made LoginManagerLoginResult.grantedPermissions immutable.
    • Made LoginManagerLoginResult.declinedPermissions immutable.
    • Made AccessToken.currentAccessToken use a Swift name of current.
    • Made AuthenticationToken.currentAuthenticationToken use a Swift name of current.
    • ๐Ÿ“‡ Renamed SharingValidation protocol to SharingValidatable.
    • Corrected type definition for FBSDKUserIdentifier to be NSString * instead of NSString for Swift compatibility.

    ๐Ÿš€ 2022-06-03 | Full Changelog

  • v13.2.0 Changes

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed an issue in native sharing where hashtags are not automatically added to a post.

    ๐Ÿš€ 2022-04-15 | Full Changelog

  • v13.1.0 Changes

    ๐Ÿš€ 2022-03-14 | Full Changelog

    Notable Changes

    โž• Added an API to support deep linking using Universal Links

    In order to ensure that your app properly supports deep linking from app ads with Universal Links, you will need to implement application(_:continue:restorationHandler:) in your App Delegate, and call ApplicationDelegate.shared.application(_:continue:) from your implementation. Your change might look like the following snippet:

    func application(
      _ application: UIApplication,
      continue userActivity: NSUserActivity,
      restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
    ) -> Bool {
      ApplicationDelegate.shared.application(application, continue: userActivity)
      // Rest of implementation...
      return true

    If your app is opted into Scenes, then you will also need to add the following code in your Scene Delegate implementation, in scene(_:willConnectTo:options:):

    func scene(
      _ scene: UIScene,
      willConnectTo session: UISceneSession,
      options connectionOptions: UIScene.ConnectionOptions
    ) {
      if let userActivity = connectionOptions.userActivities.first {
        ApplicationDelegate.shared.application(UIApplication.shared, continue: userActivity)
      // Rest of implementation...
  • v13.0.0 Changes

    Notable Changes

    ๐Ÿ‘Œ Supported platform versions have been updated

    ๐Ÿ‘ The minimum supported version of iOS is now 11.0 for all frameworks. The minimum supported version of tvOS is now 11.0 for all frameworks. The XCFramework binaries are now built with Xcode 13 so Xcode 12 is no longer supported.

    Client Tokens are now required

    ๐Ÿš€ Starting with the v13.0 release, client tokens must be included in apps for Graph API calls. An exception is now raised when running apps without a client token. See the instructions for more information.

    Swift conversions

    A number of types have been converted from Objective-C to Swift. As a consequence, developers may need to use modular import statements when using GamingServicesKit and a majority of ShareKit in order to avoid encountering compilation errors in Objective-C.

    // When importing a framework in this form:
    #import <FBSDKShareKit/FBSDKShareKit.h>
    // You may be need to update to this form when unknown symbol warnings appear:
    @import FBSDKShareKit;

    โฌ‡๏ธ Reduced use of Objective-C value-type practices

    We have further reduced the use of Objective-C value-type practices in ShareKit. ShareKit content types will no longer implement the following behaviors:

    • conformance to the NSCopying protocol
    • custom hashability and equatability
    • conformance to NSSecureCoding

    โž• Additional strong typing of app event reporting methods

    More app event reporting interfaces now use formal app event names and parameter names. Developers working in Swift code are required to use AppEvents.Name and AppEvents.ParameterName instances to represent app event names and app event parameter names, respectively.

    The example below works without changes in Objective-C:

    NSDictionary<NSString *, id> *parameters = @{
      FBSDKAppEventParameterNameNumItems: @5,
      @"custom_parameter": @"special info"
    [FBSDKAppEvents logEvent:FBSDKAppEventNamePurchased

    โšก๏ธ This next example is how it would look in Swift for an updated API:

    let parameters: [AppEvents.ParameterName: Any] = [
      .numItems: 5,
      .init("custom_parameter"): "special info"
    AppEvents.logEvent(.purchased, parameters: parameters)

    ๐Ÿ”„ Changed

    • ๐Ÿ“‡ Renamed frictionlessRequestsEnabled property on GameRequestDialog in Objective-C; use isFrictionlessRequestsEnabled and setIsFrictionlessRequestsEnabled: instead.
    • Corrected nullability of contentURL in protocol SharingContent
    • ๐Ÿ“‡ Renamed AppInviteDestination to AppInviteContent.Destination
    • ๐Ÿ“‡ Renamed userGenerated property on SharePhoto in Objective-C; use isUserGenerated and setIsUserGenerated: instead.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ Deprecated the FacebookGamingServices CocoaPod; please use the FBSDKGamingServicesKit pod instead. SPM users should continue to use FacebookGamingServices.

    ๐Ÿšš Moved

    ๐Ÿšš A few types have been moved from FBSDKShareKit to FBSDKGamingServicesKit. If you were using any of these you will have to add @import FBSDKGamingServicesKit in order to access these:

    • GameRequestActionType
    • GameRequestContent
    • GameRequestDialog
    • GameRequestDialogDelegate
    • GameRequestFilter
    • GameRequestFrictionlessRecipientCache
    • GameRequestURLProvider

    โœ‚ Removed

    • โœ‚ Removed NSObjectProtocol conformance/inheritance from multiple types in ShareKit.
    • โœ‚ Removed deprecated SDKError type; ErrorFactory and/or NetworkErrorChecker should be used instead.
    • โœ‚ Removed deprecated ReferralCode, ReferralManager, ReferralManagerResult and related classes.
    • โœ‚ Removed unused AppGroupContent class, AppGroupPrivacy enum and NSStringFromFBSDKAppGroupPrivacy function.
    • โœ‚ Removed SharingScheme protocol from ShareKit
    • โœ‚ Removed deprecated logInWithURL:handler from LoginManager
    • โœ‚ Removed deprecated init and new methods from AppInviteContent
    • โœ‚ Removed deprecated AppLinkResolverRequestBuilder
    • โœ‚ Removed deprecated URL schemes .facebookApp, .facebookShareExtension and .masqueradePlayer; use .facebookAPI instead.
    • โœ‚ Removed deprecated init and new methods from CrashHandler
    • โœ‚ Removed init and new methods from MessageDialog; use init(content:delegate:) instead.
    • โœ‚ Removed deprecated init and new methods from Logger
    • โœ‚ Removed deprecated init and new methods from FBSDKURLSession
    • โœ‚ Removed init and new methods from ShareDialog; use init(viewController:content:delegate:) instead.
    • โœ‚ Removed init and new from ShareCameraEffectContent; use init(effectID:contentURL:) instead.
    • โœ‚ Removed deprecated init(appLink:extras:appLinkData:) from AppLinkNavigation; use init(appLink:extras:appLinkData:settings:) instead".
    • โœ‚ Removed class-based factory methods for SharePhoto: ๐Ÿšš +photoWithImage:userGenerated:, +photoWithImageURL:userGenerated:, +photoWithPhotoAsset:userGenerated:. Also removed init and new; use the new convenience initializers instead.
    • โœ‚ Removed class-based factory methods for ShareVideo: +videoWithData:, +videoWithData:previewPhoto:, +videoWithVideoAsset:, +videoWithVideoAsset:previewPhoto:, +videoWithVideoURL:, +videoWithVideoURL:previewPhoto:. Also removed init and new; use the new convenience initializers instead.
    • โœ‚ Removed videoURL property from PHAsset.
    • โœ‚ Removed isEqualToHashtag: and hashtagWithString: methods from Hashtag. Use isEqual: and initWithString: instead.

    ๐Ÿ—„ AppEvents deprecations

    ๐Ÿ—„ Use AppEvents.shared in places where AppEvents was used before. (Many class methods and properties in AppEvents have been deprecated in favor of their instance-based equivalents.)

    • โœ‚ Removed deprecated AppEvents.flushBehavior (use AppEvents.shared.flushBehavior instead)
    • โœ‚ Removed deprecated AppEvents.loggingOverrideAppID (use AppEvents.shared.loggingOverrideAppID instead)
    • โœ‚ Removed deprecated AppEvents.userID (use AppEvents.shared.userID instead)
    • โœ‚ Removed deprecated AppEvents.anonymousID (use AppEvents.shared.anonymousID instead)
    • Removed deprecated AppEvents.logEvent(_:) (use AppEvents.shared.logEvent(_:) instead)
    • Removed deprecated AppEvents.logEvent(_:valueToSum:) (use AppEvents.shared.logEvent(_:valueToSum:) instead)
    • Removed deprecated AppEvents.logEvent(_:parameters:) (use AppEvents.shared.logEvent(_:parameters:) instead)
    • Removed deprecated AppEvents.logEvent(_:valueToSum:parameters:) (use AppEvents.shared.logEvent(_:valueToSum:parameters:) instead)
    • Removed deprecated AppEvents.logEvent(_:valueToSum:parameters:accessToken:) (use AppEvents.shared.logEvent(_:valueToSum:parameters:accessToken:) instead)
    • โœ‚ Removed deprecated AppEvents.logPurchase(_:currency:) (use AppEvents.shared.logPurchase(amount:currency:) instead)
    • โœ‚ Removed deprecated AppEvents.logPurchase(_:currency:parameters:) (use AppEvents.shared.logPurchase(amount:currency:parameters:) instead)
    • โœ‚ Removed deprecated AppEvents.logPurchase(_:currency:parameters:accessToken:) (use AppEvents.shared.logPurchase(amount:currency:parameters:accessToken:) instead)
    • โœ‚ Removed deprecated AppEvents.logPushNotificationOpen(_:) (use AppEvents.shared.logPushNotificationOpen(payload:) instead)
    • โœ‚ Removed deprecated AppEvents.logPushNotificationOpen(_:action:) (use AppEvents.shared.logPushNotificationOpen(payload:action:) instead)
    • โœ‚ Removed deprecated AppEvents.logProductItem(_:availability:condition:description:imageLink:link:title:priceAmount:currency:gtin:mpn:brand:parameters:) (use AppEvents.shared.logProductItem(id:availability:condition:description:imageLink:link:title:priceAmount:currency:gtin:mpn:brand:parameters:) instead)
    • Removed deprecated AppEvents.setPushNotificationsDeviceToken(_:) (use AppEvents.shared.setPushNotificationsDeviceToken(_:) instead)
    • Removed deprecated AppEvents.setPushNotificationsDeviceToken(_:) (use AppEvents.shared.setPushNotificationsDeviceToken(_:) instead)
    • โœ‚ Removed deprecated AppEvents.flush() (use AppEvents.shared.flush() instead)
    • โœ‚ Removed deprecated AppEvents.requestForCustomAudienceThirdPartyID(with:) (use AppEvents.shared.requestForCustomAudienceThirdPartyID(accessToken:) instead)
    • โœ‚ Removed deprecated AppEvents.clearUserID is deprecated and will be removed in the next major release, please set AppEvents.shared.userID to nil instead)
    • Removed deprecated AppEvents.augmentHybridWKWebView(_:) (use AppEvents.shared.augmentHybridWebView(_:) instead)
    • Removed deprecated AppEvents.setIsUnityInit(_:) (use AppEvents.shared.setIsUnityInitialized(_:) instead)
    • โœ‚ Removed deprecated AppEvents.sendEventBindingsToUnity() (use AppEvents.shared.sendEventBindingsToUnity() instead)
    • โœ‚ Removed deprecated AppEvents.setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:) (use AppEvents.shared.setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:) instead)
    • โœ‚ Removed deprecated AppEvents.clearUserData() (use AppEvents.shared.clearUserData() instead)
    • โœ‚ Removed deprecated AppEvents.getUserData() (use AppEvents.shared.getUserData() instead)
    • Removed deprecated AppEvents.setUserData(_:forType:) (use AppEvents.shared.setUserData(_:forType:) instead)
    • Removed deprecated AppEvents.clearUserDataForType(_:) (use AppEvents.shared.clearUserDataForType(_:) instead)

    ๐Ÿ—„ Settings deprecations

    ๐Ÿ—„ Use Settings.shared in places where Settings was used before. (Many class methods and properties in FBSDKSettings have been deprecated in favor of their instance-based equivalents.)

    • โœ‚ Removed deprecated Settings.sdkVersion (use Settings.shared.sdkVersion instead")
    • โœ‚ Removed deprecated Settings.defaultGraphAPIVersion (use Settings.shared.defaultGraphAPIVersion instead")
    • โœ‚ Removed deprecated Settings.JPEGCompressionQuality (use Settings.shared.JPEGCompressionQuality instead")
    • โœ‚ Removed deprecated Settings.isAutoLogAppEventsEnabled (use Settings.shared.isAutoLogAppEventsEnabled instead")
    • โœ‚ Removed deprecated Settings.isCodelessDebugLogEnabled (use Settings.shared.isCodelessDebugLogEnabled instead")
    • โœ‚ Removed deprecated Settings.isAdvertiserIDCollectionEnabled (use Settings.shared.isAdvertiserIDCollectionEnabled instead")
    • โœ‚ Removed deprecated Settings.isSKAdNetworkReportEnabled (use Settings.shared.isSKAdNetworkReportEnabled instead")
    • โœ‚ Removed deprecated Settings.shouldLimitEventAndDataUsage (use Settings.shared.isEventDataUsageLimited instead")
    • โœ‚ Removed deprecated Settings.shouldUseCachedValuesForExpensiveMetadata (use Settings.shared.shouldUseCachedValuesForExpensiveMetadata instead")
    • โœ‚ Removed deprecated Settings.isGraphErrorRecoveryEnabled (use Settings.shared.isGraphErrorRecoveryEnabled instead")
    • โœ‚ Removed deprecated Settings.appID (use Settings.shared.appID instead")
    • โœ‚ Removed deprecated Settings.appURLSchemeSuffix (use Settings.shared.appURLSchemeSuffix instead")
    • โœ‚ Removed deprecated Settings.clientToken (use Settings.shared.clientToken instead")
    • โœ‚ Removed deprecated Settings.displayName (use Settings.shared.displayName instead")
    • โœ‚ Removed deprecated Settings.facebookDomainPart (use Settings.shared.facebookDomainPart instead")
    • โœ‚ Removed deprecated Settings.loggingBehaviors (use Settings.shared.loggingBehaviors instead")
    • โœ‚ Removed deprecated Settings.graphAPIVersion (use the Settings.shared.graphAPIVersion property instead")
    • โœ‚ Removed deprecated Settings.isAdvertiserTrackingEnabled() (use the Settings.shared.isAdvertiserTrackingEnabled property instead")
    • โœ‚ Removed deprecated Settings.setAdvertiserTrackingEnabled(_:) (use the Settings.shared.isAdvertiserTrackingEnabled property to set a value instead")
    • Removed deprecated Settings.setDataProcessingOptions(_:) (use the Settings.shared.setDataProcessingOptions(_:) method to set the data processing options instead")
    • Removed deprecated Settings.setDataProcessingOptions(_:_:_:) (use the Settings.shared.setDataProcessingOptions(_:_:_:) method to set the data processing options instead")
    • โœ‚ Removed deprecated Settings.enableLoggingBehavior() (use Settings.shared.enableLoggingBehavior() instead")
    • โœ‚ Removed deprecated Settings.disableLoggingBehavior() (use Settings.shared.disableLoggingBehavior() instead")

    ๐Ÿš€ 2022-02-15 | Full Changelog

  • v12.3.2 Changes

    ๐Ÿš€ This release contains various fixes for FBAEMKit

    ๐Ÿ›  Fixed

    • Fetched AEM config after AEM URL is received
    • โž• Added delay between AEM conversion requests
    • ๐Ÿšš Moved Catalog Matching logic behind GK

    ๐Ÿš€ 2022-02-07 | Full Changelog

  • v12.3.1 Changes

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed missing defaultComponents accessor for CoreKitComponents. Fixes issue #2010.

    ๐Ÿš€ 2022-01-19 | Full Changelog

  • v12.3.0 Changes

    โž• Added

    • โž• Added network error checking protocol (NetworkErrorChecking) and concrete implementation (NetworkErrorChecker)
    • โž• Added error factory protocol (ErrorCreating) and concrete implementation (ErrorFactory)

    โœ‚ Removed

    • โœ‚ Removed configureWithWebViewProvider:urlOpener: from FBSDKWebDialogView

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ SDKError has been deprecated in favor of the new ErrorFactory and NetworkErrorChecker types
    • ๐Ÿ—„ NSStringFromFBSDKShareDialogMode() has been deprecated in favor of ShareDialog.Mode.description

    ๐Ÿš€ 2022-01-06 | Full Changelog