You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.txt
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
0.13.0 (December XX, 2023)
1
+
0.13.0 (December 12, 2023)
2
2
- Added support for Flag Sets in "consumer" and "partial consumer" modes (pluggable storage).
3
3
- Updated SDK cache for browsers using localStorage, to clear cached feature flag definitions before initiating the synchronization process, if the cache was previously synchronized with a different SDK key (i.e., a different environment) or different Split Filter criteria.
4
4
- Updated @splitsoftware/splitio-commons package to version 1.12.1 that includes flag sets support for "consumer" and "partial consumer" modes, and other improvements.
t.equal(localStorage.getItem('readyFromCache_3.SPLITIO.split.always_on'),alwaysOnSplitInverted,'splits must not be cleaned from cache');
257
+
t.equal(localStorage.getItem('readyFromCache_3.SPLITIO.split.always_on'),alwaysOnSplitInverted,'feature flags must not be cleaned from cache');
258
258
returnnewPromise(res=>{setTimeout(()=>res({status: 200,body: { ...splitChangesMock1,since: 25},headers: {}}),200);});// 400ms is how long it'll take to reply with Splits, no SDK_READY should be emitted before that.
@@ -457,6 +457,8 @@ export default function (fetchMock, assert) {
457
457
t.equal(localStorage.getItem('some_user_item'),'user_item','user items at localStorage must not be changed');
458
458
t.equal(localStorage.getItem('readyFromCache_4.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
459
459
t.true(nearlyEqual(parseInt(localStorage.getItem('readyFromCache_4.SPLITIO.splits.lastUpdated')),Date.now()-1000/* 1000 ms between last Split and MySegments fetch */),'lastUpdated must correspond to the timestamp of the last successfully fetched Splits');
460
+
461
+
t.end();
460
462
});
461
463
});
462
464
t.true(Date.now()-startTime>=1000,'It should emit SDK_READY after syncing with the cloud.');
@@ -517,8 +519,8 @@ export default function (fetchMock, assert) {
517
519
client.destroy().then(()=>{
518
520
t.equal(localStorage.getItem('some_user_item'),'user_item','user items at localStorage must not be changed');
519
521
t.equal(localStorage.getItem('readyFromCache_5.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
520
-
t.equal(localStorage.getItem('readyFromCache_5.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'split declarations must be cached');
521
-
t.equal(localStorage.getItem('readyFromCache_5.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'split declarations must be cached');
522
+
t.equal(localStorage.getItem('readyFromCache_5.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'feature flag declarations must be cached');
523
+
t.equal(localStorage.getItem('readyFromCache_5.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'feature flag declarations must be cached');
522
524
t.equal(localStorage.getItem('readyFromCache_5.SPLITIO.hash'),expectedHashWithFilter,'Storage hash must correspond to the one for the SDK key and feature flag filter query');
@@ -561,8 +563,8 @@ export default function (fetchMock, assert) {
561
563
562
564
client.destroy().then(()=>{
563
565
t.equal(localStorage.getItem('readyFromCache_5B.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
564
-
t.equal(localStorage.getItem('readyFromCache_5B.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'split declarations must be cached');
565
-
t.equal(localStorage.getItem('readyFromCache_5B.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'split declarations must be cached');
566
+
t.equal(localStorage.getItem('readyFromCache_5B.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'feature flag declarations must be cached');
567
+
t.equal(localStorage.getItem('readyFromCache_5B.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'feature flag declarations must be cached');
566
568
t.equal(localStorage.getItem('readyFromCache_5B.SPLITIO.hash'),expectedHashWithFilter,'Storage hash must correspond to the split filter query and SDK key');
567
569
t.end();
568
570
});
@@ -612,8 +614,8 @@ export default function (fetchMock, assert) {
612
614
client.destroy().then(()=>{
613
615
t.equal(localStorage.getItem('some_user_item'),'user_item','user items at localStorage must not be changed');
614
616
t.equal(localStorage.getItem('readyFromCache_6.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
615
-
t.equal(localStorage.getItem('readyFromCache_6.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'split declarations must be cached');
616
-
t.equal(localStorage.getItem('readyFromCache_6.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'split declarations must be cached');
617
+
t.equal(localStorage.getItem('readyFromCache_6.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'feature flag declarations must be cached');
618
+
t.equal(localStorage.getItem('readyFromCache_6.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'feature flag declarations must be cached');
617
619
t.equal(localStorage.getItem('readyFromCache_6.SPLITIO.hash'),expectedHash,'Storage hash must correspond to the split filter query and SDK key');
618
620
t.end();
619
621
});
@@ -664,8 +666,8 @@ export default function (fetchMock, assert) {
664
666
client.destroy().then(()=>{
665
667
t.equal(localStorage.getItem('some_user_item'),'user_item','user items at localStorage must not be changed');
666
668
t.equal(localStorage.getItem('readyFromCache_7.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
667
-
t.equal(localStorage.getItem('readyFromCache_7.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'split declarations must be cached');
668
-
t.equal(localStorage.getItem('readyFromCache_7.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'split declarations must be cached');
669
+
t.equal(localStorage.getItem('readyFromCache_7.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'feature flag declarations must be cached');
670
+
t.equal(localStorage.getItem('readyFromCache_7.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'feature flag declarations must be cached');
669
671
t.equal(localStorage.getItem('readyFromCache_7.SPLITIO.hash'),expectedHash,'Storage hash must correspond to the split filter query and SDK key');
670
672
t.end();
671
673
});
@@ -716,7 +718,7 @@ export default function (fetchMock, assert) {
t.fail('It should not emit SDK_READY_FROM_CACHE because all splits were removed from cache since the filter query changed.');
721
+
t.fail('It should not emit SDK_READY_FROM_CACHE because all feature flags were removed from cache since the filter query changed.');
720
722
t.end();
721
723
});
722
724
@@ -726,9 +728,9 @@ export default function (fetchMock, assert) {
726
728
client.destroy().then(()=>{
727
729
t.equal(localStorage.getItem('some_user_item'),'user_item','user items at localStorage must not be changed');
728
730
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
729
-
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'split declarations must be cached');
730
-
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'split declarations must be cached');
731
-
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.split.p3__split'),JSON.stringify(splitDeclarations.p3__split),'split declarations must be cached');
731
+
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.split.p1__split'),JSON.stringify(splitDeclarations.p1__split),'feature flag declarations must be cached');
732
+
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'feature flag declarations must be cached');
733
+
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.split.p3__split'),JSON.stringify(splitDeclarations.p3__split),'feature flag declarations must be cached');
732
734
t.equal(localStorage.getItem('readyFromCache_8.SPLITIO.hash'),expectedHashNullFilter,'Storage hash must correspond to the split filter query and SDK key');
733
735
t.end();
734
736
});
@@ -770,7 +772,7 @@ export default function (fetchMock, assert) {
t.fail('It should not emit SDK_READY_FROM_CACHE because all splits were removed from cache since the filter query changed.');
775
+
t.fail('It should not emit SDK_READY_FROM_CACHE because all feature flags were removed from cache since the filter query changed.');
774
776
t.end();
775
777
});
776
778
@@ -780,8 +782,8 @@ export default function (fetchMock, assert) {
780
782
client.destroy().then(()=>{
781
783
t.equal(localStorage.getItem('some_user_item'),'user_item','user items at localStorage must not be changed');
782
784
t.equal(localStorage.getItem('readyFromCache_9.SPLITIO.splits.till'),'1457552620999','splits.till must correspond to the till of the last successfully fetched Splits');
783
-
t.equal(localStorage.getItem('readyFromCache_9.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'split declarations must be cached');
784
-
t.equal(localStorage.getItem('readyFromCache_9.SPLITIO.split.p3__split'),JSON.stringify(splitDeclarations.p3__split),'split declarations must be cached');
785
+
t.equal(localStorage.getItem('readyFromCache_9.SPLITIO.split.p2__split'),JSON.stringify(splitDeclarations.p2__split),'feature flag declarations must be cached');
786
+
t.equal(localStorage.getItem('readyFromCache_9.SPLITIO.split.p3__split'),JSON.stringify(splitDeclarations.p3__split),'feature flag declarations must be cached');
785
787
t.equal(localStorage.getItem('readyFromCache_9.SPLITIO.hash'),getStorageHash({ ...baseConfig,sync: {__splitFiltersValidation: {queryString: '&names=no%20exist%20trim,no_exist,p3__split&prefixes=no%20exist%20trim,p2'}}}),'Storage hash must correspond to the split filter query and SDK key');
0 commit comments