Skip to content

[AI-FSSDK] [FSSDK-12337] Add Feature Rollout support#1140

Merged
raju-opti merged 4 commits intomasterfrom
ai/farhananjum-opti/FSSDK-12337-feature-rollouts
Mar 31, 2026
Merged

[AI-FSSDK] [FSSDK-12337] Add Feature Rollout support#1140
raju-opti merged 4 commits intomasterfrom
ai/farhananjum-opti/FSSDK-12337-feature-rollouts

Conversation

@FarhanAnjum-opti
Copy link
Copy Markdown
Contributor

@FarhanAnjum-opti FarhanAnjum-opti commented Mar 13, 2026

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

Jira Ticket

FSSDK-12337

@coveralls
Copy link
Copy Markdown

coveralls commented Mar 13, 2026

Coverage Status

coverage: 77.728% (-0.005%) from 77.733%
when pulling 27f1621 on ai/farhananjum-opti/FSSDK-12337-feature-rollouts
into cde46e9 on master.

@raju-opti raju-opti self-requested a review March 30, 2026 15:20
@raju-opti raju-opti merged commit 41d2580 into master Mar 31, 2026
16 of 23 checks passed
@raju-opti raju-opti deleted the ai/farhananjum-opti/FSSDK-12337-feature-rollouts branch March 31, 2026 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants