---
title: 2026 Optimizely Graph release notes
slug: graph/release-notes
docTags: 
createdAt: 2026-07-20T15:44:51.354Z
---

Subscribe to updates on this page using the notification and RSS feed options. Product packages are found on the [Optimizely NuGet server](https://nuget.optimizely.com/) and include updates to the following components:

- [Optimizely.ContentGraph](https://support.optimizely.com/hc/en-us/articles/25432213670413#h_01KAKAZ8DNX99V0ZZJPKE74YMB)
- [Graph Search UI](https://support.optimizely.com/hc/en-us/articles/25432213670413#h_01KABAAJP0JANXH0NJK94M5V51)
- [Gateway](https://support.optimizely.com/hc/en-us/articles/25432213670413#h_01KABAAJP0JANXH0NJK94M5V51)
- [Service Deployments](https://support.optimizely.com/hc/en-us/articles/25432213670413#01JVQ7JE191M6NXBF3DSQ2BM6J)

:::hint{type="info"}
**Note**

Are you looking for release notes before January 2024? See the [Optimizely Release Notes](https://world.optimizely.com/documentation/Release-Notes/) on the Optimizely World site.

Are you looking for Graph Documentation? See the [Optimizely Graph Documentation](https://docs.developers.optimizely.com/platform-optimizely/docs/overview-of-optimizely-graph).
:::

You can find prior versions of user guides and when functionality was released or deprecated at the following locations:

- [Versioned user guides and release notes](https://support.optimizely.com/hc/en-us/articles/14814725210637).
- [Released functionality](https://support.optimizely.com/hc/en-us/articles/14820829767437).
- [Obsolete functionality](https://support.optimizely.com/hc/en-us/articles/14820831792525).

## Most recent releases

| Date               | Release                                                                                                                                                                                                   | Type                    |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| October 22, 2026   | Content Graph [4.4.5](docId:9uZey_CDJdCgB8ATht0vU)                                                                                                                                                        | Bug fixes               |
| September 07, 2026 | Content Graph 4.4.4                                                                                                                                                                                       |                         |
| August 18, 2026    | Content Graph [4.4.3](docId:9uZey_CDJdCgB8ATht0vU)                                                                                                                                                        | Bug fix                 |
| August 11, 2026    | Service [5.13.1](https://support.optimizely.com/hc/en-us/articles/25432213670413-2026-Optimizely-Graph-release-notes#service5.13.1)                                                                       | Bug fix                 |
| August 3, 2026     | Gateway [3.30.0 & 3.31.0](docId:9uZey_CDJdCgB8ATht0vU)                                                                                                                                                    | Enhancement             |
| July 22, 2026      | Service [5.12.0](https://support.optimizely.com/hc/en-us/articles/25432213670413-2026-Optimizely-Graph-release-notes#service5.12.0)                                                                       | Bug fix                 |
| July 6, 2026       | [(Beta) Graph Search UI](https://support.optimizely.com/hc/en-us/articles/25432213670413#GRAPHUIJuly6)                                                                                                    | Enhancement             |
| June 29, 2026      | Gateway [3.29.2](https://support.optimizely.com/hc/en-us/articles/25432213670413#gateway3.29.2)                                                                                                           | Bug fix                 |
| June 23, 2026      | Content Graph [4.4.2](https://support.optimizely.com/hc/en-us/articles/25432213670413#ContentGraph4.4.2)                                                                                                  | Enhancement & Bug fixes |
| June 2, 2026       | Gateway [3.29.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#gateway3.29.0)                                                                                                           | Bug fixes               |
| May 25, 2026       | Content Graph [4.4.1](https://support.optimizely.com/hc/en-us/articles/25432213670413#ContentGraph4.4.1)                                                                                                  | Bug fixes               |
| May 21, 2026       | (Beta) [Graph Search UI](https://support.optimizely.com/hc/en-us/articles/25432213670413#GRAPHUIMAY21)                                                                                                    | Enhancement             |
| April 28, 2026     | Gateway [3.27.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#gateway3.27.0), Service [5.9.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#service5.9.0)            | Bug fixes               |
| April 21, 2026     | Content Graph [4.4.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#ContentGraph4.4.0)                                                                                                  | Enhancement & bug fixes |
| March 25, 2026     | Gateway [3.25.1](https://support.optimizely.com/hc/en-us/articles/25432213670413#gateway3.25.1)                                                                                                           | Bug fixes               |
| March 18, 2026     | Service [5.7.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#service5.7.0)                                                                                                             | Enhancement             |
| February 2, 2026   | Service Deployment [5.6.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#service5.6.0), Gateway [3.24.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#gateway3.24.0) | Enhancement & Bug fix   |
| January 20, 2026   | Content Graph [4.3.1](https://support.optimizely.com/hc/en-us/articles/25432213670413#contentGraph4.3.1)                                                                                                  | Bug fixes               |
| January 5, 2026    | Content Graph [4.3.0](https://support.optimizely.com/hc/en-us/articles/25432213670413#contentGraph4.3.0)                                                                                                  | Enhancement & Bug fixes |

## Mark

This section lists the Optimizely Graph tools added to Agent Platform.

### August 14

Released the following tools in Mark to help you manage your *Optimizely Graph* content in Optimizely Content Management System (SaaS), CMS 12 (PaaS), and CMS 13 (PaaS).

- `graph_pinned_result` – Manages pinned results and pinned result collections in Optimizely Graph.
- `graph_synonyms` – Manages synonyms in Optimizely Graph. Synonyms help you find content using alternative terms.

## CMS to Graph Integration

### October 22

### Optimizely.ContentGraph.Cms 4.4.5

**Bug fixes**

- [CMS-55663](https://world.optimizely.com/support/Bug-list/bug/CMS-55663) – Fixed the issue where Optimizely Graph used the wrong site host for links to content shown in a fallback language. These links now use the host for the fallback language.
- [CMS-56797](https://world.optimizely.com/support/Bug-list/bug/CMS-56797) – Fixed the issue where the **Status** field on the **Smooth Rebuild** page still showed `N/A` in some setups after the 4.4.4 fix.

### September 7

### Optimizely.ContentGraph.Cms 4.4.4

**Enhancement**

- Added a guard that blocks account reset while a smooth rebuild is active, so in-progress rebuilds are not lost. The **Smooth Rebuild** page disables the **Reset to default** button, and the server also rejects direct requests. See Smooth rebuild

**Bug fix**

- [CMS-54483](https://world.optimizely.com/support/Bug-list/bug/CMS-54483) – Fixed the issue where the **Status** field on the **Smooth Rebuild** page always showed N/A (undefined)
- [CMS-54724](https://world.optimizely.com/support/Bug-list/bug/CMS-54724) – Fixed the issue where an empty LinkItemCollection reached Optimizely Graph as an object instead of an empty array. The issue affected projects on .NET 9 and later and broke GraphQL queries on the \*\_json field.
- [CMS-54937](https://world.optimizely.com/support/Bug-list/bug/CMS-54937) – Fixed the issue where CMS search returned no results for users with non-ASCII characters in their username or roles. The issue affected characters such as Å, Ä, and Ö.

### August 18

### Optimizely.ContentGraph.Cms 4.4.3

**Bug fix**

- [CMS-54804](https://world.optimizely.com/support/Bug-list/bug/CMS-54804) – Fixed the `dotnet restore` issue that occurred when a project referenced `Optimizely.ContentGraph.Core 4.4.2`.

### June 23

### Optimizely.ContentGraph.Cms 4.4.2

**Enhancement**

- Improved content save and publish speed in the CMS UI. Saving no longer blocks while content is indexed in Optimizely Graph. This removes the long waits and timeouts editors previously saw when saving or publishing.
- Increased the timeouts that apply when new indices are provisioned during a Smooth Rebuild. Large rebuilds are now less likely to fail or time out.

**Bug fixes**

- [CMS-52542](https://world.optimizely.com/support/Bug-list/bug/CMS-52542) – Fixed an issue where content blocks moved to the trash were still returned in `Expanded` ContentArea query results. The trashed block resolved with `_id: null` while still populating other fields such as `Name`.

### May 25

### Optimizely.ContentGraph.Cms 4.4.1

**Bug fixes**

- [CMS-46764](https://world.optimizely.com/support/Bug-list/bug/CMS-46764) – Fixed the `_fulltext` highlight query that returned broken HTML or JSON markup instead of clean text extracts for XhtmlString properties.
- [CMS-51530](https://world.optimizely.com/support/Bug-list/bug/CMS-51530) – Fixed the incorrect indexing of custom Content Delivery API properties with `decimal` type to Optimizely Graph.
- [CMS-52335](https://world.optimizely.com/support/Bug-list/bug/CMS-52335) – Fixed the issue where `Html` and `Text` fields returned null when `PreventFieldCollision` and `RichTextStructAsJson` were both enabled.
- [CMS-52423](https://world.optimizely.com/support/Bug-list/bug/CMS-52423) – Fixed the issue where CMS Edit mode search returned no results on sites with many enabled locales.

### April 21

### Optimizely.ContentGraph.Cms 4.4.0

**Enhancement**

- Improved the resilience of the `HttpClient` configuration.

**Bug fixes**

- [CMS-46635](https://world.optimizely.com/support/Bug-list/bug/CMS-46635) – Fixed an issue where the Optimizely Graph full indexing job did not return error details when it failed to pull data about processing progress.
- [CMS-47156](https://world.optimizely.com/support/Bug-list/bug/CMS-47156) – Fixed an issue where `LinkItem` properties could generate incorrect or unclean language-specific URLs when linking to content across sites in Optimizely Graph.
- [CMS-47939](https://world.optimizely.com/support/Bug-list/bug/CMS-47939) – Fixed an issue where syncing Forms content containing `List<ICondition>` properties produced critical log errors during content type synchronization, even though indexing completed successfully.
- [CMS-48801](https://world.optimizely.com/support/Bug-list/bug/CMS-48801) – Fixed an issue where URLs stored in `LinkItemCollection` were not updated in Optimizely Graph when the referenced page was moved in the CMS tree.
- [CMS-49458](https://world.optimizely.com/support/Bug-list/bug/CMS-49458) – Fixed an issue where enabling a new language while Smooth Rebuild was active caused the language to be enabled only in the live slot instead of the rebuild slot.

### January 20

### Optimizely.ContentGraph.Cms 4.3.1

**Bug fixes**

- [CMS-47482](https://world.optimizely.com/support/Bug-list/bug/CMS-47482) – Fixed an issue where `LinkItem` properties returned from Optimizely Graph did not correctly encode special characters in the "Remaining URL" portion of the link.
- [CMS-47995](https://world.optimizely.com/support/Bug-list/bug/CMS-47995) – Fixed the content type synchronization issue that was occurring when content ID 1 was missing.

### January 5

### Optimizely.ContentGraph.Cms 4.3.0

**Enhancement**

- Added an in-memory queue system for event indexing to control the number of content items processed in parallel, preventing system overload during large content imports or publishing operations.

**Bug fixes**

- [CMS-47223](https://world.optimizely.com/support/Bug-list/bug/CMS-47223) – Fixed an issue where a full indexing job failed with a null reference exception when a content type included an integer property named "Id" and `PreventFieldCollision` was set to false. Additionally, validation has been added to prevent the use of reserved content type names such as `SiteDefinition`.
- [CMS-47386](https://world.optimizely.com/support/Bug-list/bug/CMS-47386) – Fixed an issue where the number of failed items in the delta indexing job output was incorrectly displayed twice (as 303303 instead of 303).
- [CMS-47487](https://world.optimizely.com/support/Bug-list/bug/CMS-47487) – Fixed an issue where content with a null name failed to sync to the graph.
- [CMS-47011](https://world.optimizely.com/support/Bug-list/bug/CMS-47011) – Fixed an issue where publishing a project would freeze the user interface until indexing was complete. Project publishing is now non-blocking, allowing users to continue working while indexing occurs asynchronously.

## Graph Search UI

### July 6

(Beta) Added two tools to Search Management portal for monitoring and evaluating Optimizely Graph search.

- **Performance dashboard** – Monitor query response times and cache hit ratios to find slow queries and keep search fast. See [Performance dashboard in Search Management portal](https://docs.developers.optimizely.com/platform-optimizely/docs/performance-dashboard-in-search-management-portal).
- **Development accounts** – Create a self-service development instance to evaluate and test Optimizely Graph in an isolated, non-production environment. See [Development accounts in Search Management portal](https://docs.developers.optimizely.com/platform-optimizely/docs/development-accounts-in-search-management-portal).

### May 21

(Beta) Released the [Optimizely Graph Search Management Portal](https://docs.developers.optimizely.com/platform-optimizely/docs/search-management-portal), a dedicated UI that lets content editors and marketers configure search behavior directly, without developer involvement for day-to-day tasks. Find the portal in the Optimizely global navigation bar. The portal includes:

- **Overview dashboard** – Shows total query volume, click-through rate, and problematic queries (those with low or no click-through), so you can spot where search is underperforming. Refreshes on demand and supports date-range filtering.
- **Pinned Results** – Promotes selected content to the top of search results for chosen queries. Create, edit, and delete rules in the portal, and changes take effect immediately. (Formerly Best Bets in Search & Navigation.)
- **Synonyms** – Expands query matching by defining term relationships, supporting two-way (equivalent) and one-way (directional) synonyms. Changes take effect within minutes.

Access requires Opti ID and Admin Center permissions for your Graph tenant. Pinned Results and Synonyms also require a one-time developer configuration. Use the in-portal feedback link to share feedback during the beta.

## Gateway

### August 3

### Gateway 3.31.0

**Enhancement**

- Added support for percent-encoded cg-roles and cg-username header values on requests authenticated with hash-based message authentication code (HMAC). Roles with characters such as å, ä, and ö now resolve correctly, so those users receive their restricted content. See HMAC for information.
- Added MONTH and YEAR units to date facets, so you can bucket content across long time spans. DAY reaches the 1,000-bucket limit at about 2.7 years, while MONTH covers roughly 83 years and YEAR covers 1,000. See Facets for information.

### Gateway 3.30.0

**Enhancement**

- Added an optional count=true parameter to the /api/content/v3/sources endpoint that returns each source's document count. You can now size every source in one request instead of querying each separately. See Get source metadata for information.

### June 29

### Gateway 3.29.2

**Bug fixes**

- [CG-17551](https://world.optimizely.com/support/Bug-list/bug/CG-17551) – Fixed the issue where GraphQL content search queries failed with an internal error when a queried field definition was missing.

### June 2

### Gateway 3.29.0

**Bug fixes**

- [CG-15587](https://world.optimizely.com/support/Bug-list/bug/CG-15587) – Fixed the issue where webhooks were not triggered immediately after a purge-cache request.
- [CG-17180](https://world.optimizely.com/support/Bug-list/bug/CG-17180) – Fixed the issue where content types from non-default sources were missing after a source deployed to a new slot.

### April 28

### Gateway 3.27.0

**Bug fixes**

- [CG-15978](https://world.optimizely.com/support/Bug-list/bug/CG-15978) – Fixed the issue where passing a full `_id` value (including language and status suffixes) into the ids argument of a GraphQL query returned no results. The ids argument now resolves full `_id` values correctly.
- [CG-16423](https://world.optimizely.com/support/Bug-list/bug/CG-16423) – Fixed the issue where cached responses for Content Marketing Platform (CMP) documents were never invalidated, causing stale data to be served after updates. Cache purge now applies to all indexed documents regardless of publish status.
- [CG-16560](https://world.optimizely.com/support/Bug-list/bug/CG-16560) – Fixed the schema-sync error returned by Instance Manager when provisioning a new Content Graph instance for Structured Content tenants.
- [CG-16865](https://world.optimizely.com/support/Bug-list/bug/CG-16865) – Fixed the issue where image references inside experience compositions returned null DAM fields.

### March 25

### Gateway 3.25.1

**Bug fixes**

- [CG-15204](https://world.optimizely.com/support/Bug-list/bug/CG-15204) – Added the `cg-include-deleted-only` request header, which returns only deleted content from Graph. This lets developers build per-site wastebasket views without filtering deleted items out of mixed result sets.
- [CG-13511](https://world.optimizely.com/support/Bug-list/bug/CG-13511) – Fixed the issue where the match operator returned an incomplete result set for media content types (`ImageFile`, `VideoFile`). Match queries now return all matching items, ranked by exact match, phrase match, full-word match, and partial match.
- [CG-13946](https://world.optimizely.com/support/Bug-list/bug/CG-13946) – Fixed the issue where registering a new webhook through POST `/api/webhooks` returned a null id in the response. Newly registered webhooks now return a non-null ID.
- [CG-15726](https://world.optimizely.com/support/Bug-list/bug/CG-15726) – Fixed the `TypeError`: *This ReadableStream is disturbed exception returned by the \_stream endpoint*. Streamed bulk requests are no longer consumed before the underlying fetch is issued.
- [CG-15931](https://world.optimizely.com/support/Bug-list/bug/CG-15931) – Fixed the issue where large GraphQL queries failed with query too complex. The threshold at which Graph switches to a `wildcard _source` includes has been lowered, so wide selection sets succeed more reliably.
- [CG-16013](https://world.optimizely.com/support/Bug-list/bug/CG-16013) – Fixed the issue where pinned-result phrase matching was case-sensitive. Pinned phrases now match search terms regardless of case (Test and test are treated as equivalent).
- [CG-16150](https://world.optimizely.com/support/Bug-list/bug/CG-16150) – Fixed the issue where the `cg-include-deleted`, `cg-include-deleted-only`, `cg-include-hard-deleted`, and `cg-include-expired` filters were silently ignored. These four filters are now sent as HTTP headers and applied as expected.
- [CG-16360](https://world.optimizely.com/support/Bug-list/bug/CG-16360) – Fixed the issue where `_metadata.content` returned an empty string for media files indexed on CMS 13 sites. Extracted text content is now returned for newly indexed PDF, DOCX, and image assets.

### February 2

### Gateway 3.24.0

**Bug fixes**

- [CG-6569](https://world.optimizely.com/support/Bug-list/bug/CG-6569) – Fixed the issue where faceting on `ContentLink.Id` returned a single empty bucket containing all content. Facets are now generated correctly for `ContentLink.Id` values.
- [CG-15716](https://world.optimizely.com/support/Bug-list/bug/CG-15716) – Fixed the issue where pinned items configured without a language returned no results when a specific locale was requested. Locale-agnostic pinned items are now returned for any requested locale, not just ALL.
- [CG-15740](https://world.optimizely.com/support/Bug-list/bug/CG-15740) – Fixed the 500 error returned by the GraphQL Gateway when a non-nullable field had no value. The gateway now returns a 400 response that identifies which field is missing a value.
- [CG-15802](https://world.optimizely.com/support/Bug-list/bug/CG-15802) – Fixed the issue where querying folders with `_link` (type: DEFAULT) returned an empty items array. \_link(type: DEFAULT) now resolves linked content the same way `_link` (type: ITEMS) does.

## Service Deployment

### August 11

Service Deployment 5.13.1

**Bug fix**

- [CG-18526](https://world.optimizely.com/support/Bug-list/bug/CG-18526?_gl=1*19845ua*_gcl_au*MTEyMzYxODgxMS4xNzg1NjcxMDc2*_ga*MjAxMDg5NDg0MC4xNzM3ODgxNTEw*_ga_C7SLJ6HMJ5*czE3ODY0NDAwNjIkbzk4MiRnMSR0MTc4NjQ0MDg5NyRqNTkkbDAkaDE1MDk4NjcwMjE.) – Fixed the issue where pages imported across environments returned 404 for 30 to 60 minutes after the import.

### July 22

Service Deployment 5.12.0

**Bug fix**

- [CG-14827](https://world.optimizely.com/support/Bug-list/bug/CG-14827?_gl=1*k0h1mq*_gcl_au*MTEyMzYxODgxMS4xNzg1NjcxMDc2*_ga*MjAxMDg5NDg0MC4xNzM3ODgxNTEw*_ga_C7SLJ6HMJ5*czE3ODY0NDAwNjIkbzk4MiRnMSR0MTc4NjQ0MDg5NyRqNTkkbDAkaDE1MDk4NjcwMjE.) – Fixed the issue where Graph queries that filtered on many locales returned a 500 error.

### April 28

### Service Deployment 5.9.0

**Bug fixes**

- [CG-13355](https://world.optimizely.com/support/Bug-list/bug/CG-13355) – Fixed the issue where deleting content in Optimizely Graph triggered a generic `bulk` webhook event instead of a dedicated deletion event.

### March 18

### Service Deployment 5.7.0

**Enhancement**

- Improved content ingestion performance and reliability by decoupling vector embedding generation from the indexing pipeline.

### February 2

### Service Deployment 5.6.0

**Enhancement**

- Added Smooth Rebuild support to rebuild Graph indexes with minimal disruption by keeping the existing index available while preparing a new one. This feature reduces downtime and provides a safer way to apply schema and configuration changes. Learn more about [Smooth Rebuild](https://docs.developers.optimizely.com/platform-optimizely/update/docs/smooth-rebuild).

**Bug fixes**

- [CG-15806](https://world.optimizely.com/support/Bug-list/bug/CG-15806) – Fixed an issue where Smooth Rebuild was returning 0 results on subsequent runs.

:::hint{type="info"}
**Note**

Customers should be aware that if they are running Smooth Rebuild, there is an existing bug not caused by this release. We are actively working on a fix for it. In the mean time, the workaround is to simply make a small change to that document and sync it again, the changes will take effect. Learn more about the [bug](https://world.optimizely.com/support/Bug-list/bug/CG-16057?_gl=1*1mvhan5*_gcl_au*MjA2MDM2NTU5Ny4xNzc4NzcyMzI0LjExMzAwMjYxNDIuMTc4MDY3MzE5Ni4xNzgwNjczMjE0*_ga*NTk1ODQwNzgxLjE3Nzg3NzIyMDI.*_ga_C7SLJ6HMJ5*czE3ODUzMzEyNTIkbzIyOCRnMSR0MTc4NTMzMzgwMCRqNSRsMCRoMjAxODMwMDgwNg..).
:::
