---
title: 2026 Feature Experimentation release notes
slug: feature-experimentation/release-notes
docTags: 
createdAt: 2026-07-20T15:45:29.316Z
---

Subscribe to updates on this page using the notification and RSS feed options.

:::hint{type="info"}
### Product

- Optimizely Feature Experimentation
:::

## October 13

- Released the [Experiment Value Estimator](docId\:N4Rl_7zTvwYQ6_UZhrnAe) in Agent Platform which generates a stakeholder-ready report on the projected annualized impact of rolling out a winning experiment variation, which helps you communicate the business value of experimentation in dollar terms.
- Added the `exp_program_reporting_execute_query` tool to the [Optimizely Experimentation MCP server overview](docId:_qedlrgpN69DdvQvZT9FD). 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](docId\:mbbrHzJkX7bxkYNT6eZoC) in Optimizely Agent Platform:

- [Feature Experimentation Governance agent](docId\:e5srnf01HOPzI4azZZdap) – Analyzes an Optimizely Feature Experimentation project and generates a read-only HTML governance report on a canvas.
- [Feature Flag Implementation agent](docId\:vVffyhB5qAPoAKDQdRTC7) – Generates a portable SKILL.md file to implement an Optimizely Feature Experimentation flag in a codebase.

## August 6&#x20;

- 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](docId\:VzMwMPP4u0GpOjFh9Fpih).
  - 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](docId\:QZ9NjmeoXrNlH-jIywX4-) and [Create webhooks](docId\:XVGr9yiQa81BHfiQCXtA4).

## July 22

Released [Local holdouts](docId\:rF0OPLtVhEbE4NEcu2gcG), 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](docId\:h1v5aDhM3KPn1_SyZ6e6W) for details.

## June 22

Released [Idea builder](docId\:XihOlTkFW_SttpIvDewIS), which uses Agent Platform 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](docId\:kRuzBr6pfwU1B8m3Enr7Z) 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](docId:73L8zvZOyp4RSJNThWld_) 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 ](docId\:oxWAaDQgCSG0Z2Zw6jZn2)for more information.

## May 18

- (Beta) Released [Feature Rollouts](docId\:FYbuu0asBt5htNNrEp235), 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](docId\:zDt3MtlsFMo59FX_wRT1S). 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+](docId\:pSYqjjV6NAFtuVmBUb9Vd).
  - Added async decision hooks (`useDecideAsync`, `useDecideForKeysAsync`, `useDecideAllAsync`) to support CMAB experiments and [asynchronous user profile service](docId:4q1nWLNGSfjRaIdFPbPKV) lookups.
  - Introduced the [\`useOptimizelyClient\`](docId:_gMNoahBECSd-mrjB779U) and [\`useOptimizelyUserContext\`](docId\:sxKgm7YuzYU8BDlu_QTuM) 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](docId\:jhRg84MqBcOq1Il6NaBfB).
  - Dropped CommonJS support, so the package now ships as ECMAScript modules (ESM) only. Renamed the [\`OptimizelyProvider\`](docId\:rCHtKgccqa7z1Fd5pLkKB) `optimizely` prop to `client`. See [Upgrade the React SDK from v3 to v4](docId:-AC32XWPDktAMgxYjxTye) for the full list of breaking changes.
  - See the full release notes on [GitHub](https://github.com/optimizely/react-sdk/releases/tag/4.0.0).

## 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](docId\:j7bgkTxrI8VN_z2dOZu1R) for information.

## April 29

Released the [Optimizely Experimentation MCP server overview](docId:_qedlrgpN69DdvQvZT9FD), 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](docId\:im-eIEuuMKEvpues-LxuK) (CMABs). CMABs use Optimizely Agent Platform 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](docId\:h1v5aDhM3KPn1_SyZ6e6W) for information.
- Released [Custom Fields](docId\:FR469ek790vzzg2Pwpuev), 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](docId\:PgBbEDvcVMNNMbYE8Fke-), 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](docId\:UDBvr5a8WHNkyOqzPhOr9) documentation for information.

## March 13

- Released [Global Holdouts](docId\:DogKLoT6bPNNCcoA2ch7a), 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](docId\:FEk1QU3NS_FrpOSOyon_M) agent to the [Agent Directory](docId\:jz3k4Kyi1JMsC5UV32XGt) 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 Optimizely Agent Platform](docId:-j4zNs-l3kIKD0n58bVPt) to help you with your Feature Experimentation projects. See [System tools for Feature Experimentation](docId\:U3A0lZOwNNy-M2i6-IREU) for the full list of available Agent Platform 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.
