2020
Archived Release Notes for 2020

The AEP SDKs are now distributed using XCFrameworks in order to support hardware with the new Apple M1 architecture while maintaining support for existing Intel architecture.
IMPORTANT: Upgrading to XCFrameworks distribution requires Xcode 12.0 or newer
IMPORTANT: If using Cocoapods, upgrading to the XCFrameworks distribution requires Cocoapods 1.10.0 or newer
Below is a list of the new versions for each extension:
  • iOS Core 2.9.0
    • iOS Identity 2.5.0
    • iOS Lifecycle 2.2.0
    • iOS Signal 2.2.0
  • iOS Analytics 2.5.0
  • iOS Assurance 1.1.0
  • iOS Audience 2.2.0
  • iOS Campaign 1.1.0
  • iOS Campaign Classic 2.1.0
  • iOS Media 2.3.0
  • iOS Mobile Services 1.1.0
  • iOS Places 1.4.0
  • iOS Target 2.2.0
  • iOS User Profile 2.2.0

  • Fix issue where push identifier had incorrect value in Identity shared state when setPushIdentifer was not called on each launch.
    Released with sdk-core version 1.5.8

  • Update version for bundled ACPIdentity 2.4.1 release.

  • Fix issue where push identifier had incorrect value in Identity shared state when setPushIdentifer was not called on each launch.

  • Fixed a bug that triggered ANR (Application not responsive) error while initializing webview.

The following updates were made in this release:

  • Fixed a memory alignment issue that caused crashes in iOS 10.x.

  • Added new APIs getVisitorProfileWithCompletionHandler, signalWithData:WithCompletionHandler. These APIs take completion handler as an argument which is invoked with the desirable response or an NSError if an unexpected error occurs or the request times out.
  • Added changes to publish Audience shared state on EventHub boot.
  • Fixed an issue to handle Analytics response only if AAMForwarding is enabled.

  • Added support for AdobeCallbackWithError for APIs getVisitorProfile, signalWithData.
  • Added changes to publish Audience shared state on EventHub boot.

  • Update version for bundled ACPIdentity 2.4.0 release.

  • Added a device_consent status parameter when setAdvertisingIdentifier is called after ad tracking is enabled/disabled.
  • The default Identity Server URL of dpm.demdex.com is used if the SDK configuration parameter experienceCloud.server is either missing or an empty string.

  • Minor bugs fixed.

  • Fixed several crashes that were happening during app shutdown.

  • Changed the default Ad tracking granularity to 10 seconds. Added configuration key to enable 1 sec ad tracking.
  • Restart tracking session every 24 hours for long running sessions.

  • Changed the default Ad tracking granularity to 10 seconds. Added configuration key to enable 1 sec ad tracking.
  • Restart tracking session every 24 hours for long running sessions.

The following updates were made in this release:

  • Added new APIs getQueueSizeWithCompletionHandler, getTrackingIdentifierWithCompletionHandler and getVisitorIdentifierWithCompletionHandler. These APIs take completion handler as an argument which is invoked with the desirable response or an NSError if an unexpected error occurs or the request times out.
  • Added an enhancement to append previous app id and previous os version to backdated session info hits.
  • Changes to read from Assurance shared state.

The following updates were made in this release:

  • Added error callbacks for following APIs getQueueSize, getTrackingIdentifier and getVisitorIdentifier. Instance of AdobeCallbackWithError can be passed to these API's as an arguement to receive error callbacks.
  • Added an enhancement to append previous app id and previous os version to backdated session info hits.
  • Changes to read from Assurance shared state.

