Releases: adobe/aepsdk-edgeidentity-android
Releases · adobe/aepsdk-edgeidentity-android
v3.0.0
Release Notes
Major version update for Identity for Edge Network Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 3.0.0. The current release includes the following changes:
- Updated the minimum supported Android API level to 21.
- Removed deprecated
registerExtension
API. Use the MobileCore.registerExtensions() API for registering extensions and initializing the SDK instead.
What’s Changed
- Merge to Main for 3.0.0 release. (#128) @kevinlind
- Merge dependency updates to Staging (#127) @kevinlind
- Update Core dependency to 3.0.0 (non snapshot) version (#126) @kevinlind
- 3.0.0 release final dev-v3.0.0 -> staging (#125) @cacheung
- cleanup before the release (#124) @cacheung
- dev-v3.0.0 --> staging : doc changes and snapshot update in the app (#121) @cacheung
- Remove deprecated API, update bom file setup in the docs and update gradle to use snapshot build (#120) @cacheung
- Merge to Staging for v3.0.0 relase (#119) @kevinlind
- Create CI build path parameter (#118) @cacheung
- Update Spotless and format licenses (#117) @cacheung
- Android 3.0.0 migration update (#116) @cacheung
- Fix Gradle files's lint warnings (#114) @cacheung
v2.0.1
What's Changed
Added validation to ignore IdentityItem
s with an empty ID value.
Fixed an issue where the getUrlVariables
API may fail to generate a response on Android 6 (API 23) devices.
- Remove Kotlin Syntax in api doc by @cacheung in #101
- Do not allow IdentityItems with empty ids (resolves #100) by @kevinlind in #102
- Update license by @emdobrin in #103
- Switch to use Charset.forName("UTF-8").name() in encoding by @cacheung in #107
- Bump up version to 2.0.1 by @cacheung in #109
- Update License text and api-reference.md from the review comments by @cacheung in #112
- dev-v2.0.1 -> staging by @cacheung in #110
- 2.0.1 release staging -> main by @cacheung in #113
Full Changelog: v2.0.0...v2.0.1
v2.0.0
What's Changed
- Upgrade AGP, Gradle, language dependencies by @prudrabhat in #75
- Adopt changes in Core 2.0 by @prudrabhat in #76
- Adopt Log service and DataStoreService changes from Core 2.0 by @prudrabhat in #77
- Remove Powermock and fix unit and functional tests by @prudrabhat in #78
- Use Constants from Core and add friendly name by @prudrabhat in #79
- Update dependencies, remove jetifier by @emdobrin in #80
- Set pending shared state before updating Identity Map by @kevinlind in #81
- Update dependencies by @emdobrin in #82
- Adding annotations on public APIs by @emdobrin in #83
- dev-v2.0.0 -> staging by @emdobrin in #84
- java 11 for release workflow by @emdobrin in #85
- Fix use of 'allowEmpty' parameter in IdentityProperties.toXDMData() by @kevinlind in #86
- dev-v2.0.0 -> staging with updates by @emdobrin in #87
- Refactor functional test helper to use NamedCollection by @timkimadobe in #88
- Update doc for v.2.0.0 and use Core MapUtils by @cacheung in #89
- Dev v2.0.0 -> Staging for second snapshot by @cacheung in #92
- Update registerExtension API doc link by @cacheung in #93
- Update gh issue templates by @emdobrin in #96
- Update dependencies to core extensions by @emdobrin in #94
- Annotate IdentityMap/IdentityItem APIs for kotlin by @emdobrin in #97
- Add Kotlin sample for API reference by @addb in #95
- dev-v2.0.0 -> staging by @emdobrin in #98
- staging -> main for 2.0.0 release by @emdobrin in #99
New Contributors
- @prudrabhat made their first contribution in #75
Full Changelog: 1.1.0...v2.0.0
v1.1.0
Highlights
- Added the getUrlVariable API to support passing the visitor ID from a mobile app to a web view.
- Added support for advertising identifier and ad tracking consent collection.
- Internal fixes for IdentityMap deserialization.
- Documentation for API reference and advertising id testing.
- Test app updates for the new APIs.
- Code formatting and code coverage support.
What's Changed
- Add CodeCov upload step for unit and functional tests by @kevinlind in #47
- Fix broken link in README by @kevinlind in #48
- Include code format tools by @kevinlind in #49
- [MOB-15718] Updates the parsing of invalid identityMap by @emdobrin in #52
- Feature implementation for supporting advertising identifier by @timkimadobe in #53
- Testing implementation for supporting advertising identifier by @timkimadobe in #56
- Test App Update for Ad ID Edge Identity Features by @timkimadobe in #57
- Update Readme for demo app setup steps by @cacheung in #60
- [MOB-15817] Add getUrlVariables public API by @addb in #59
- [MOB-15818] Added documentation directory with getting started guide and api reference pages by @addb in #61
- Update Edge build in test app for feature testing by @emdobrin in #62
- New Documentation directory for detailed documentation by @timkimadobe in #58
- Update env file ID var name and help text for consistency by @timkimadobe in #64
- Support for advertising identifier and adId consent collection by @emdobrin in #63
- Documentation update: setAdvertisingIdentifier API reference by @timkimadobe in #65
- Documentation update: setAdvertisingIdentifier API reference (#65) by @emdobrin in #66
- Fetch dev branch to get the AdId implementation and documentation by @addb in #67
- Feature: Added new getUrlVariables API by @addb in #68
- Bump version to 1.1.0 by @addb in #69
- Update Android test app to use ad ID feature comment blocks by @timkimadobe in #71
- Dev->Staging v1.1.0 Release by @addb in #70
- Staging -> Main v1.1.0 Release by @addb in #72
New Contributors
- @nporter-adbe made their first contribution in #4
- @timkimadobe made their first contribution in #53
- @cacheung made their first contribution in #60
- @addb made their first contribution in #59
Full Changelog: 1.0.0...1.1.0
v1.0.0
Staging -> Main v1.0.0 (#45) * Setup project (#1) * Update README and add boilerplate leagal docs * Add top-level .gitignore * Add base IdentityEdge extension * Add Makefile * Add CircleCI config * Rename files from IdentityEdge to Identity * Update README installation instructions * Use extension name constant. * [AMSDK-11119] - Rename to IdentityEdge, Move to identity package + added Listeners (#2) * [AMSDK-11119] - Rename to IdentityEdge, Move to identity package + listeners * Add functional testing to CI (#3) * Add circleci job to run functional tests in an emulator * Fix yaml formatting in circleci config * rename circleci job to build-and-unit-test * Call Make targets when running functional tests * [AMSDK-11019] ECID handling in Identity Edge (#4) * Add ECID and tests * Add IdentityMap from Edge extension * Create IdentityEdgeProperties and tests * Add utils copied from Edge * Create storage service * Add required constants * Create IdentityEdgeState and tests * Rename extension version test class * Add doc comment * Doc comment for storage service * Remove configuration handling * Fix IdentityEdgeState log tag * update event names * Make ECID parameter final * Update class comment for IdentityEdgeProperties * Make getECID protected * getIdentityProperties -> getIdentityEdgeProperties * Remove config listener and remove unused imports * Make IdentityEdgeState methods protected * Add test for ECID(final String ecidString) * Remove config listener * Fix complier issue * Remove test to be added in a following PR * persist data in xdm format * Use extension name as datastore name * Update listener doc comment * Update event type in doc comment * Save after generating ECID and add assertion in test * Add null check in IdentityMap.fromData * Add null check in IdentityEdgeProperties.readECIDFromIdentityMap * Improve doc comments, logs, and handle empty/null ECID string * Add tests for storage service * [AMSDK-11079] Add getEcid API (#5) * Add ECID and tests * Add IdentityMap from Edge extension * Create IdentityEdgeProperties and tests * Add utils copied from Edge * Create storage service * Add required constants * Create IdentityEdgeState and tests * Rename extension version test class * Add doc comment * Doc comment for storage service * Remove configuration handling * Fix IdentityEdgeState log tag * update event names * Make ECID parameter final * Update class comment for IdentityEdgeProperties * Make getECID protected * getIdentityProperties -> getIdentityEdgeProperties * Remove config listener and remove unused imports * Make IdentityEdgeState methods protected * Add test for ECID(final String ecidString) * Remove config listener * Start on public API * Fix complier issue * Remove test to be added in a following PR * persist data in xdm format * Use extension name as datastore name * Update listener doc comment * Update event type in doc comment * Save after generating ECID and add assertion in test * Add null check in IdentityMap.fromData * Add null check in IdentityEdgeProperties.readECIDFromIdentityMap * Add tests for IdentityEdgeExtension ECID getter * Add copyright to IdentityEdgeExtensionTests * Add tests for public get ECID API * Improve doc comments, logs, and handle empty/null ECID string * Add tests for storage service * remove unused import * Fix comments and logs * Fix listener event source * fix listener source in tests * Revert un-needed listener change * Handle case where there are empty IDs * Add null check for identity map * Invoke with empty identity map when no ECID found and replace ecidString with toString * Move ECID read to IdentityMap * use raw data for API tests * Ensure when IdentityEdgeProps is empty we dispatch an empty map * Add test with invalid event data * add log when failing to get extension api * [AMSDK-11127] Reset Identities API (#6) * Add resetIdentties API * Add required constants * Add reset listener * Handle reset event * Add test for handleRequestEvent * Add ticket number in TODO * Update test_ListenersRegistration for new listener * Improve log and null check * Don't allow empty when setting shared state and assert ECID length on regeneration * improve assertion * [AMSDK-11081] - Update Identities public API (#7) * [AMSDK-11081] - Rename listener tests * [AMSDK-11081] - Listeners for remove and update Identity requests + tests * [AMSDK-11081] - UpdateIdentity Public API * Add IdentityItem to IdentityMap (#8) * Add IdentityItem * Add tests for identity item * add convince overloaded constructor * Throw IllegalArgumentException if id null and add test * Add override for hashCode * Update access levels and update API signatures in IdentityItem * Clean up merge * Fix java doc * fix java doc * invert expression * Deep copy on getIdentityItemsForNamespace * Invert params * Add throws to javadoc * move throws doc to bottom of comment * use @link for javadoc * Rename IdentityEdge event type to EdgeIdentity * Add final * Add test for equals * Fix assertion * Add import * [AMSDK-11082] Get identities API (#11) * Add getIdentities API * Add java doc and fix event name in log * Rename test * Use JSON string for test and update auth state json key * Fix auth key in tests * fix sentence in java doc * [Dev] - Introducing the Goodness of Functional test helpers + First functional test (#9) * [Dev] - Add the functional test helpers + first valid functional test * [Dev] - First functional test * [Dev] - Assertion fail on misread of persistence in TestPersistence helper method * Migrate ECID from direct Identity extension (#13) * Add method to load ECID from direct Identity datastore. * Load ECID from direct identity during IdentityState bootup * Add secondary ecid to IdentityProperties * Add API to update legacy ECID in IdentityState * Add listener for Hub Shared State changes from direct Identity to update legacy ECID value. * Correct copywrite on new files * Make ListenerHubSharedStateTests class public * handle class cast exceptions and mark local variables final * Make ECID class final and add unit tests for equals and hashCode * Correct documentation in ListenerHubSharedState * final local variables * [AMSDK-11210] Remove reset identities API (#12) * Remove rest identities API * Update doc comment in listener * Add reset complete event source * Update event source for reset response event * Add unit test to verify secondary Ecid is not set if primary is not set (#15) * Add unit test to verify secondary ECID is not set if primary is not set * Make class variables final * [AMSDK-11081] - Part 2 Implementation of Update/Remove Identity API (#14) * [AMSDK-11081] - Update/Remove Identity API implementation * [AMSDK-11081] - Unit test for IdentityMap and RemoveIdentity Public API * [AMSDK-11081] - More Unit test for update/Remove * [AMSDK-11081] - Few more edits to unittests * [AMSDK-11081] - better naming and typo fixes * [AMSDK-11081] - rearrange parameters, setECID handling, case-insensitive search and more * [AMSDK-11081] - Caseinsensitive removal of reserved namespace items + cleanup * [AMSDK-11081] - cleanup and renaming * [Dev] - AuthenticationState Renaming and Remove ECID variable (#16) * [AMSDK-11081] - Rename listener tests * [AMSDK-11081] - Listeners for remove and update Identity requests + tests * [AMSDK-11081] - UpdateIdentity Public API * [AMSDK-11081] - Fix spacings in IdentityMap class * [Dev] - Add the functional test helpers + first valid functional test * [Dev] - First functional test * [Dev] - Assertion fail on misread of persistence in TestPersistence helper method * [AMSDK-11081] - Update/Remove Identity API implementation * [AMSDK-11081] - Unit test for IdentityMap and RemoveIdentity Public API * [AMSDK-11081] - More Unit test for update/Remove * [AMSDK-11081] - Few more edits to unittests * [AMSDK-11081] - better naming and typo fixes * [AMSDK-11081] - rearrange parameters, setECID handling, case-insensitive search and more * [AMSDK-11081] - Caseinsensitive removal of reserved namespace items + cleanup * [AMSDK-11081] - cleanup and renaming * [Dev] - Rename enum to AuthenticatedState and fix its toString * [Dev] - Enum AuthenticatedState * [Dev] - removed local ecid and secondaryECID local instances variables * [AMSDK-11081] - final on IdentityMap, enum string comparison change * [AMSDK-11140] Renaming to edgeidentity (#17) * [AMSDK-11140] Renaming to edgeidentity rename package to edge.identity rename module to edgeidentity rename to edgeidentity, extension name, class, listeners, constants Rename internal classes to Identity* rename to testApp Renaming in Makefile, readme * Updates after rebase * Review impl - circleci update after renaming * Don't dispatch reset complete on boot/update/remove (#18) * [AMSDK-11312] - Handle boot event + Bugfixes (#19) * [AMSDK-11312] - Handle Boot event and share initial shared state * [AMSDK-11312] - Bug fix on merge Identities * [AMSDK-11312] - Bootsup during extension registration * [AMSDK-11312] - update tests for boot up change * Cleanup asXDMIdentityMap + unit test renaming * Add sample app (#20) * Use correct direct Identity data store name * Override toString in IdentityMap and IdentityItem * Add Kotlin test app for IdentityEdge * Add fragment for starting an Assurance session * Remove unused test files from sample app. * Add implementations for send event and reset identities buttons. * Add Application class to initialize SDK and extensions * Add network security config to AndroidManifest * Comment out call to resetIdentities as API in Core is not yet released * Remove Java app * Rename 'appkt' to 'app' and move files to 'code/app' * Remove launch environment ID * Rename test app package from 'appkt' to 'app' * fix IdentityMap.toString to handle case where map is empty. * Use correct AuthenticatedState.loggedOut string * Save custom identifier UI entries and update UI with saved values when page is viewed. * Remove copyright from non-source files (Manifest, layouts, drawables, etc). * Make StringBuilder final in IdentityMap.toString() * Print AuthenticatedState string when calling IdentityItem.toString (#22) * [AMSDK-11329] - Functional tests on Edge Identity (#21) * [AMSDK-11329] - Functional test for EdgeIdentity * [Dev] : 🧼 Clean up - log, sonar Lint + remove unwanted methods (#24) * [Dev] - Log fixes + cleanup + fix sonarlint issues * Add contributing guide and templates (#28) * Update build scripts for publishing directly to Sonatype (#25) * Update build script for publishing to sonatype and removing publish to bintray and artifactory. * Update Makefile with publish targets for sonatype * Remove publish job from CircleCI configuration. * Create common build-release Makefile target used by publish targets * Only include Core dependency when generating POM file for publish * Remove extra bracket from build.gradle * Set version to 1.0.0 * Create maven-snapshot.yml (#26) * Create maven-snapshot.yml * Use Java 1.7 * Create maven-release.yml (#27) * Create maven-release.yml * Use Java 1.7 * Fix step name, publish to staging repo * Update core dependency to 1.8.0 (#30) * Update core dependency to 1.8.0 * Add todo to remove mvn url for core * Run astyle to correct formatting (#31) * Update failing tests (#34) * Wait for test threads to finsh to allow direct Identity extension to register * In ECID handling tests, register both extensions after directly setting legacy ECID in persistence. * Run 'lint' before assembling build (#35) * Use Java 8 as it is required for Gradle (#33) * Use Java 8 as it is required to run Gradle (#32) * Dev -> staging for 1.0.0 release (#43) * Use GPG_KEY_ID secret in script (#38) * Use GPG_KEY_ID secret in script (#37) * Set mock network service for functional tests (#41) * Read ECID from IdentityDirect on Boot when registered (#40) * [AMSDK-11399] Handle install scenario, when Identity direct registered * [AMSDK-11399] Cleanup, IdentityState unit tests * Rename test app * [AMSDK-11399] Add docs for new code * [AMSDK-11399] Cache events locally until the extension is booted up * [AMSDK-11399] Fix unit tests * Code format * [AMSDK-11399] New tests, fix resetIdentities event source * [AMSDK-11399] Cleanup * [AMSDK-11399] Fix null check for getApi * [AMSDK-11399] Review - docs, cleanup * Update core version 1.8.0 (#42) * Fetch identity shared state when needed (#44) Co-authored-by: Kevin Lind <40409666+kevinlind@users.noreply.github.com> Co-authored-by: Nick Porter <43650450+nporter-adbe@users.noreply.github.com> Co-authored-by: Emilia Dobrin <33132425+emdobrin@users.noreply.github.com> Co-authored-by: Emilia Dobrin <dobrin@adobe.com>