- New API - Public platform services for network, data queue, device info.
- New API -
MobileCore.resetIdentities()- See API Reference for more information - New API -
MobileCore.dispatchEventWithResponseCallback()- See API Reference for more information. - The EventHub's shared state dictionary now uses the full name of each registered extension as its key.
- No longer generate invalid values for
Days Since Last Use,Days Since First UseandDays Since Last Upgrademetrics when the time setting on the device is off.
- Fixed a Rules Engine bug affecting strings that contain regex escaping characters (one of
*?+{) in the following matcher types:- Contains
- Not Contains
- Starts With
- Ends With
- Update version for bundled ACPIdentity 2.5.1 and ACPLifecycle 2.2.1 release.
- Fixed a bug where the visitor URL variables was using a TS in milliseconds instead of seconds.
- No longer generate invalid values for
Days Since Last Use,Days Since First UseandDays Since Last Upgrademetrics when the time setting on the device is off.
- Fixed a crash which was caused by the exception thrown from the Android okhttp library.
- Added new public APIs to set XDM shared state.
- Added a new API
MobileCore.configureWithFileInAssets()which allows the app to use a config file in the app's Assets folder.
- Fixed a crash which happened in
AdobeMarketingMobile::StringUtils
- Added a new API
MobileCore.registerEventListenerwhich can be used to register a permanent event listener. - Fixed a bug which prevented cached configuration being loaded during app launch.
- Fixed a crash which was caused by the exception thrown from the Android
okhttplibrary.
- 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
-
Fix issue where push identifier had incorrect value in Identity shared state when
setPushIdentiferwas 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
setPushIdentiferwas not called on each launch.
- Fixed a memory alignment issue that caused crashes in iOS 10.x.
- Update version for bundled ACPIdentity 2.4.0 release.
- Added a
device_consentstatus parameter whensetAdvertisingIdentifieris called after ad tracking is enabled/disabled. - The default Identity Server URL of
dpm.demdex.comis used if the SDK configuration parameterexperienceCloud.serveris either missing or an empty string.
- Fixed several crashes that were happening during app shutdown.
- Fixes an issue where the EventHub could be blocked by synchronous network calls returning recoverable errors.
- 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
Etagcontains 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 tosetPushIdentifieris 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.
- 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 tosetPushIdentifieris 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 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.
- Updated the wrapper type strings used by SDK plugins.
- Added support for the token
~timestamppwhich complies with the Adobe Experience Platform Edge Network. - Another attampt to fix the crash on
std::__1::system_error: mutex lock failed: Invalid argument.
Released with ACPCore version 2.7.2 on Cocoapods
- Updated the wrapper type strings used by SDK plugins.
- Added support for the token
~timestamppwhich complies with the Adobe Experience Platform Edge Network.
- Fixed an intermittent bug where Identity data was not loading at SDK initialization time.
Released with ACPCore version 2.7.1 on Cocoapods
- Added tvOS compatibility
- Version 2.7.0 onwards, binaries are built with Xcode 11.0
- Fixed a crash which happened in AdobeMarketingMobile::ModuleEventListenerBase
- 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
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.
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 several security issues.
- Improved existing log messages and added additional logging to assist with debugging.
- Fixed a bug where the
Resolutionwas captured in non-English numerals.
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.
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:
- 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
NSErrorobject:getPrivacyStatusWithCompletionHandlergetSdkIdentitiesWithCompletionHandler
-
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:withCompletionHandlergetUrlVariablesWithCompletionHandlergetIdentifiersWithCompletionHandlergetExperienceCloudIdWithCompletionHandler
When the
completionHandleris used, and you are retrieving the Mobile SDK values, the timeout value is 500ms; if the operation times out or is not successful, anNSErroris returned.
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.getSDKIdentifiersAPI. -
Added support for overriding internal network stack with customer-provided code.
-
Added a new interface with failure callback,
AdobeCallbackWithError, which can be used with theMobileCore.getPrivacyStatus,MobileCore.getSdkIdentitiesmethods.We plan to gradually add the ability to enable failure callback to the other extensions.
-
Added support for the optional
AdobeCallbackWithErrorcallback that is available in Android Core version 1.5.0 on the following APIs:appendVisitorInfoForURLgetUrlVariablesgetIdentifiersgetExperienceCloudId
When the
AdobeCallbackWithErroris used, and you are retrieving the Mobile SDK values, the timeout value is 500ms; if the operation times out or is not successful, anAdobeErroris returned.
Released with sdk-core version 1.5.0.
The following updates were made in this release:
iOS Core 2.4.0
- Added a new property,
eventUniqueIdentifier, to theACPExtensionEventclass. - Fixed an issue where the advertising identifier was duplicated in the response of the
getSDKIdentifiersAPI. - Fixed an issue where the SDK was trying to download the rules multipile times immediately after app launch.
- Fixed a crash on
std::__1::system_error: mutex lock failed: Invalid argument. - Fixed a bug where the iOS fullscreen message was unable to load cached images.
The following updates were made in this release:
- Synced custom and advertising identifiers with nil or empty values are now cleared from Identity shared state and local storage. They are also not synced with the Experience Cloud ID (ECID) Service.
- Fixed a threading issue where the Experience Cloud ID (ECID) Service response was handled on an incorrect thread potentially causing a memory corruption crash.
These changes were released as part of ACPCore CocoaPod v2.3.6.
The following updates were made in this release:
- Added support for attach data rules consequence.
- Added support for a boolean-type comparison for the Exist or Not Exist rules condition.
- Added support for attach data rules consequence.
- Added support for a boolean-type comparison for the Exist or Not Exist rules condition.
- Fixed a bug where the Exist and Not Exist rules condition might not work for a List or Map type value.
- Fixed a bug that, when fetching the remote config from Launch, might cause a crash on some Android devices.
- Fixed a bug that, when the data URL of an activity did not contain valid schema, might cause a crash.
- Fixed a bug where the default Experience Cloud Server hostname is now used when no value is configured in the SDK.
- Fixed a bug where multiple custom identifiers with same idType value were synced with the Visitor ID Service.
- Custom visitor identifiers can now be cleared from the SDK by providing a null/empty identifier value for a previously synced idType.
The following updates were made in this release:
- Fixed a crash that might have happened during app shutdown..
- Fixed a bug where, when the SDK is being used in multiple threads, the SDK might not function under a race condition..
- Fixed a bug where the downloaded rules zip file might not be decompressed.
- Fixed a bug where the getSdkIdentities API used wrong key names for the Push ID and IDFA.
- Removed the usage of UIWebView.
- Extension listeners with null/empty type or source is now invalid and will not be registered.
- Fixed an issue where the push identifier is not contained in the Identity shared state on bootup.
- Fixed an issue where appendToUrl uses the incorrect query delimiter when the source URL contains a question mark in its fragment identifier component.
The following updates were made in this release:
- Starting in API level 16, notifications now support BigTextStyle.
- This enables long notifications to be displayed without being truncated.
- Fixed the locale string in the HTTP User-Agent to follow the BCP 47 specification.
The following updates were made in this release:
- Custom identifiers with null or empty IDs are ignored when calling the syncIdentifier or syncIdentifiers APIs because the Visitor ID Service does not support these identifiers.
- The syncIdentifiers API call is ignored when there is an empty Map.
- The duplicate advertising identifier value is removed from the Identity-shared state when MobileCore.setAdvertisingIdentifier is called with a new value.
- The global.ssl configuration settings are ignored, and SSL is enabled by default.
- Fixed an issue where appendVisitorInfoForURL uses the wrong query delimiter when the source URL contains a question mark in its fragment identifier component.