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.
- 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
versionimport 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
telemetryServerTokenfrom 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
propertyTokenvalue 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-toolsas ES6 modules forbrowserenvironment
- Adjust browser export to help with Rollup tree shaking
- Updated the UUID generation to use NodeJS
cryptoorwindow.cryptoin 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
locationHintCookietolocationHintin 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 calledserverStatethat 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.contextetc.) - 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 withTargetCookieNameaccessor, see TargetClient utility accessorsgetTargetLocationHintCookieName()API method has been replaced withTargetLocationHintCookieNameaccessor, see TargetClient utility accessors
- Target BatchMbox v2 API support
- getOffer() API method has been removed, use getOffers() API method instead