All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support custom environment name as in the Target UI, Administration > Environments. defaults to production
- For CDN, we are always pointing to assets.adobetarget.com
- Additional support for complex domain parsing for on-device-decisioning
- Added an event that can be used to listen for errors when sending notifications
- Removed
version
import frompackage.json
- Client custom Mbox parameters now correctly support dot notation
- Updated dependencies to address security concerns
- Support for Client Hints
- (ODD) Fix pageLoad not being mapped to target-global-mbox
- Fix Node.js SDK package-lock not being updated
- Dev dependency upgrades to fix security vulnerabilities
- Add repository info in
package.json
- Updated Delivery API client openapi models
- Handle
telemetryServerToken
from Delivery API, which includes request-level telemetry collected within the API
- Collect http-level telemetry for all requests when using the default fetch implementation
2.2.1 - 2021-08-30
- When a
propertyToken
value is specified in the config options, the property-specfic On-device decisioning artifact is downloaded.
- Update minor version instead of patch for SDK telemetry data collection
- Added SDK telemetry data collection
- Automated Delivery API client openapi codegen
- Added A4T prefetch metrics in the Delivery API response
- Added notifications in the Delivery API response
- Export
target-tools
as ES6 modules forbrowser
environment
- Adjust browser export to help with Rollup tree shaking
- Updated the UUID generation to use NodeJS
crypto
orwindow.crypto
in a browser environment
2.1.1 - 2021-03-04
- (on-device decisioning) Updated the bucketing algorithm to be consistent across all platforms
2.1.0 - 2021-01-11
- (on-device decisioning) Updated allocation calculation to be identical to Target Delivery API ( Allocation is determined using the first non-null visitor id in this order 1. ECID, 2. TNTID, 3. Third Party ID )
- (on-device decisioning) Changed allocation calculation when using tntId to include just the ID without the locationHint
- (server-side decisioning) Support for using imsOrgId in the config. This can be used instead of client for calls to Delivery API.
2.0.0 - 2020-10-26
- Support for on-device decisioning
- New parameters added in create() when initializing the Node.js SDK
- decisioningMethod
- pollingInterval
- artifactLocation
- artifactPayload
- events
- New method getAttributes() to fetch experimentation and personalized experiences from Target and extract attribute values.
- Campaign macro support
- renamed
locationHintCookie
tolocationHint
in getOffers call - Replaced the the delivery request implementation with one based on Fetch. This allows the sdk to function in both node.js and browser environments.
- Modified sendNotifications to use Navigator.sendBeacon if run in a browser environment.
- Migrated tests from jasmine to jest
- Changed to a mono repo structure using lerna to support multiple packages
- target-nodejs-sdk - the sdk was moved inside the packages folder
- target-decisioning-engine - adds the ability to load target rules and evaluate them locally instead of making a delivery api request
- target-tools - shared code and config between the above packages
1.1.0 - 2020-06-09
- Support for providing an IP Address when a getOffers call is made using the request>context>geo object. see sample usage
1.0.3 - 2019-10-10
- Minor README updates
1.0.1 - 2019-10-09
- Target View Delivery v1 API support, including Page Load and View prefetch
- Full support for delivering all types of offers authored in Visual Experience Composer
- Support for prefetching and notifications, that allows for performance optimization by caching prefetched content
- Support for optimizing performance in hybrid Target integrations via
serverState
, when Target is deployed both on the server-side and on the client-side - We are introducing a setting calledserverState
that will contain experiences retrieved via server-side, so that at.js v2.2+ will not make an additional server call to retrieve the experiences. This approach optimizes page load performance. - Open sourced on GitHub as Target Node.js SDK
- New sendNotifications() API method, for sending displayed/clicked notifications to Target for content prefetched via getOffers()
- Simplified View Delivery API request building, with internal field auto-completion with defaults
(e.g.
request.id
,request.context
etc.) - Validation of SDK API method arguments
- Updated README, samples and unit tests
- New CI flow set up using GitHub Actions
- Added CoC, Contribution guidelines, PR and issue templates
- Project renamed to
target-nodejs-sdk
- Major refactoring, replacing Target BatchMbox v2 API with Target View Delivery v1 API
- create() API method arguments have been modified, removing redundant nesting (see old method declaration here)
- getOffers() API method arguments have been modified (see old method declaration here)
getTargetCookieName()
API method has been replaced withTargetCookieName
accessor, see TargetClient utility accessorsgetTargetLocationHintCookieName()
API method has been replaced withTargetLocationHintCookieName
accessor, see TargetClient utility accessors
- Target BatchMbox v2 API support
- getOffer() API method has been removed, use getOffers() API method instead