Release Notes
- Fixed a bug in AEPIdentity where CustomerIdentities with the same type could cause a crash.
- Added location hint result to EventSource keys for Edge.
- Fixed a bug preventing in-app messages from being dismissed in some situations.
- Added Target identities to MobileCore.getSDKIdentities response.
- Fixed a bug that prevents bundled rules from being retrieved from the correct location.
- Fixed a bug that prevents early events from being processed correctly by the rules engine.
- Removed unnecessary
AtomicBoolean
usage while listening to Android Activity lifecycle changes.
- Fix race conditions in HitQueue.
- Added support for bundled rules.
- Fixed a crash that can occur while extracting data from launch intent of an Android Activity.
- Fixed a crash that can occur during construction of a query string of IDs.
- Made improvements to retry logic when downloading the remote Configuration fails
- Made changes in Identity to speed up boot up
- Fixed a bug where early events do not properly get processed by the rules engine
- Improved Objective-C naming for MessagingDelegate methods
- Updated UI classes to respect safe area when showing fullscreen messages
- Added tvOS support.
- Fixed a few race conditions in the EventHub and MobileCore.
- Made changes in AEPIdentity to speed up boot.
- Fixed a crash which was caused by an exception thrown from the Android Activity class.
- Added a new API to the Extension protocol for getting the latest non-pending shared state.
- Added support for using Bundled Rules.
- Added support for cached images for Fullscreen Messages.
- Fixed a bug preventing Fullscreen Messages from being dismissed in certain conditions.
- Internal fixes to support In-App Messaging with the AEPMessaging extension.
- Improved extension stability by adding additional error checks when processing sync identifier requests.
- Adds two APIs to
Date+Format
class. MethodgetISO8601UTCDateWithMilliseconds
formats a Date to string as with fractional seconds and UTC time zone, whilegetISO8601FullDate
formats a Date to string with date without time using the local time zone. - Lifecycle foreground and background events for Edge Network now format timestamps with fractional seconds and UTC time zone.
- Updates the timestamp format for rule token
~timestampp
with fractional seconds and UTC time zone. This rule token is used to set the mobile property data element "Adobe Experience Platform Timestamp". - Improves Signal logging by treating all 2xx network responses as success.
- Fixes bug where dispatched events failed due to use of single quotes in name.
- Fixes format of push token string by uppercasing characters.
- Updates the timestamp format for rule token
~timestampp
with fractional seconds and UTC time zone. This rule token is used to set the mobile property data element "Adobe Experience Platform Timestamp".
- Lifecycle foreground and background events for Edge Network now format timestamps with fractional seconds and UTC time zone.
- Updates version for bundled ACPIdentity 2.5.2 release.
- Fixes intermittent issue for GetUrlVariables and AppendToUrl APIs when custom Analytics identifiers are being used.
- Added a
device_consent
status parameter whensetAdvertisingIdentifier
is called after ad tracking is enabled/disabled. - Added support to handle the MobileCore.resetIdentities() API.
- Fixes intermittent issue for GetUrlVariables and AppendToUrl APIs when custom Analytics identifiers are being used.
- Stability improvements for network connections.
Released with sdk-core version 1.10.0
- Added support for a new API
clearUpdatedConfiguration()
, see Configuration API reference for more details. - Added support for optionally capturing event history on the device.
- Added support for triggering rules engine conditions based on event history.
- Added public platform support for datastore and UI services.
- Add
@objc
attribute tomessageSettings
inFullscreenMessage
- Fixed AEPRulesEngine dependency in Package.swift
- Added support for a new API
clearUpdatedConfiguration()
, see Configuration API reference for more details. - Added support for optionally capturing event history on the device.
- Added support for triggering rules engine conditions based on event history.
- Expanded configuration options for Fullscreen Messages.
- Added support for delegating in-app message delivery.
- Stability improvements for Configuration extension and full screen messages.
- Configuration now allows for empty appId to reset the previously set appId value.
- Logging improvements for extensions registration flow.
- The Event Hub shares wrapper type in its shared state.
- Adds new messaging event type and sources.
- Deprecates SystemInfoService getApplicationVersion API.
- Fixes a bug where Identity.getIdentifiers API failed to encode the identifiers.
- Fixes intermittent issue for GetUrlVariables and AppendToUrl APIs when custom Analytics identifiers are being used.
- Fixed a bug where event number was not incremented correctly for shared states.
- Stability improvements for Configuration extension.
- Configuration now allows for empty appId to reset the previously set appId value.
- The Event Hub shares wrapper type in its shared state.
- Fixed an issue that was causing duplicate query parameters in a deep link to be removed.
- Bug fix to improve Signal stability.
- Fixed a bug where Date was not persisted correctly in iOS versions less than 13.
- Added session start time to Lifecycle shared state.
- Fixed a bug where the default Experience Cloud ID server URL was not used when the
experienceCloud.server
configuration parameter was an empty string.
- Added support for dispatch event rules consequence.
- Lifecycle extension now dispatches two new events
applicationLaunch
andapplicationClose
which contain Mobile Lifecycle metrics in XDM format. - Fixed an issue where application upgrades were detected based on changes in
CFBundleShortVersionString
instead ofCFBundleVersion
.
- Added support for dispatch event rules consequence.
- Added getFriendlyName API for third party extensions.
- Specifies mutability for PendingIntent in the UIService in preparation for Android 12 changes.
- Lifecycle extension now dispatches two new events
applicationLaunch
andapplicationClose
which contain Mobile Lifecycle metrics in XDM format.
- New
Foreground
andBackground
event types to be used in rules for triggering actions based on Mobile Application Lifecycle XDM events.
- Updated proguard rules to fix an issue which caused some extensions to not be registered correctly when using minification.
- Fixed data race in
Event
andExtensionContainer
classes. - Fixed a memory leak in
EventHub.registerResponseListener
.
- Fixed an issue in the
PersistentHitQueue
where new hits can cause additional scheduled tasks. - Improved handling of database errors in the
PersistentHitQueue
.
- Remove double URL encoding of AEPIdentity identifiers.
- Prevent possible crash at shutdown in EventHub.
- Fixed a Rules Engine bug affecting strings that contain the
&
character. - Fixed a bug where JSON objects containing empty strings were not handled correctly.
- Update version for bundled ACPIdentity 3.2.1 release.
- Fixed a bug where
Identity.syncIdentifier
andIdentity.syncIdentifiers
APIs would ignore the authentication state settings.
- Fixed a bug in the
PersistentHitQueue
where hits would be retried earlier than desired in certain scenarios - Fixed a bug where rule tokens with "&" were not handled correctly
- Minor change to how the SDK computes the operating system name
- Minor update to ensure compatibility with the latest Core 1.8.2
- Support for handling identities request
Event
's in AEPIdentity - Improve public visiblity of
RuleConsequence
- Added
getDeviceModelNumber
toSystemInfoService
- Various additions to
ThreadSafeDictionary
- Added the ability to make a network request with raw data that is not UTF encoded
- Fixed a bug where condition definitions that did not contain a value were not handled correctly
- Introduced an API to set button image data to the
FloatingButton
- Added
optimize
EventType
- Introduced an API to hide the
FullscreenMessage
- Fixed a bug where token (~ timestampu) was not expanded correctly
- Introduced
webViewDidFinishLoading
toFullScreenMessageDelegate
Note: This release introduces breaking changes to theNetworkService
and theSystemInfoService
.
- Added support for Event encode/decode.
- Update to use AEPRulesEngine 1.0.1.
- Fixed a Swift compatibility issue.
- Fixed a bug where the URL session was not reused for the same host.
- Fixed a Swift compatibility issue.
- Fixed a bug where Identity was blocked on the first launch if the configuration was invalid.
- Fixed a bug where incomplete eventhub shared state was created before the event hub has been started.
- New API -
MobileCore.collectLaunchInfo()
- see API reference for more information. - New API -
MobileCore.resetIdentities()
- see API reference for more information. - Added multiple new values to
EventType
andEventSource
. - Fixed a bug causing regular listeners to receive paired response events.
- Fixed a bug preventing proper data migration from v4 and v5 SDK.
- The callback method passed to
MobileCore.registerEventListener
now runs on a background thread. - Improved logging for dictionaries.
- The EventHub's shared state dictionary now uses the full name of each registered extension as its key.
- Fixed an issue where privacy status was not correctly loaded from persistence.
- Advertising ID can now correctly be set after having an initial value of "zeroes" or empty.
- Added support for UI Services.
- The Locale string used in HTTP Headers is now properly formatted.
- Fixed a bug that would sometimes prevent downloaded files from being properly unzipped.
- 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 Use
andDays Since Last Upgrade
metrics 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 Use
andDays Since Last Upgrade
metrics 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.registerEventListener
which 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
okhttp
library.
The brand new Adobe Experience Platform Core iOS swift SDKs are live! It is open sourced on github, containing the following extensions:
- AEPCore 3.0.0
- AEPServices 3.0.0
- AEPIdentity 3.0.0
- AEPSignal 3.0.0
- AEPLifecycle 3.0.0
- AEPRulesEngine 1.0.0
- 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
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 memory alignment issue that caused crashes in iOS 10.x.
- Update version for bundled ACPIdentity 2.4.0 release.
- Added a
device_consent
status parameter whensetAdvertisingIdentifier
is called after ad tracking is enabled/disabled. - The default Identity Server URL of
dpm.demdex.com
is used if the SDK configuration parameterexperienceCloud.server
is 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
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 tosetPushIdentifier
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.
- 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 tosetPushIdentifier
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 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
~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
.
Released with ACPCore version 2.7.2 on Cocoapods
- Updated the wrapper type strings used by SDK plugins.
- Added support for the token
~timestampp
which 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
Resolution
was 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
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: