2026 Feature Experimentation release notes
Subscribe to updates on this page using the notification and RSS feed options.
Product
- Optimizely Feature Experimentation
November 10
- Added the ability to build an experiment from an idea in Feature Experimentation. Click Build on an idea on the Ideas page, and Mark (Optimizely Agent Platform) creates or reuses the flag, variations, primary metric, and audience for an A/B test rule, so you can act on an idea without configuring each component yourself. See Build an experiment from an idea in Feature Experimentation.
- Updated the Feature Experimentation Governance agent to offer chat actions after it creates its report, so you can conclude tests and rollouts, promote rules, archive flags, and mark flags permanent in one conversation. The agent applies each change only after you confirm it.
October 29
Improved how SDKs evaluate Local holdouts, so a local holdout holds users back only from the rules it targets. For a held-out user, the SDK skips the held-out rule and evaluates the flag's next rule. A later rule can still serve that user. Before this change, a local holdout hit ended evaluation for the entire flag. The change applies to the JavaScript, Ruby, C#, Swift, Go, Python, and Java SDKs.
October 22
Moved Formatting into each metric's Advanced Settings on the New A/B Results page. Set a metric's display format, such as a percentage or US dollars (USD), alongside its other settings. See New A/B Results page Summary tab for steps.
October 15
Released v4.0.0 of the Flutter SDK, which integrates with iOS through Swift Package Manager (SPM) only. Version 4.0.0 removes CocoaPods support and requires iOS 15.0 or later and Flutter 3.44 or later. See Install the Flutter SDK for the migration steps.
October 13
- Released the Experiment Value Estimator in Mark, which generates a stakeholder-ready report on the projected annualized impact of rolling out a winning experiment variation. Use the report to communicate the business value of experimentation in dollar terms.
- Added the exp_program_reporting_execute_query tool to the Optimizely Experimentation MCP server overview. Use it to run custom queries on results data for paused, concluded, and archived experiments, including lift, significance, confidence intervals, conversion rates, and visitor counts. This is useful when you want your own slice, like one metric or one variation across many experiments.
September 3
Released the following Feature Experimentation agents to the Agent Directory in Mark:
- Feature Experimentation Governance agent – Analyzes an Optimizely Feature Experimentation project and generates a read-only HTML governance report on a canvas.
- Feature Flag Implementation agent – Generates a portable SKILL.md file to implement an Optimizely Feature Experimentation flag in a codebase.
August 6
- Released Change approvals, which route flag changes to designated reviewers so unreviewed changes cannot reach production. Apply an environment-level policy to every flag in an environment, or create a custom policy that routes specific flags to their own approvers. Administrators choose which changes need review, such as ruleset edits, audience changes, traffic allocation, and metrics. See Change approvals in Feature Experimentation.
- Assign a team as the approver so approval rights follow the roster instead of individual names.
- Submit scheduled flag changes through the same approval workflow.
- Subscribe to change approval webhooks to keep an issue tracker or deployment pipeline in sync. Events fire when a request is created, approved, rejected, withdrawn, or archived. See Change approval webhooks and Create webhooks.
July 22
Released Local holdouts, which hold traffic back from specific flag rules instead of an entire project. This lets you measure the cumulative impact of a targeted set of experiments while your other experiments run normally.
July 2
Added optional Hypothesis and Test plan fields that keep experiment rationale and plans in the rule. Record the expected outcome and reasoning in the Hypothesis field on A/B test rules. Capture the plan, including audience, metrics, success criteria, and duration, in the Test plan field. Filter and sort rules by hypothesis or test plan content from the Flags dashboard. See Manage rules for details.
June 22
Released Idea builder, which uses Mark to generate experiment ideas based on your page, goals, and research. Idea builder helps you skip manual brainstorming and move from page context to a testable hypothesis. Inputs include a target URL or page screenshot, a stated objective, and optional heatmaps, analytics notes, and up to four previous tests. Each idea includes a title, description, problem statement, hypothesis, and source references. Refine ideas in Mark chat or save them to the Saved tab.
June 18
Improved the Contextual Bandit Results page to show attribute importance per variation and relative improvement per variation. Each variation now lists its most influential attributes and the values driving performance and you can see how each variation compared to the holdback. See Contextual Bandit Results page for details.
June 16
Expanded Experimentation Events Export to EU-based accounts. EU customers now have data export options with Google Cloud Storage (GCS). See Get Started with Experimentation Events Export for steps.
June 6
Added the ability to duplicate a flag, which copies an existing flag's configuration into a new one. Duplication reuses variables, targeting rules, environment default values, audiences, and rollout settings so you can create a similar flag without rebuilding it. See Manage flags for more information.
May 18
- (Beta) Released Feature Rollouts, which is a rule type that combines the simplicity of targeted deliveries with the measurement power of A/B tests. Feature Rollouts let you progressively release a single variation to defined audiences, control traffic allocation, and track impressions, conversions, and business metrics during the release. Use Feature Rollouts when you want progressive exposure with metric tracking, not a binary on or off delivery.
- Released v4.0.0 of the React SDK. This rewrite modernizes the hook API. It also adds async decision support for Contextual Multi-Armed Bandit (CMAB) experiments and asynchronous user profile services. This update includes various changes, including the following:
- Redesigned the hook API with useDecide, useDecideForKeys, and useDecideAll. These hooks return a { decision, isLoading, error } object instead of a tuple. See Decide hooks for the React SDK v4+.
- Added async decision hooks (useDecideAsync, useDecideForKeysAsync, useDecideAllAsync) to support CMAB experiments and asynchronous user profile service lookups.
- Introduced the useOptimizelyClient and useOptimizelyUserContext hooks. They replace the withOptimizely higher-order component and the legacy useDecision, useExperiment, useFeature, and useTrackEvent hooks.
- Upgraded the underlying JavaScript SDK to v6 and raised the minimum Node.js version to 18.0.0. See Initialize the React SDK.
- Dropped CommonJS support, so the package now ships as ECMAScript modules (ESM) only. Renamed the OptimizelyProvider optimizely prop to client. See Upgrade the React SDK from v3 to v4 for the full list of breaking changes.
- See the full release notes on GitHub.
May 5
Added Owner and Teams fields to flags. The Owner field defaults to the flag creator. You can edit it from the flag Settings page. The Teams field supports multiple teams per flag and displays as a column on the Flags list. See Manage flags for information.
April 29
Released the Optimizely Experimentation MCP server overview, which connects AI clients to your Experimentation data using the Model Context Protocol (MCP) open standard. Supported clients include Claude Desktop, Claude Code, Claude.ai, Cursor, Visual Studio Code with GitHub Copilot, and Windsurf. Authenticate with OAuth 2.0 through Opti ID and interact with your experimentation data through natural language.
April 28
- Released Contextual multi-armed bandits (CMABs). CMABs use Mark to dynamically reallocate traffic to the best-performing variation for each user segment based on contextual attributes. CMABs continuously balance exploration and exploitation as response data accumulates, so personalized experiences reach users faster than with traditional A/B testing.
- Added the ability to copy a rule to another environment within the same flag. Copied rules arrive in Draft status in the destination environment, so you can review and edit them before saving. Use this to replicate experiment configurations across environments without manual recreation. See Manage rules for information.
- Released Custom Fields, which let you attach structured metadata to flags. Choose from five field types: Label, Text, Numerical, Link, or Boolean, and mark each field as required or optional. Display custom fields as columns on the Flags Dashboard to filter, sort, and group flags, which improves discoverability and keeps metadata consistent across teams.
- Released Flag Statuses, which automatically assign one of six lifecycle statuses to each flag: Draft, Testing, Live, Paused, Stale, or Archived. Statuses are calculated from a flag’s ruleset state, environment, and recent activity. Use flag statuses to surface flags that need attention and prevent unused flags from accumulating in your project.
March 30
- Added a callout that displays when an audience is in use in one or more rules. The callout indicates how many rules are associated with the audience and warns that updating the audience may change user targeting and influence experiment results. See the Edit audience section in the Target audiences in Feature Experimentation documentation for information.
March 13
- Released Global Holdouts, which lets you designate a small percentage of users as a control group, ensuring they do not experience any experiments or new feature rollouts. This lets you directly compare outcomes between users who experience variations identified as winners during A/B tests and those who only see the default "off" variation for feature flags in your project.
January 22
- Added the Experimentation Program Overview agent to the Agent Directory which creates a report on how your Optimizely Experimentation program is performing using top experiment and win rate data.
- Released the following system tools in Mark to help you with your Feature Experimentation projects. See System tools for Feature Experimentation for the full list of available Mark tools, including when to use them, variables, and example prompts.
- exp_get_schemas – Retrieves detailed schemas for various Optimizely entities relevant to Feature Experimentation.
- exp_execute_query – Executes a template-based query to fetch specific data from your Optimizely Feature Experimentation instance. It lets you retrieve detailed information about various entities such as feature flags, rules, environments, attributes, and events, based on your specified criteria.
- exp_program_reporting_top_experiments – Retrieves experiments that have generated the highest positive or negative lift values within a specified timeframe. It focuses on the performance of individual tests, letting you see which variations of your features are performing best (or worst) against your chosen metrics.
- exp_program_reporting_underperforming_experiments – Helps you identify A/B tests that are not yielding significant or positive results, letting you quickly decide whether to stop, re-evaluate, or iterate on them.
- exp_program_reporting_win_rate – Gives you a high-level overview of the success of your experimentation program by calculating the win rate over a specified period. It is a key metric for understanding the efficiency and impact of your product development cycle.