Skip to content

Commit d64a344

Browse files
authored
chore: Prepare for 4.2.1 release (#550)
1 parent 0427cdd commit d64a344

File tree

9 files changed

+26
-10
lines changed

9 files changed

+26
-10
lines changed

packages/optimizely-sdk/CHANGELOG.MD

+5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10+
## [4.2.1] - August 10, 2020
11+
12+
### Bug fixes
13+
- Remove incorrect warning about invalid variation ID when user not bucketed into experiment or feature rollout ([#549](https://github.com/optimizely/javascript-sdk/pull/549))
14+
1015
## [4.2.0] - July 31, 2020
1116

1217
### New Features

packages/optimizely-sdk/lib/core/bucketer/index.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,10 @@ export var bucket = function(bucketerParams) {
114114
var entityId = this._findBucket(bucketValue, bucketerParams.trafficAllocationConfig);
115115

116116
if (!bucketerParams.variationIdMap.hasOwnProperty(entityId)) {
117-
var invalidVariationIdLogMessage = sprintf(LOG_MESSAGES.INVALID_VARIATION_ID, MODULE_NAME);
118-
bucketerParams.logger.log(LOG_LEVEL.WARNING, invalidVariationIdLogMessage);
117+
if (entityId) {
118+
var invalidVariationIdLogMessage = sprintf(LOG_MESSAGES.INVALID_VARIATION_ID, MODULE_NAME);
119+
bucketerParams.logger.log(LOG_LEVEL.WARNING, invalidVariationIdLogMessage);
120+
}
119121
return null;
120122
}
121123

@@ -128,7 +130,7 @@ export var bucket = function(bucketerParams) {
128130
* @param {string} bucketingId Bucketing ID
129131
* @param {string} userId ID of user to be bucketed into experiment
130132
* @param {Object} logger Logger implementation
131-
* @return {string} ID of experiment if user is bucketed into experiment within the group, null otherwise
133+
* @return {string|null} ID of experiment if user is bucketed into experiment within the group, null otherwise
132134
*/
133135
export var bucketUserIntoExperiment = function(group, bucketingId, userId, logger) {
134136
var bucketingKey = sprintf('%s%s', bucketingId, group.id);
@@ -148,7 +150,7 @@ export var bucketUserIntoExperiment = function(group, bucketingId, userId, logge
148150
* @param {Object[]} trafficAllocationConfig
149151
* @param {number} trafficAllocationConfig[].endOfRange
150152
* @param {number} trafficAllocationConfig[].entityId
151-
* @return {string} Entity ID for bucketing if bucket value is within traffic allocation boundaries, null otherwise
153+
* @return {string|null} Entity ID for bucketing if bucket value is within traffic allocation boundaries, null otherwise
152154
*/
153155
export var _findBucket = function(bucketValue, trafficAllocationConfig) {
154156
for (var i = 0; i < trafficAllocationConfig.length; i++) {

packages/optimizely-sdk/lib/core/bucketer/index.tests.js

+9
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,15 @@ describe('lib/core/bucketer', function() {
286286
bucketerParamsTest1.userId = 'ppid1';
287287
expect(bucketer.bucket(bucketerParamsTest1)).to.equal(null);
288288
});
289+
290+
it('should not log an invalid variation ID warning', function() {
291+
bucketer.bucket(bucketerParams)
292+
const foundInvalidVariationWarning = createdLogger.log.getCalls().some((call) => {
293+
const message = call.args[1];
294+
return message.includes('Bucketed into an invalid variation ID')
295+
});
296+
expect(foundInvalidVariationWarning).to.equal(false);
297+
});
289298
});
290299

291300
describe('when the traffic allocation has invalid variation ids', function() {

packages/optimizely-sdk/lib/index.browser.tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ describe('javascript-sdk', function() {
148148
optlyInstance.onReady().catch(function() {});
149149

150150
assert.instanceOf(optlyInstance, Optimizely);
151-
assert.equal(optlyInstance.clientVersion, '4.2.0');
151+
assert.equal(optlyInstance.clientVersion, '4.2.1');
152152
});
153153

154154
it('should set the JavaScript client engine and version', function() {

packages/optimizely-sdk/lib/index.node.tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ describe('optimizelyFactory', function() {
9090
optlyInstance.onReady().catch(function() {});
9191

9292
assert.instanceOf(optlyInstance, Optimizely);
93-
assert.equal(optlyInstance.clientVersion, '4.2.0');
93+
assert.equal(optlyInstance.clientVersion, '4.2.1');
9494
});
9595

9696
describe('event processor configuration', function() {

packages/optimizely-sdk/lib/index.react_native.tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ describe('javascript-sdk/react-native', function() {
8989
optlyInstance.onReady().catch(function() {});
9090

9191
assert.instanceOf(optlyInstance, Optimizely);
92-
assert.equal(optlyInstance.clientVersion, '4.2.0');
92+
assert.equal(optlyInstance.clientVersion, '4.2.1');
9393
});
9494

9595
it('should set the Javascript client engine and version', function() {

packages/optimizely-sdk/lib/utils/enums/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ export var CONTROL_ATTRIBUTES = {
172172
export var JAVASCRIPT_CLIENT_ENGINE = 'javascript-sdk';
173173
export var NODE_CLIENT_ENGINE = 'node-sdk';
174174
export var REACT_CLIENT_ENGINE = 'react-sdk';
175-
export var NODE_CLIENT_VERSION = '4.2.0';
175+
export var NODE_CLIENT_VERSION = '4.2.1';
176176

177177
export var VALID_CLIENT_ENGINES = [
178178
NODE_CLIENT_ENGINE,

packages/optimizely-sdk/package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/optimizely-sdk/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@optimizely/optimizely-sdk",
3-
"version": "4.2.0",
3+
"version": "4.2.1",
44
"description": "JavaScript SDK for Optimizely X Full Stack",
55
"module": "dist/optimizely.browser.es.min.js",
66
"main": "dist/optimizely.node.min.js",

0 commit comments

Comments
 (0)