@kameleoon/javascript-sdk-core 5.14.3 → 5.14.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Change Log
2
2
 
3
+ ## 5.14.5 (2025-08-20)
4
+
5
+ > [!WARNING]
6
+ > If you're upgrading from a version earlier than 5.14.0 and run into any unexpected build or SDK-related issues, please reach out to the Kameleoon Support Team. We're here to ensure your transition is smooth and will promptly address any concerns.
7
+
8
+ ### Patch Changes
9
+
10
+ - Corrected the logic for sending tracking data to comply with GDPR requirements.
11
+
12
+ ## 5.14.4 (2025-08-13)
13
+
14
+ > [!WARNING]
15
+ > If you're upgrading from a version earlier than 5.14.0 and run into any unexpected build or SDK-related issues, please reach out to the Kameleoon Support Team. We're here to ensure your transition is smooth and will promptly address any concerns.
16
+
17
+ ### Patch Changes
18
+
19
+ - Fixed an issue where using [`getRemoteVisitorData`][getRemoteVisitorData] with `personalization=true` or [`evaluateAudiences`][evaluateAudiences] could cause a visitor’s targeting data to be unexpectedly removed from storage.
20
+
3
21
  ## 5.14.3 (2025-08-12)
4
22
 
5
23
  > [!WARNING]
@@ -5271,6 +5271,8 @@ class IntegrityChecker {
5271
5271
  switch (key) {
5272
5272
  case exports.KameleoonData.PageView:
5273
5273
  case exports.KameleoonData.Conversion:
5274
+ case exports.KameleoonData.Personalization:
5275
+ case exports.KameleoonData.TargetedSegment:
5274
5276
  case exports.KameleoonData.CustomData: {
5275
5277
  const hasBadFields = Object.values(data).some((obj) => hasInvalidFields(obj));
5276
5278
  if (hasBadFields) {
@@ -7783,14 +7785,15 @@ class BodyProvider {
7783
7785
  }
7784
7786
 
7785
7787
  class Tracker {
7786
- constructor({ dataManager, trackingStorage, variationConfiguration, trackingInterval, requester, prng, }) {
7788
+ constructor({ dataManager, trackingStorage, variationConfiguration, trackingInterval, requester, prng, clientConfiguration, }) {
7787
7789
  this.intervalId = null;
7788
- KameleoonLogger.debug `CALL: new Tracker(dataManager, trackingStorage, variationConfiguration, trackingInterval: ${trackingInterval}, requester, prng)`;
7790
+ KameleoonLogger.debug `CALL: new Tracker(dataManager, trackingStorage, variationConfiguration, trackingInterval: ${trackingInterval}, requester, prng, clientConfiguration)`;
7789
7791
  this.dataManager = dataManager;
7790
7792
  this.trackingStorage = trackingStorage;
7791
7793
  this.variationConfiguration = variationConfiguration;
7792
7794
  this.requester = requester;
7793
7795
  this.bodyProvider = new BodyProvider(prng);
7796
+ this.clientConfiguration = clientConfiguration;
7794
7797
  try {
7795
7798
  this.intervalId = setInterval(() => {
7796
7799
  this.sendDataAll();
@@ -7800,7 +7803,7 @@ class Tracker {
7800
7803
  this.intervalId && clearInterval(this.intervalId);
7801
7804
  throw err;
7802
7805
  }
7803
- KameleoonLogger.debug `RETURN: new Tracker(dataManager, trackingStorage, variationConfiguration, trackingInterval: ${trackingInterval}, requester, prng)`;
7806
+ KameleoonLogger.debug `RETURN: new Tracker(dataManager, trackingStorage, variationConfiguration, trackingInterval: ${trackingInterval}, requester, prng, clientConfiguration)`;
7804
7807
  }
7805
7808
  scheduleVisitor(visitorCode, isConsentProvided) {
7806
7809
  KameleoonLogger.debug `CALL: Tracker.scheduleVisitor(visitorCode: ${visitorCode}, isConsentProvided: ${isConsentProvided})`;
@@ -7985,8 +7988,10 @@ class Tracker {
7985
7988
  if (!data.url) {
7986
7989
  continue;
7987
7990
  }
7988
- if (!isConsentProvided && (data instanceof StaticData ||
7989
- data.data.type !== exports.KameleoonData.Conversion)) {
7991
+ if (!isConsentProvided &&
7992
+ (!this.clientConfiguration.hasAnyTargetedDeliveryRule ||
7993
+ data instanceof StaticData ||
7994
+ data.data.type !== exports.KameleoonData.Conversion)) {
7990
7995
  continue;
7991
7996
  }
7992
7997
  resultData.push(data);
@@ -8123,6 +8128,7 @@ class KameleoonClient {
8123
8128
  requester,
8124
8129
  trackingInterval: clientSettings.trackingInterval,
8125
8130
  prng: externalPRNG,
8131
+ clientConfiguration,
8126
8132
  });
8127
8133
  this.tracker = tracker;
8128
8134
  this.variationConfiguration = variationConfiguration;