@kameleoon/javascript-sdk-core 5.16.0 → 5.17.0
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 +16 -1
- package/dist/clientConfiguration/clientConfiguration.d.ts +4 -1
- package/dist/clientConfiguration/constants.d.ts +2 -3
- package/dist/clientConfiguration/types.d.ts +5 -0
- package/dist/javascript-sdk-core-browser.cjs.js +225 -96
- package/dist/javascript-sdk-core-browser.cjs.js.map +1 -1
- package/dist/javascript-sdk-core-browser.es.js +225 -96
- package/dist/javascript-sdk-core-browser.es.js.map +1 -1
- package/dist/javascript-sdk-core.cjs.js +225 -96
- package/dist/javascript-sdk-core.cjs.js.map +1 -1
- package/dist/javascript-sdk-core.es.js +225 -96
- package/dist/javascript-sdk-core.es.js.map +1 -1
- package/dist/kameleoonClient.d.ts +2 -0
- package/dist/kameleoonData/conversion.d.ts +12 -0
- package/dist/kameleoonData/customData.d.ts +20 -4
- package/dist/kameleoonData/dataManager.d.ts +3 -2
- package/dist/kameleoonData/dataProcessor.d.ts +2 -2
- package/dist/kameleoonData/types.d.ts +5 -3
- package/dist/requester/constants.d.ts +1 -1
- package/dist/requester/urlProvider.d.ts +1 -0
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/types.d.ts +13 -5
- package/dist/variationConfiguration/types.d.ts +2 -0
- package/dist/variationConfiguration/variationConfiguration.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 5.17.0 (2025-12-17)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Fixed an issue where **[Kameleoon Data](https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk/#data-types)** was retained beyond the configured **[`targetingDataCleanupInterval`](https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk/#configuration-parameters)** if the **[Data API](https://developers.kameleoon.com/apis/data-api-rest/all-endpoints/post-visit-events/)** encountered internal errors. Expired data is now reliably removed in accordance with the cleanup interval.
|
|
8
|
+
- Updated evaluation and tracking logic to comply with GDPR requirements when consent is not given:
|
|
9
|
+
- If behavior is **partially blocked**, the default variation will be returned.
|
|
10
|
+
- If behavior is **completely blocked**, an exception will be thrown.
|
|
11
|
+
|
|
12
|
+
## 5.16.1 (2025-10-23)
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Fixed an issue where [`Conversion`](Conversion) metadata initialized with a name was not tracked.
|
|
17
|
+
|
|
3
18
|
## 5.16.0 (2025-10-22)
|
|
4
19
|
|
|
5
|
-
###
|
|
20
|
+
### Features
|
|
6
21
|
|
|
7
22
|
- Introduced a new [`getDataFile`](getDataFile) method. This method returns the current SDK configuration (also known as the **data file**) used for evaluation and targeting. It is **not** intended for production use to fetch variations for every feature flag in the returned list, as it is not optimized for performance. For that purpose, use [`getVariations`](getVariations) instead. `getDataFile` is mainly useful for debugging or QA, for example to let internal users manually select a variant for a specific feature flag in production.
|
|
8
23
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Result } from 'ts-res';
|
|
2
2
|
import { KameleoonError } from '../kameleoonError/kameleoonError';
|
|
3
3
|
import { SegmentType } from '../targeting';
|
|
4
|
-
import { ClientConfigurationParametersType, ConfigurationType, ExperimentInfoType, ExperimentType, FeatureFlagType, MappedRuleType } from './types';
|
|
4
|
+
import { ClientConfigurationParametersType, ConfigurationType, ConsentBlockingBehaviour, ExperimentInfoType, ExperimentType, FeatureFlagType, MappedRuleType } from './types';
|
|
5
5
|
import { MEGroup } from '../clientConfiguration/meGroup';
|
|
6
6
|
interface IClientConfiguration {
|
|
7
7
|
initialize: () => Promise<Result<void, KameleoonError>>;
|
|
@@ -38,6 +38,7 @@ export declare class ClientConfiguration implements IClientConfiguration {
|
|
|
38
38
|
private externalPackageInfo;
|
|
39
39
|
private usedDefaultDataFile;
|
|
40
40
|
private defaultDataFile?;
|
|
41
|
+
private blockingBehaviourMode;
|
|
41
42
|
private readonly CACHE_REVALIDATE_PERIOD;
|
|
42
43
|
constructor({ updateInterval, urlProvider, storage, requester, dataManager, eventSource, externalVisitorCodeManager, eventManager, externalPackageInfo, defaultDataFile, }: ClientConfigurationParametersType);
|
|
43
44
|
initialize(): Promise<Result<void, KameleoonError>>;
|
|
@@ -52,6 +53,7 @@ export declare class ClientConfiguration implements IClientConfiguration {
|
|
|
52
53
|
get holdout(): ExperimentType | null;
|
|
53
54
|
get meGroups(): Map<string, MEGroup>;
|
|
54
55
|
get isConsentRequired(): boolean;
|
|
56
|
+
get consentBlockingBehaviour(): ConsentBlockingBehaviour;
|
|
55
57
|
get hasAnyTargetedDeliveryRule(): boolean;
|
|
56
58
|
private checkShouldUpdate;
|
|
57
59
|
private readStorageData;
|
|
@@ -71,5 +73,6 @@ export declare class ClientConfiguration implements IClientConfiguration {
|
|
|
71
73
|
private makeMEGroups;
|
|
72
74
|
private updateStorageData;
|
|
73
75
|
private updateConsentRequired;
|
|
76
|
+
private consentBlockingBehaviourFromStr;
|
|
74
77
|
}
|
|
75
78
|
export {};
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const DEFAULT_CLIENT_CONFIGURATION: ConfigurationDataType;
|
|
1
|
+
import { ConfigurationDataType } from '../clientConfiguration';
|
|
2
|
+
export declare const DEFAULT_DATA_FILE_CONFIGURATION: ConfigurationDataType;
|
|
@@ -50,6 +50,10 @@ export declare enum ConsentType {
|
|
|
50
50
|
Required = "REQUIRED",
|
|
51
51
|
NotRequired = "NOT_REQUIRED"
|
|
52
52
|
}
|
|
53
|
+
export declare enum ConsentBlockingBehaviour {
|
|
54
|
+
PartiallyBlocked = "PARTIALLY_BLOCK",
|
|
55
|
+
CompletelyBlocked = "FULLY_BLOCK"
|
|
56
|
+
}
|
|
53
57
|
export type DeviationType = {
|
|
54
58
|
variationId: string;
|
|
55
59
|
value: number;
|
|
@@ -129,6 +133,7 @@ export type ConfigurationType = {
|
|
|
129
133
|
realTimeUpdate: boolean;
|
|
130
134
|
consentType: ConsentType;
|
|
131
135
|
dataApiDomain: string;
|
|
136
|
+
consentOptOutBehavior: string;
|
|
132
137
|
};
|
|
133
138
|
export type ClientConfigurationParametersType = {
|
|
134
139
|
urlProvider: IUrlProvider;
|