Skip to content

Commit 5af7f3b

Browse files
authored
[FSSDK-12246] prepare release v6.3.1 (#1134)
1 parent 4f6431f commit 5af7f3b

File tree

13 files changed

+60
-20
lines changed

13 files changed

+60
-20
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

8+
## [6.3.1] - January 26, 2026
9+
10+
### Changed
11+
- **Updated event retry default config**: Adjusted default retry configuration for event processing ([#1131](https://github.com/optimizely/javascript-sdk/pull/1131))
12+
13+
### Bug Fixes
14+
- **Fix UNSTABLE_conditionEvaluators option**: pass custom condition evaluators to decision service ([#1133](https://github.com/optimizely/javascript-sdk/pull/1133))
15+
816
## [6.3.0] - November 19, 2025
917

1018
### New Features

examples/typescript/package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,5 @@
1212
"devDependencies": {
1313
"@types/node": "^20.0.0",
1414
"typescript": "^4.7.4"
15-
},
16-
"dependencies": {
17-
"@optimizely/optimizely-sdk": "file:../../optimizely-optimizely-sdk-6.3.0.tgz"
1815
}
1916
}

lib/client_factory.spec.ts

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2025, Optimizely
2+
* Copyright 2025-2026, Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -14,13 +14,25 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { describe, it, expect } from 'vitest';
17+
import { describe, it, expect, vi, beforeEach } from 'vitest';
18+
19+
vi.mock('./optimizely', () => {
20+
return {
21+
default: vi.fn(),
22+
};
23+
});
1824

1925
import { getOptimizelyInstance } from './client_factory';
2026
import { createStaticProjectConfigManager } from './project_config/config_manager_factory';
2127
import Optimizely from './optimizely';
2228

2329
describe('getOptimizelyInstance', () => {
30+
const MockedOptimizely = vi.mocked(Optimizely);
31+
32+
beforeEach(() => {
33+
MockedOptimizely.mockClear();
34+
});
35+
2436
it('should throw if the projectConfigManager is not a valid ProjectConfigManager', () => {
2537
expect(() => getOptimizelyInstance({
2638
projectConfigManager: undefined as any,
@@ -58,4 +70,24 @@ describe('getOptimizelyInstance', () => {
5870

5971
expect(optimizelyInstance).toBeInstanceOf(Optimizely);
6072
});
73+
74+
it('should pass the provided UNSTABLE_conditionEvaluators to the Optimizely instance', () => {
75+
const mockConditionEvaluators = {
76+
foo: () => true,
77+
bar: () => false,
78+
};
79+
80+
const optimizely = getOptimizelyInstance({
81+
projectConfigManager: createStaticProjectConfigManager({
82+
datafile: '{}',
83+
}),
84+
requestHandler: {} as any,
85+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
86+
// @ts-ignore
87+
UNSTABLE_conditionEvaluators: mockConditionEvaluators,
88+
});
89+
90+
expect(optimizely).toBe(MockedOptimizely.mock.instances[0]);
91+
expect(MockedOptimizely.mock.calls[0][0].UNSTABLE_conditionEvaluators).toBe(mockConditionEvaluators);
92+
});
6193
});

lib/index.browser.tests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2016-2020, 2022-2025 Optimizely
2+
* Copyright 2016-2020, 2022-2026 Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -153,7 +153,7 @@ describe('javascript-sdk (Browser)', function() {
153153
});
154154

155155
assert.instanceOf(optlyInstance, Optimizely);
156-
assert.equal(optlyInstance.clientVersion, '6.3.0');
156+
assert.equal(optlyInstance.clientVersion, '6.3.1');
157157
});
158158

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

lib/index.node.tests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2016-2020, 2022-2025 Optimizely
2+
* Copyright 2016-2020, 2022-2026 Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -88,7 +88,7 @@ describe('optimizelyFactory', function() {
8888
});
8989

9090
assert.instanceOf(optlyInstance, Optimizely);
91-
assert.equal(optlyInstance.clientVersion, '6.3.0');
91+
assert.equal(optlyInstance.clientVersion, '6.3.1');
9292
});
9393
// TODO: user will create and inject an event processor
9494
// these tests will be refactored accordingly

lib/index.react_native.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2019-2020, 2022-2025 Optimizely
2+
* Copyright 2019-2020, 2022-2026 Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -92,7 +92,7 @@ describe('javascript-sdk/react-native', () => {
9292
expect(optlyInstance).toBeInstanceOf(Optimizely);
9393
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
9494
// @ts-ignore
95-
expect(optlyInstance.clientVersion).toEqual('6.3.0');
95+
expect(optlyInstance.clientVersion).toEqual('6.3.1');
9696
});
9797

9898
it('should set the React Native JS client engine and javascript SDK version', () => {

lib/utils/enums/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2016-2025, Optimizely
2+
* Copyright 2016-2026, Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -44,7 +44,7 @@ export const CONTROL_ATTRIBUTES = {
4444
export const JAVASCRIPT_CLIENT_ENGINE = 'javascript-sdk';
4545
export const NODE_CLIENT_ENGINE = 'node-sdk';
4646
export const REACT_NATIVE_JS_CLIENT_ENGINE = 'react-native-js-sdk';
47-
export const CLIENT_VERSION = '6.3.0';
47+
export const CLIENT_VERSION = '6.3.1';
4848

4949
/*
5050
* Represents the source of a decision for feature management. When a feature

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@optimizely/optimizely-sdk",
3-
"version": "6.3.0",
3+
"version": "6.3.1",
44
"description": "JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts",
55
"main": "./dist/index.node.min.js",
66
"browser": "./dist/index.browser.es.min.js",

scripts/run-ts-example.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ async function main() {
114114
run('npm install', exampleDir);
115115

116116
console.log('\nInstalling SDK tarball in ts-example...');
117-
run(`npm install ${tarballPath}`, exampleDir);
117+
run(`npm install --no-save ${tarballPath}`, exampleDir);
118118

119119
console.log('\nBuilding ts-example...');
120120
run('npm run build', exampleDir);

0 commit comments

Comments
 (0)