The following updates were made in this release:

  • Added an enhancement to reduce the number of registration requests sent to Campaign. There is now a default 7 day registration delay which starts after the most recent registration request sent to Campaign is successful.
  • Added configuration settings to change the default registration delay or to pause registration requests.

  • Fixed dropped events and connection termination issues caused by exceeding maximum data capacity of a websocket connection.

  • Fixes an issue where the EventHub could be blocked by synchronous network calls returning recoverable errors.

  • Latest extension versions of Adobe Experience Platform Mobile SDK are now certified for iOS 14. Please see Current SDK Versions for more information on the latest version numbers.

  • Fixed an issue caused by when extension unregistration and Shared State read events happen concurrently.
  • New modified event structure is used to communicate with backend servers.
  • New client details such as OSName, OS version, Model name, battery status, screen size, current location permission, low power mode and application configuration are now sent as a part of client event.
  • The following public APIs are removed: attemptReconnect, sendEvent, sendBlob, loglocalUILevel and registerListenerForVendor.
  • Improvements to client connection error screen to provide relevant error messages and descriptions.

  • Latest extension versions of Adobe Experience Platform Mobile SDK are now certified for Android 11. Please see Current SDK Versions for more information on the latest version numbers.

  • Fixed an intermitted issue where third party extensions may experience crashes after unregistration when using the ACPExtensionAPI.

  • Added previous application Id and OS version info to lifecycle event data.

  • Fixed the issue where it may fail to save caches when Etag contains special characters.

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Identity shared state now gets updated in current session on server response changes for blob or locationHint.
  • In order to improve the Analytics push tracking reports, the push notification preferences (a.push.optin) are now forwarded to Analytics whenever the value passed to setPushIdentifier is different than the previous time it was called.
  • Improved existing log messages and added additional logging to assist with debugging.

  • Added previous application Id and OS version info to lifecycle event data.

  • Added support for weak ETags.

  • Added support for configuration option target.server which enables a custom host to be used for Target requests. This configuration option is available in the Adobe Target Launch extension starting with version 2.4.0.

  • Added support for configuration option target.server which enables a custom host to be used for Target requests. This configuration option is available in the Adobe Target Launch extension starting with version 2.4.0.
  • Public APIs now support error handling via passing AdobeCallbackWithError.

  • Fixed a crash happening on AdobeMarketingMobile::RulesEngine::ProcessEventForRules().
  • Fixed an issue where null values in rules consequences were not respected.

  • Identity shared state now gets updated in current session on server response changes for blob or locationHint.
  • In order to improve the Analytics push tracking reports, the push notification preferences (a.push.optin) are now forwarded to Analytics whenever the value passed to setPushIdentifier is different than the previous time it was called.
  • Improved safety checks for the Identity APIs with completion handler.

  • Session start time is now added to the shared state of Lifecycle extension.

  • Fixed TimeSinceLaunch not getting reported in analytics hits.
  • Fixed a race condition which was causing a null pointer crash.

  • Added ETag support for Campaign rules download requests.

  • Fixed an issue where null values in rules consequences was not respected.
  • Some internal fixes.

  • Session start time is now added to the shared state of Lifecycle extension.

  • Fixed an issue where acquisition data may not be correctly processed.

  • Fixed a performance issue when tracking media.

  • User Profile extension for Android released
  • User Profile extension for iOS released

  • User Profile extension for Unity released

  • Added Modify Data action for Launch Rules. See more information on usage here: Modify data in SDK events.
  • Update requires Mobile Core iOS minimum version 2.7.2 and Android minimum version 1.5.5
    July 17, 2020

  • Fixed an issue where UUID was not returned in getSdkIdentities API response.
  • Fixed an issue where customer visitor IDs were missing from Audience signals.

  • Fixed a crash when configuring incorrect collection API server.

  • Places extension released for Xamarin. See current Xamarin versions for more information.

  • Updated the wrapper type strings used by SDK plugins.
  • Added support for the token ~timestampp which complies with the Adobe Experience Platform Edge Network.
  • Another attampt to fix the crash on std::__1::system_error: mutex lock failed: Invalid argument.

  • Updated the wrapper type strings used by SDK plugins.
  • Added support for the token ~timestampp which complies with the Adobe Experience Platform Edge Network.
  • Added support for Modify Data rules.

  • Places and Places Monitor extension released for Flutter. See current Flutter versions for more information.

  • Fixed an issue where UUID was not returned in getSdkIdentities API response.

  • Client-side Profile extension released for Flutter see Profile for more information.

  • Fixed an intermittent bug where Identity data was not loading at SDK initialization time.

  • IntegrationId in Griffon’s shared state now has format sessionId|clientId.

  • Added tvOS compatibility
  • Version 2.7.0 onwards, binaries are built with Xcode 11.0
  • Fixed a crash which happened in AdobeMarketingMobile::ModuleEventListenerBase
  • Added support for Modify Data rules.

  • Added tvOS compatibility
  • Version 2.1.0 onwards, binaries are built with Xcode 11.0

  • Added tvOS compatibility
  • Version 2.1.0 onwards, binaries are built with Xcode 11.0

  • Added tvOS compatibility
  • Version 2.3.0 onwards, binaries are built with Xcode 11.0

  • Added tvOS compatibility
  • Version 2.3.0 onwards, binaries are built with Xcode 11.0

  • Added tvOS compatibility
  • Version 2.1.0 onwards, binaries are built with Xcode 11.0

  • Fixed a bug where Griffon unregisters its wildcard listeners during automatic session reconnect.
  • IntegrationId in Griffon’s shared state now has format sessionId|clientId
  • Griffon pin pad UI support for devices with cutouts from Android version 28 and above.

  • Reduced the scope of variable BUFFER_SIZE that was exposed globally which may result in naming conflict

