-
Notifications
You must be signed in to change notification settings - Fork 85
Comparing changes
Open a pull request
base repository: optimizely/javascript-sdk
base: claude-code
head repository: optimizely/javascript-sdk
compare: master
- 20 commits
- 69 files changed
- 7 contributors
Commits on Mar 11, 2026
-
Remove SourceClear scan workflow due to security vulnerability (#1139)
Removes the SourceClear workflow that contains a dangerous curl|bash pattern, which presents risks of script injection and untrusted remote code execution in the CI/CD pipeline. This follows the same remediation approach used in the PHP SDK (optimizely/php-sdk#294). Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for cde46e9 - Browse repository at this point
Copy the full SHA cde46e9View commit details
Commits on Mar 31, 2026
-
[AI-FSSDK] [FSSDK-12337] Add Feature Rollout support (#1140)
## Summary Adds Feature Rollout support to the JavaScript SDK. Feature Rollouts are a new experiment rule type that combines Targeted Delivery simplicity with A/B test measurement capabilities. During project config parsing, the "everyone else" variation from the flag's rollout is injected into any experiment with type "feature_rollout", enabling correct evaluation without changes to decision logic. ## Changes - Added optional `type` string field to the Experiment interface - Added config parsing logic to inject the "everyone else" rollout variation into feature_rollout experiments - Added traffic allocation entry (endOfRange=10000) for the injected variation - Added `getEveryoneElseVariation` helper function to extract the last rollout rule's first variation - Updated variation lookup maps (variationKeyMap, variationIdMap, variationVariableUsageMap) with injected variation - Added 6 unit tests covering feature rollout injection, edge cases, and backward compatibility --------- Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for 41d2580 - Browse repository at this point
Copy the full SHA 41d2580View commit details
Commits on May 7, 2026
-
[AI-FSSDK] prepare for release javascript-sdk v6.4.0 (#1149)
Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for 80a0375 - Browse repository at this point
Copy the full SHA 80a0375View commit details -
[AI-FSSDK] [FSSDK-12368] Remove legacy flag-level holdout fields (#1146)
## Summary simplify holdout handling to treat all holdouts as global. ## Changes - Removed `includedHoldouts`, `excludedHoldouts`, and `globalHoldouts` from ProjectConfig - Removed `getHoldoutsForFlag()` method from ProjectConfig - Removed 3 test cases for deleted functionality - Updated remaining tests to use new global holdout behavior Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for 6c0a6e9 - Browse repository at this point
Copy the full SHA 6c0a6e9View commit details
Commits on Jun 1, 2026
-
[AI-FSSDK] [FSSDK-12369] Add local holdouts support to JavaScript SDK (…
…#1151) Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for a2b378c - Browse repository at this point
Copy the full SHA a2b378cView commit details -
[AI-FSSDK] [FSSDK-12670] Block ODP identify event for single identifi…
…er (#1152) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for 80e4c84 - Browse repository at this point
Copy the full SHA 80e4c84View commit details
Commits on Jun 15, 2026
-
[FSSDK-12759] fix content-length header in NodeRequestHandler (#1156)
prevously, body.length was being used for content-length header, which is incorrect (The length data property of a String value contains the length of the string in UTF-16 code units, we need the byte length of utf-8 endcoded string). This PR fixes it.
Configuration menu - View commit details
-
Copy full SHA for 25b7129 - Browse repository at this point
Copy the full SHA 25b7129View commit details
Commits on Jun 16, 2026
-
[AI-FSSDK] [FSSDK-12760] add localHoldouts to datafile for backward c…
…ompatibility (#1157) --------- Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for 1d56eeb - Browse repository at this point
Copy the full SHA 1d56eebView commit details
Commits on Jun 30, 2026
-
[FSSDK-12820] Upgrade to uuid v13 (#1159)
* [FSSDK-12820] Upgrade to uuid v13 Upgrade uuid to v13 (ESM-only). Update rollup config to bundle uuid into CJS outputs instead of keeping it as an external dependency, since CJS consumers cannot require() an ESM-only package. Add a CJS require hook shim so mocha/ts-node tests can still load uuid in CommonJS mode. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 49b58cc - Browse repository at this point
Copy the full SHA 49b58ccView commit details
Commits on Jul 1, 2026
-
[AI-FSSDK] [FSSDK-12750] Use attribute id instead of key for CMAB pre…
…diction requests (#1160)
Configuration menu - View commit details
-
Copy full SHA for 44828e6 - Browse repository at this point
Copy the full SHA 44828e6View commit details
Commits on Jul 7, 2026
-
[AI-FSSDK] [FSSDK-12813] Normalize decision event campaign_id, variat…
…ion_id, and entity_id (#1158) Co-authored-by: Raju Ahmed <raju.ahmed@optimizely.com>
Configuration menu - View commit details
-
Copy full SHA for fc368a2 - Browse repository at this point
Copy the full SHA fc368a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9884d73 - Browse repository at this point
Copy the full SHA 9884d73View commit details -
[FSSDK-12879] Remove Karma testing infrastructure (#1162)
* Remove Karma testing infrastructure Karma config files, scripts, and devDependencies are no longer used. Remove them along with the README reference. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for e3ba148 - Browse repository at this point
Copy the full SHA e3ba148View commit details
Commits on Jul 8, 2026
-
[FSSDK-12880] Refactor project config creation (#1164)
* [FSSDK-12880] Refactor project config creation - Simplify createProjectConfig to accept a datafile string directly instead of string | object, inlining datafile validation - Remove the separate config_validator module and its tests - Break monolithic config builder into focused parse functions: parseAudienceConfig, parseAttributeConfig, parseGroupConfig, parseRolloutConfig, parseIntegrationConfig, parseExperimentConfig, parseFeatureFlagConfig - Eliminate mutation-safe datafile copy in favor of direct construction - Refactor redundant iterations over experiments and feature flags - Remove lodash dev dependency Benchmarks show ~10% faster config parsing for 3-4 MB datafiles. Removing createMutationSafeDatafileCopy also fixes a memory issue where it allocated ~4x the datafile size in shallow copies per call, causing OOM under repeated parsing of large datafiles. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for ccaf38b - Browse repository at this point
Copy the full SHA ccaf38bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 72a727a - Browse repository at this point
Copy the full SHA 72a727aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e5a4f5d - Browse repository at this point
Copy the full SHA e5a4f5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d8e5ba - Browse repository at this point
Copy the full SHA 7d8e5baView commit details
Commits on Jul 17, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 0105135 - Browse repository at this point
Copy the full SHA 0105135View commit details
Commits on Jul 21, 2026
-
[FSSDK-12933] Refactor message generator to use TS compiler API (#1170)
* [FSSDK-12933] Refactor message generator to use TS compiler API Replace the dynamic-import-based message_generator.ts with a static TS-parser approach (scripts/generate-messages.js) that preserves declaration order and eliminates the jiti runtime dependency. Add a test script and CI job for the generator. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for a3857a0 - Browse repository at this point
Copy the full SHA a3857a0View commit details
Commits on Jul 22, 2026
-
[FSSDK-12891] Switch npm publishing to OIDC trusted publishing (#1169)
* [FSSDK-12891] Switch npm publishing to OIDC trusted publishing Replace long-lived NPM_PUBLISH_TOKEN with OIDC trusted publishing for more secure, tokenless CI publishing to npm. Workflow changes: - Add id-token: write permission for OIDC token generation - Move permissions to workflow level (add packages: write for GHR) - Add GitHub environment gate (npm) for deployment protection - Upgrade setup-node to v4 and Node to 22 (npm 11.5.1+ requirement) - Add npm upgrade step to ensure OIDC support - Remove NPM_PUBLISH_TOKEN from npm publish step (OIDC replaces it) publish.sh changes: - Make NODE_AUTH_TOKEN optional in curl lookup (public packages don't need auth for registry reads) - Add --provenance flag for npm registry publishes (supply-chain attestations, not supported by GHR) GHR publish step is unchanged — still uses GITHUB_TOKEN. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * test: temp version bump for OIDC test (revert before merge) * fix: use string instead of array for optional curl auth header * test: switch to rc.1 version for OIDC test * revert: remove temp version bump --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 6da7398 - Browse repository at this point
Copy the full SHA 6da7398View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff claude-code...master