Each framework supports Mobile Core, Adobe Analytics and Project Griffon. Additionally, these frameworks have been released as open source projects that can be modified to suit your use cases.
See Get the Experience Platform Mobile SDK for information for installing and initializing the SDK.

  • Fixed incorrect timezone offset calculation
  • Fixed a crash which happened in Analytics::TrackLifecycle

The following updates were made in this release:

  • Added the capability for rules engine to reprocess the events that are dispatched before rules are loaded.
  • Fixed the import statement in ACPNetworkServiceOverrider.h.

  • Added the capability for rules engine to reprocess the events that are dispatched before rules are loaded.
  • Fixed a bug where the shared state of event hub was not properly created.
  • Fixed a security issue.

  • Griffon extension is optimized to unregister itself, when it does not obtain session's deeplink URL within 5 seconds of app launch.
  • Fixed a bug where user is not able to disconnect when griffon attempts to reconnect with expired socket URL.
  • Support for prod, stage, qa and dev environment.
  • Griffon socket connection now authenticates against organization Id.
  • Griffon SDK attempts to seemlessly reconnect to its session on network interruptions.
  • Fixed an issue where "Connect" button does not appear in the pinpad screen on iOS version 10 and below.
  • Fixed a crash that happens when screenshots fails to upload to blob service.
  • Fixed an issue where Griffon floating button disappears during orientation change.

  • Changes to support Griffon on Xamarin and Unity.
  • Griffon extension is optimized to unregister itself, when it does not obtain session's deeplink URL within 5 seconds of app launch.
  • Fixed a bug where user is not able to disconnect when griffon attempts to reconnect with expired socket URL.
  • Fixed a bug that prevents pinpad screen from closing when Mobile SDK is not configured.
  • Improved logging.

  • Uses media collection endpoint for tracking both streaming and downloaded content.
  • Added support for player state tracking

  • Uses media collection endpoint for tracking both streaming and downloaded content.
  • Added support for player state tracking

The following updates were made in this release:

  • Changes in how fullscreen in-app messages are displayed inline with WebView security recommendations in Mobile Core 1.5.2 release.
  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Fixed an image caching related bug, where cached images used to get deleted.

The following updates were made in this release:

  • Fix bug where pinCode entry activity fails to show when another application’s activity is started at the same time.
  • Blob upload services uses production URL with multiple environment support.
  • ClientId is shared as a query parameter to socket URL rather than tagging each Griffon event.
  • Griffon socket connection now authenticates against organization Id.

The following updates were made in this release:

  • Added an internal enum for Cordova support.

  • Fixed a performance issue where the initiliaztion of SDK extensions could block the main thread for a while.

The following updates were made in this release:

  • Fixed a bug where the modal fullscreen message was shown with a white space at the top of the image.

The following updates were made in this release:

  • Fixed several security issues.
  • Improved existing log messages and added additional logging to assist with debugging.

  • Fixed a bug where the Resolution was captured in non-English numerals.

The following updates were made in this release:

  • Fixed a bug where Griffon pinpad screen may disappear behind an activity.
  • Griffon SDK attempts to seemlessly reconnect to its session on network interruption.
  • Fixed a bug that prevented to establish Griffon connection on Android API 27 and below.
  • Added a new Plugin interface method that gets called on Griffon session termination.

The following updates were made in this release:

  • Added support for overriding internal network stack with customer-provided implementation. For more information, see Override network stack.

  • Added an API removeUserAttributes to remove multiple attributes.
  • Added an API getUserAttributes to get user attributes with provided keys.

  • Added an API removeUserAttributes to remove multiple attributes.
  • Added an API getUserAttributes to get user attributes with provided keys.

The following updates were made in this release:

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Fixed a security issue where hex conversion method was vulnerable to hash collisions.

The following updates were made in this release:

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Fixed an issue where passing nil callback in registerDevice API caused a crash.

The following updates were made in this release:

  • Fixed a crash which happened in ADBJsonType::Get.
  • Fixed a crash which happened in EventHubInner::CreateOrUpdateSharedStateCommon, the crash was introduced on the version 2.5.0.
  • Fixed an internal issue where the SDK failed to create a Json array if it contains empty items.
  • Improved log messages.

  • Fixed an issue where all Identity APIs with callbacks were subject to a timeout. Only Identity APIs which use a completionHandler callback are subject to a timeout.
  • Improved existing log messages and added additional logging to assist with debugging.

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Improved log messages.

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Improved log messages.

The following updates were made in this release:

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Target Session Id will now be added as a context data parameter a.target.sessionId in the internal Analytics for Target hit sent to Adobe Analytics.
  • Fixed an issue, where on app close and relaunch, previously persisted tntId was not being sent in Target requests.

The following updates were made in this release:

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Target Session Id will now be added as a context data parameter a.target.sessionId in the internal Analytics for Target hit sent to Adobe Analytics.

The following updates were made in this release:

  • AnalyticsResponse events are now always dispatched regardless if the debugApi is enabled or if AAM forwarding is enabled.
  • Report extension details to ACPCore for improved logging and Griffon support.
  • Improved existing log messages and added additional logging to assist with debugging.

  • Added support for capturing device screenshot.
  • Added support for forwarding application logs to Griffon.
  • Added support for editing loaded launch configuration through Griffon.
  • Added support for dispatching fake events from Griffon.
  • Unique clientID and sessionID are now shared through Griffon shared state.
  • Shared state contents of all the registered extensions are now forwarded to Griffon
  • Griffon event now includes eventNumber and timestamp.
  • Added an API to create ACPGriffonEvent with vendor, type, payload, and timestamp.
  • Bug fixes.

  • Added support for capturing device screenshot.
  • Added support for forwarding application logs to Griffon.
  • Added support for editing loaded launch configuration through Griffon.
  • Added support for dispatching fake events from Griffon.
  • Unique clientID and sessionID are now shared through Griffon shared state.
  • Shared state contents of all the registered extensions are now forwarded to Griffon.
  • Added constructors to create GriffonEvent with vendor, type, payload, and timestamp.
  • Bug fixes.

The following updates were made in this release:

  • Fixed a bug where AppID used non-arabic numbers as app versions.
  • Fixed a bug where app version was not included in AppID on Android 9 or above devices.
  • Added Wrapper Type for Flutter.

  • Logging improvement
  • Report extension details to Mobile Core for improved logging and Griffon support.

  • Logging improvement
  • Report extension details to Mobile Core for improved logging and Griffon support.

The following updates were made in this release:

  • Mobile Core now shares the list of enabled extensions and their meta data through shared state.
  • Added Wrapper Type for Flutter.
  • Exposed eventNumber and eventTimestamp in ACPExtensionEvent class.
  • Added the following API to support the completion handler with an nullable NSError object:
    • getPrivacyStatusWithCompletionHandler
    • getSdkIdentitiesWithCompletionHandler

  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Added the following APIs to support the completionHandler callback that is available in iOS ACPCore version 2.5.0:
    • appendToURL:withCompletionHandler
    • getUrlVariablesWithCompletionHandler
    • getIdentifiersWithCompletionHandler
    • getExperienceCloudIdWithCompletionHandler
    When the completionHandler is used, and you are retrieving the Mobile SDK values, the timeout value is 500ms; if the operation times out or is not successful, an NSError is returned.

The following updates were made in this release:

  • Fixed an issue which, was causing some hits to be delayed.
  • Fixed an issue where AnalyticsResponse events were not being dispatched even when the debug API was enabled.
  • Report extension details to Mobile Core for improved logging and Griffon support.
  • Improved existing log messages and added additional logging to assist with debugging.

The following updates were made in this release:

  • Fixed a cursor leak.
  • Mobile Core now shares the list of enabled extensions and their meta data through shared state.
  • Fixed an issue where the advertising identifier was duplicated in the response to the MobileCore.getSDKIdentifiers API.
  • Added support for overriding internal network stack with customer-provided code.
  • Added a new interface with failure callback, AdobeCallbackWithError, which can be used with the MobileCore.getPrivacyStatus and MobileCore.getSdkIdentities methods.
    We plan to gradually add the ability to enable failure callback to the other extensions.

  • Added support for the optional AdobeCallbackWithError callback that is available in Android Core version 1.5.0 on the following APIs:
    • appendVisitorInfoForURL
    • getUrlVariables
    • getIdentifiers