Follow this article to receive email notifications when new packages are available for Optimizely Content Management System (PaaS) products. Product packages are found on the Optimizely NuGet server and include the following products:
- Optimizely Content Management System (CMS 12)
- CMS Opal Chat
- CMS Cloud Platform
- CMS+CMP integration
- Content Delivery API
- Optimizely Forms
- Episerver Forms
- Optimizely Language Manager
- Marketing Automation
- TinyMCE
- Optimizely Digital Experience Platform (DXP)
- Optimizely Reporting
Are you looking for 2025 CMS (SaaS) release notes?
Or release notes before January 2024 on the Optimizely World site?
You can find prior versions of user guides (2021 and older) and when functionality was released or deprecated at the following locations:
Most recent releases
| Date | Release | Type |
|---|---|---|
| December 19, 2025 |
|
Bug fixes |
| December 19, 2025 |
|
Enhancement and bug fix |
| December 18, 2025 |
|
Bug fixes |
| December 17, 2025 |
|
Enhancement |
| December 12, 2025 | Enhancement | |
| December 4, 2025 |
|
Bug fix |
| November 25, 2025 |
|
Enhancement and bug fix |
| November 12, 2025 |
|
Enhancement and bug fixes |
| November 6, 2025 | Enhancement | |
| November 4, 2025 | Bug fixes | |
| October 27, 2025 | Enhancement and bug fix | |
| October 20, 2025 | Enhancement | |
| October 15, 2025 | Enhancements and bug fixes | |
| October 3, 2025 |
|
Enhancement |
| September 24, 2025 |
|
Enhancements and bug fixes |
| September 23, 2025 | Bug fixes | |
| September 12, 2025 |
|
Bug fixes |
| September 11, 2025 |
|
Bug Fix |
| September 9, 2025 |
|
Enhancement |
| September 2, 2025 |
|
Bug fix |
| August 21, 2025 |
|
Enhancement |
| August 20, 2025 |
|
Bug fixes and enhancements |
| August 12, 2025 |
|
Bug fix |
| August 11, 2025 |
|
Bug fix |
| July 25, 2025 |
|
Bug fixes |
| July 16, 2025 |
|
Enhancement & Bug fix |
| July 8, 2025 |
|
Bug fix |
| July 3, 2025 |
|
Bug fixes |
| June 24, 2025 | Bug fix | |
| June 17, 2025 |
|
Bug fix |
| June 4, 2025 |
|
Bug fixes |
| May 20, 2025 |
|
Bug fixes |
| May 13, 2025 |
|
Bug fixes |
| May 07, 2025 |
|
Bug fix |
| April 22, 2025 | Bug fixes | |
| April 15, 2025 | Bug fixes and enhancements | |
| April 10, 2025 |
|
Enhancement |
| April 1, 2025 | Bug fixes and enhancements | |
| March 25, 2025 |
|
Bug fixes |
| March 21, 2025 |
|
Enhancements |
| March 18, 2025 |
|
Enhancement |
| March 11, 2025 |
|
Bug fixes |
| March 4, 2025 | Bug fixes | |
| February 28, 2025 |
|
Bug fixes |
| February 26, 2025 |
|
Bug fixes |
| February 18, 2025 |
|
Bug fixes |
| February 11, 2025 | Bug fixes | |
| January 24, 2025 |
|
Bug fixes |
| January 21, 2025 | Enhancements and bug fixes | |
| January 7, 2025 |
|
Bug fixes |
CMS 12
EPiServer.CMS.Core
-
Bug fixes
-
CMS-42164 – Fixed an issue where missing
[EPiServerDataIndex]attributes on theSourceLinkandParentLinkproperties ofParentRestoreEntityin theEPiParentRestoreStoreresulted in slow lookups. Adding these attributes significantly improves query performance for the store. -
CMS-46821 – Fixed an issue where InvalidOperationException: Collection was modified errors occurred in
ClientResourceServiceduring@Html.RequiredClientResources(RenderingTags.Footer)rendering. This was observed when customIClientResourceProviderimplementations were overriding built-in scripts, indicating a concurrency problem. TheClientResourceServicenow creates a collection snapshot during iteration, preventingInvalidOperationExceptionin concurrent scenarios and improving stability. -
CMS-46976 – Fixed an issue where a scheduled job that was not set as restartable would remain running after an interruption due to a crash or restart. This incorrectly indicated that the job was still running. The system now uses the
LastPingvalue to detect if the job is no longer active and adds a (Not responding) to the status message on the jobs details page. -
CMS-47341 – Fixed an issue where a
SqlNullValueExceptionwas thrown when querying for users with a nullGivenName. This occurred because theGivenName,Surname, andEmailfields in thetblSynchedUsertable were not correctly handled as nullable during queries. The system now correctly reads these fields as nullable, preventing the exception. -
CMS-47608 – Fixed an issue where
IUrlResolver.GetUrl()returned an unescaped URL when called with aContentReferenceparameter, which caused inconsistent URL formats compared to otherGetUrlcalls. Now,GetUrlcalls fromUrlResolverandIUrlResolverconsistently return escaped URLs.
-
CMS-42164 – Fixed an issue where missing
-
Enhancement
- Updated public dependencies to enhance security.
-
Bug fixes
-
CMS-40238 – Fixed a potential memory leak in
ContentAreawhere event handlers were registered but not properly unregistered. This issue could lead to increased memory consumption over time, though there is no indication of a scenario where the memory would not eventually get freed. The correction ensures that event handlers are now correctly managed, removing even the hypothetical risk of a memory leak. -
CMS-40239 – Fixed a potential memory leak in
XhtmlStringwhere event handlers were registered but not properly unregistered. This issue could lead to increased memory consumption over time, though there is no indication of a scenario where the memory wouldn’t eventually get freed. The correction ensures that event handlers are now correctly managed, removing even the hypothetical risk of a memory leak. -
CMS-44859 – Fixed a performance bottleneck where each subscriber registration triggered a separate database query to check for notification users. Optimizely reduced the number of calls and made improvements to the stored procedure (
netSynchedUserList) used for finding each user. -
CMS-44872 – Fixed the “check for block” usages to enhance performance and optimize execution plans by removing branching on input parameters and handling duplications in the application layer, instead of relying on
DISTINCTandUNIONin the SQL statement. - CMS-46455 – Fixed an issue where background tasks were not running in an isolated context, which might have led to conflicts with database contexts and other parallel threads or tasks.
-
CMS-40238 – Fixed a potential memory leak in
-
Enhancement
- Added limited retries for undeliverable notifications. Failed notifications are retried for a set number of times and then marked undeliverable if they cannot be sent.
- Added the ability to make preview tokens reusable. Tokens now validate user permissions instead of a specific content reference.
-
Bug fixes
- CMS-41404 – Fixed an issue where images embedded in the Rich Text Editor incorrectly had preview tokens appended to their URLs.
- CMS-41854 – Fixed an issue where converting a property to an incompatible type could leave invalid data on content instances, causing pages to fail to load with a cast exception.
- CMS-43245 – Fixed an issue where Cloudflare could cache login redirects or protected media files, potentially blocking access for authenticated users or exposing restricted content. Protected files without public access now include no-cache headers.
-
CMS-44365 – Fixed an issue where the
netBlockTypeCheckUsagestored procedure performed slowly for certain customers due to inefficient use ofTOP 1andORDER BYoperations. -
CMS-40096 – Fixed an issue where
UrlResolverandIUrlResolverreturned inconsistently escaped URLs, causingUrlResolver.Routeto return null for URLs containing non-ASCII characters. -
CMS-43111 – Fixed an issue where the
netMappedIdentityGetByIdstored procedure did not efficiently use the database index, causing slow performance. -
CMS-43285 – Fixed an issue where URLs with segments starting with
http:or other protocols caused a 500 error instead of returning a 404 page.
-
Bug fix
-
CMS-42756 – Fixed an issue where
IUrlResolver.GetUrlsometimes generated a relative URL forIContentMediaeven whenForceAbsoluteis set to true.
-
CMS-42756 – Fixed an issue where
- Bug fixes
-
Bug fixes
-
CMS-37561 – Fixed the issue with the index to exclude NULL values, as the most common value for
tblContent.ArchiveContentGUIDis NULL, making the existing index ineffective. -
CMS-39486 – Fixed the issue with the
setValuemethod ofLazyPropertyValueLoadernot providing enough information for troubleshooting. - CMS-40666 – Fixed a redirect issue that caused the error: InvalidOperationException: Invalid non-ASCII or control character in the header: 0xXXXX'.
-
CMS-37561 – Fixed the issue with the index to exclude NULL values, as the most common value for
-
Bug fixes
- CMS-37890 – Fixed an issue where audiences and visitor groups were not syncing across all servers.
-
CMS-39893 – Fixed an issue that let a user publish a page without filling in a required property in an
Ilist. - CMS-37156 – Fixed an issue where client resources fail to load in the CMS UI when using a redirect hostname.
- CMS-39589 – Fixed an issue with routing not working with a language segment when it should generate URLs without a language segment and work both with and without a language segment.
-
CMS-39934 – Registering a custom
IConstructorParameterResolverto handleContentDataconstructors with one or more parameters will result in aMissingMethodExceptionwhen instances of the content type are constructed.
-
Bug fixes
- CMS-39541 – Fixed an issue where changing a property from ContentArea to ContentAreaItem with multiple inline blocks could cause an infinite loading loop and halt site responsiveness.
-
CMS-37956 – Fixed an issue where the optimizations for
Html.ContentLink()andUrl.ContentUrl()methods made it harder to add general URL customizations. The optimizations have been removed. - CMS-39593 – Fixed an issue where images in the media asset panel were not sorted alphabetically.
-
Bug fix
-
CMS-38813 – Fixed an issue where you could not create an audience when using .NET 9 due to an error occurring for the
BinaryFormatter.
-
CMS-38813 – Fixed an issue where you could not create an audience when using .NET 9 due to an error occurring for the
EPiServer.CMS.UI
-
Bug fix
-
CMS-45895 – Fixed an issue, that occurred during a Quick Edit operation, that did not display a warning message when a custom
IContentEvents.SavingContentevent handler returnedCancelAction = truewith aCancelReason. Now, when using Quick Edit, if a customSavingContentvalidation prevents content from being saved, the specifiedCancelReasonmessage is correctly displayed in the UI.
-
CMS-45895 – Fixed an issue, that occurred during a Quick Edit operation, that did not display a warning message when a custom
-
Enhancements
- Enhanced the Optimizely Graph Search functionality by resolving shared internal identifiers and ensuring that the CMS search provider acts as a fallback, which allows content that was excluded from Graph synchronization to remain discoverable within the CMS UI.
-
Bug fixes
- CMS-44226 – Fixed an issue where the Role dropdown list in the Audiences screen was not sorted, improving user experience by ensuring roles are displayed in an organized and easily navigable manner.
- CMS-45382 – Fixed the issue that prevented Time Period criteria creation in Audiences to enable time-based conditions for audience segmentation.
- CMS-45481 – Fixed the item counting issue in the Dashboard when external providers were installed.
- CMS-45648 – Fixed an issue where changes to the LinkItem property were not saved, even when the editor value was modified.
-
Bug fix
- CMS-45439 – Removed outdated Flash components from the EPiServer.CMS.UI NuGet package. These components, part of a dependency package, were not used or distributed in CMS websites but posed a risk of triggering firewalls or antivirus software during downloads due to Flash being deprecated.
-
Bug fix
- CMS-44206 – Fixed the issue where the Test Run with Error Log in Export Data did not complete.
-
Bug fix
-
CMS-44217 – Fixed an issue with the incorrect file version of
EPiServer.CMS.dll, which could cause problems when restoring theEPiServer.CMSNuGet package as a dependency.
-
CMS-44217 – Fixed an issue with the incorrect file version of
-
Bug fixes
- CMS-41646 – Fixed an issue affecting the alphabetical sorting of content items (pages, blocks, and media files) with Norwegian characters.
- CMS-43170 – Fixed a issue where the Inline block name was incorrectly HTML-encoded.
-
CMS-39582 – Fixed an issue where the edit interface failed to redirect correctly by dynamically setting the
EditUrlbased on theProtectedModuleconfiguration whenEditUrlwas not explicitly defined. A logic update now dynamically sets theEditUrlif it is not explicitly defined. - CMS-43121 – Fixed the inconsistent saving of values when you selected or deselected multiple audiences.
-
CMS-43203 – Fixed an issue where controllers in the Admin shell module did not use
System.Text.Jsonas the default JSON serializer. Now they do.
-
Bug fixes
-
CMS-39673 – Fixed the issue where unhandled exceptions occurred when accessing a Content instance from
ContentDataStorecould lead to the edit UI remaining in a loading state. - CMS-41227 – Fixed the iframe issue where is loads for a long time; it is not possible to use the mouse wheel to access the top bar properties.
- CMS-42311 – Fixed a bug where it was not possible to export content items from CMS after changing the global serializer options.
-
CMS-42335 – Fixed the issue by adding a way to subscribe to the
contentSavedevent directly instead of relying on a globalwindow.epiobject.
-
CMS-39673 – Fixed the issue where unhandled exceptions occurred when accessing a Content instance from
- Bug fixes
-
Enhancements
- Improved export screen in admin mode to work more reliably when exporting very big data chunks.
- Improved the import data view in the Settings to prevent potential timeout issues when importing large files or when the import HTTP request lasts an extended duration.
- Improved error messages for file uploads will inform users about the source of the error.
-
Bug fixes
- CMS-39707 – Fixed an issue where the select image button does not work.
- CMS-32843 – Fixed an issue where the editor got a bad request from /activity/ controller when selecting multiple project items.
-
CMS-33725 – Fixed an issue where uploading a file larger than
UploadOptions.FileSizeLimitin an instance on DXP results in an HTTP status of 405 (Method not allowed) instead of the intended 413 (Content too large). - CMS-40071 – Fixed an issue where the SaaS CMS could not drag and drop content blocks into the content area if the display name contained spaces.
- CMS-40012 – Fixed an issue when the focus was lost after editing an inline-block.
- CMS-40101 – Fixed an issue where the Catalog entry search from the Assets panel takes a much longer time compared to the left on Navigation panels.
-
Bug fixes
- CMS-37958 – Fixed an issue where personalization groups incorrectly let you configure the same audience for multiple variants or fragments, even though only single variants of fragments were allowed.
- CMS-39324 – Fixed an issue where the quick navigator rendered only for the default authentication scheme (instead of the specified authentication scheme) when you used mixed-mode authentication.
-
CMS-39103 – Fixed an issue that did not restrict file types for upload. Now the Import Data function allows uploads of only files with the
.episerverdataextension. - CMS-38847 – Fixed an issue that let a user publish a page without filling in a required property in an Ilist. (You should be able to save the content that contains a list of blocks with some required values missing but you should not be able to publish it.)
-
Bug fixes
-
CMS-37388 – Fixed an issue that did not display a pop-up window when you selected an image in the
ImageRefproperty. -
CMS-35323 – Fixed an issue that caused a blank screen in CMS edit. This happened in some rare conditions when shared resources could not be parsed on time, or
dojo.getObjectcaused the exceptionmultipleDefinethat led to an exception in other places that tried to accessepi.resources.action. - CMS-35654 – Fixed an issue in the date that displayed incorrectly when you used scheduled publishing.
-
CMS-37919 – Fixed an issue in subcategories that included
&nbps;instead of a space when you created an audience with a Site Criteria on Visited category. -
CMS-38508 – Fixed an issue where errors were logged because not all schemas can handle sign out. If you did not use
OptimizelyIdentityorCmsAspNetIdentity, there was no registered implementation ofEPiServer.Shell.Security.UISignInManager. In this scenario, when logging out from CMS UI, you should only callSignOutAsyncon the default schema.
-
CMS-37388 – Fixed an issue that did not display a pop-up window when you selected an image in the
EPiServer.ImageLibrary.ImageSharp
- Bug fix
- Bug fix
Optimizely.Cms.OpalChat
-
Enhancement
Added CMS context support and infrastructure enhancements to OpalChat for CMS 12, including automatic context passing and improved event-driven behavior. See Optimizely Opal Chat for CMS 12.
-
Bug fix
-
CMS-46768 – Fixed
TagHelperComponentregistration issue that prevented OpalChat scripts from loading when other components were registered first.
-
CMS-46768 – Fixed
-
Enhancement
- Optimizely Opal Chat is generally available to research, brainstorm, and edit content. See Optimizely Opal Chat for CMS 12.
-
Enhancement
- (Beta) Use Optimizely Opal Chat to research, brainstorm, and edit content. See Optimizely Opal Chat for CMS 12.
CMS Cloud Platform
EPiServer.CloudPlatform.Cms
-
Enhancement
- Added updated Azure DataProtection SDK dependencies in Cloudplatform to mitigate a performance issue that could cause ThreadPool starvation.
-
Bug fix
- CMS-44283 – Fixed an issue where Cloudplatform packages 1.7.2 were not strong-name signed. This release includes properly strong-name–signed assemblies.
- Bug fixes
-
Enhancements
-
CloudPlatformnow supports using connection string to configure the application insights tracking script.TheInstrumentationkey will be unsupported from 31 March 2025. - Updated the following
CloudPlatformdependencies to void a known issue with Microsoft packages. See [DataProtection] Hang at application start when trying to get DataProtection key from Azure KeyVault #53989.
-
CMS + CMP
EPiServer.Cms.WelcomeIntegration
-
Bug fix
-
CMS-46207 – Fixed an issue where you could not update or replace an asset from the Digital Asset Management (DAM) when using the single LinkItem property on a page or block. Previously, attempting to edit a link opened the DAM pop-up instead of the expected Edit Link window, and errors occurred when trying to add a link after removing the old one. This behavior was inconsistent with the
LinkItemCollectionproperty, which functioned correctly. Now, editing a singleLinkItemopens the Edit Link window, allowing seamless asset updates.
-
CMS-46207 – Fixed an issue where you could not update or replace an asset from the Digital Asset Management (DAM) when using the single LinkItem property on a page or block. Previously, attempting to edit a link opened the DAM pop-up instead of the expected Edit Link window, and errors occurred when trying to add a link after removing the old one. This behavior was inconsistent with the
-
Bug fix
- CMS-44290 – Fixed an issue where DAM asset maintenance job failed when the asset metadata was malformed.
-
Enhancement
- Updated the CMS 12
HtmlHelperandTagHelperfor DAM assets to correctly render alt text for both images and their renditions when assets are served from Graph. The metadata service now detects rendition-based requests and resolves metadata from the original image, ensuring all rendition properties are populated correctly and improving accessibility for Graph-indexed DAM assets.
- Updated the CMS 12
-
Bug fixes
-
CMS-42876 – Fixed an issue where clicking an image did not open it in Optimizely DAM if content reference properties had
UIHintset toImage. - CMS-42759 – Fixed an issue where the DAM metadata maintenance job may run too fast for the CMP API threshold of 10 requests per second.
- CMS-42582 – Fixed a CMS installation issue with Commerce: a scheduled asset tracking job fails with a Unexpected metadata type argument error if metadata is missing. Non-Commerce installations are unaffected.
- CMS-42853 –Fixed an issue where DAM image metadata wasn't retrieved during page or block publishing.
-
CMS-42876 – Fixed an issue where clicking an image did not open it in Optimizely DAM if content reference properties had
- Bug fixes
- Bug fixes
2.1.2—April 1, 2025
-
Bug Fixes
-
Fixed an issue in the CMP metadata maintenance scheduled job that failed when trying to remove assets.
The scheduled job, CMP asset metadata maintenance, divided the used assets into chunks while retrieving metadata from the DAM. When one image used in CMS was removed in CMP, that chunk failed to update. If the asset was properly tracked, then CMP would also give the option to cancel the removal with a warning that the image was in use, and where, prior to deleting it.
This affected only installations using the REST API integration and not the Graph integration. See CMP DAM in CMS for information about Optimizely Graph integration.
- Fixed an issue that opened CMS assets incorrectly when you replaced DAM assets on
ContentReferenceproperties.ContentReferenceproperties that did not specifyUIHintopened the CMS content tree even if DAM assets were currently referenced. You can workaround this by removing the reference and choosing a new one instead of replacing it. - Fixed an issue where duplicate references to DAM caused a malfunction in the scheduled job for maintaining metadata that has been resolved.
-
-
Enhancement
- Reduced the number of requests performed against the CMP DAM API to increase performance in retrieving metadata for referenced assets.
-
Bug fixes
-
CMS-38213 – Fixed an issue that caused a scheduled job failure when neither the CMP API nor Optimizely Graph was integrated and configured. Logs contained errors that indicated CMP integration was not configured: Client Id and Client Secret are required in CmpClientOptions.
See CMP DAM in CMS.
-
CMS-38272 – Fixed an issue that caused the graph query to fail when CMS was configured to index content into Optimizely Graph and CMP DAM assets were also being retrieved from Optimizely Graph. Workaround: Configure the
OptiGraphOptions.TransformActionBehaviouroption and set it toCloneto let CMS use two different sources in Optimizely Graph. Note that DAM and CMS have their ownSingleKeyused to query Optimizely Graph.
-
Cmp.Client
-
Enhancement
- Added
ICmpClient EnsureConfigurationto validate the configuration without calling actual endpoints.
- Added
Content Delivery API
EPiServer.ContentDeliveryApi
-
Bug fix
- HAPI-2917 – Fixed an issue where serialization of XHTML strings could throw an exception with the message "Value cannot be null. (Parameter 'provider')" during index operations for certain content IDs. Although the issue could not be consistently reproduced, safeguard checks were implemented to prevent this error in the future.
-
Bug fix
-
HAPI-2907 – Fixed an issue where the content in an XHTML string sometimes contained incorrect information or was empty after indexing when
MaxDegreeOfParallelismwas set to greater than 1.
-
HAPI-2907 – Fixed an issue where the content in an XHTML string sometimes contained incorrect information or was empty after indexing when
-
Bug fixes
-
HAPI-2871 – Fixed an issue where users can still access content even if it does not match the
RequiredRole. -
HAPI-2878 – Resolved an issue where
EPiServer.ContentManagementApiversion 3.11.0 could not find the service forIContentApiRequiredRoleFilter. -
HAPI-2831 – Fixed an issue where the
ContentDeliveryApiOptions.RequiredRolesetting did not take effect when theContentSearchApiOptions.RequiredRolewas configured. -
HAPI-2880 – Fixed an issue that caused an exception in the
ExpandedContentPropertyModel.ExpandPropertymethod.
-
HAPI-2871 – Fixed an issue where users can still access content even if it does not match the
-
Enhancement
- Added support for the
ContentAreaItemproperty. You canGET,CREATE,UPDATE, andPATCHtheContentAreaItemproperty through Content Management API.
- Added support for the
-
Bug fix
-
HAPI-2846 – Fixed an issue in
ErrorsStartupFilterthat redirected 4nn responses to the corresponding view/Util/Errors/Error4xx. This caused a problem when the partner challenged a 401 response, the filter caught it and redirected it to the Error401 view (which does not even exist) and other weird behavior.
-
HAPI-2846 – Fixed an issue in
Optimizely Forms
Optimizely.CMS.Forms.*
-
Enhancement
- Added an Optimizely Graph indexing enhancement that honors
Booleantype settings to ensure accurate type mapping and improved interoperability with GraphQL. You can now queryboolproperties using the standard GraphQLBooleantype. Previously, C#boolproperties were converted to a customBooltype, which limited compatibility with GraphQL's default Boolean type. This enhancement improves interoperability with GraphQL standards and simplifies the querying process forboolproperties, eliminating the need for additional configuration.
- Added an Optimizely Graph indexing enhancement that honors
-
Bug fix
-
AFORM-4690 – Fixed an issue where the indexing job failed when using
Optimizely.ContentGraph.Cmsversion 4.x.x or higher.
-
AFORM-4690 – Fixed an issue where the indexing job failed when using
-
Enhancement
- Added support for
PreventFieldCollisionin Forms to prevent conflicts if different content types use the same field name with different data types (such asDataSource$$stringandDataSource$$int) when indexing data in Optimizely Graph. When you setPreventFieldCollisionto true, field names are stored in Optimizely Graph with their data type. This ensures more reliable data storage and querying, while maintaining backward compatibility whenPreventFieldCollisionis disabled.
- Added support for
-
Bug fix
-
AFORM-4594 – Fixed a compatibility issue between
Optimizely.ContentGraph.Cms3.14.3 andOptimizely.Cms.Forms.ContentGraph1.1.0.
-
AFORM-4594 – Fixed a compatibility issue between
-
Bug fixes
-
AFORM-4550 – Fixed an issue with custom element types that inherit from
SelectionElementBlockso they will work with the feed provider. -
AFORM-4300 – Fixed an issue that had the wrong access right for the submission API, causing an error: 403 Forbidden with detail: Unable to view form submission with key
submissionKey, associated with the form key. -
AFORM-4234 – Fixed an issue on a form where
SubmissionKeyis not a submission key, which returned an error (500) instead of the expected 400. - AFORM-3907 – Fixed an issue that caused an error (500) when the system tried to redirect to an image after form submission.
-
AFORM-4254 – Fixed an issue with Get default language that was missing the
submitSuccessMessage.
-
AFORM-4550 – Fixed an issue with custom element types that inherit from
EPiServer.Forms.*
-
Bug fixes
- AFORM-4084 – Fixed an issue where anonymous form submissions would result in a generic "500 Internal Server Error" if you had logged into the application in another browser tab. You will now receive a more user-friendly error message when an anti-forgery token is incorrect, preventing repeated failed submissions and improving your overall experience.
-
AFORM-4650 – Fixed an issue where the version in Razor views, such as
ParagraphTextElementBlock, was not updated after code changes. Going forward, ensure that the version is updated accordingly whenever you make code changes in these files. - AFORM-4693 – Fixed an issue where an exception could occur during email submission if placeholder values were null. Optimizely added null checking to prevent this, ensuring that you can now send emails after submission without encountering unexpected errors, submissions without encountering unexpected exceptions.
-
Bug fixes
- AFORM-4672 – Fixed an issue where copying forms with deleted dependencies resulted in an "Object reference not set" error; the copy action now proceeds, and a warning is logged for deleted dependencies.
-
AFORM-4689 – Fixed the issue where forms with a
Numberelement configured forIntegerorPositive Integervalidators were submitted successfully when an invalid number (such as a period orNumpadDecimal) was entered, instead of displaying an "invalid number" message.
-
Bug fix
-
AFORM-4513 – Fixed an issue where the DatePicker in
Forms.Sampledisplayed the incorrect date format.
-
AFORM-4513 – Fixed an issue where the DatePicker in
-
Bug fix
- AFORM-4601 – Fixed an issue that occurred when renaming the form element if the email template was empty.
Optimizely Language Manager
EPiServer.Labs.LanguageManager
-
Bug fix
- Fixed the issue where the Azure AI Translator Service rate limits were exceeded, causing the API to block access. The process now halts immediately if a translation error occurs, preventing the assignment of the
cognitive_service_translation_errorvalue to translatable properties.
- Fixed the issue where the Azure AI Translator Service rate limits were exceeded, causing the API to block access. The process now halts immediately if a translation error occurs, preventing the assignment of the
-
Bug fix
- LM-702 – Fixed an issue that failed to import a translation package due to a corrupted uploaded package error.
-
Enhancement
-
Added support for local blocks in import or export Xliff documents.
When you export to Xliff from a content that contains a
BlockProperty, Language Manager supports one level ofBlockPropertywith no limit of inline block levels. For example:- Page
- BlockProperty
- ContentArea
- InlineBlock 1
- InlineBlock 2
- ContentArea
- InlineBlock 2-1
- InlineBlock 2-2
- ContentArea
- ContentArea
- BlockProperty
- Page
-
-
Enhancement
- Added support for inline blocks to be translated when you import the Xliff content that contains inline blocks.
-
Enhancements
- Extended auto-translation capabilities to
LinkItemandLinkItemCollectionproperties. - Extended auto-translation capabilities to inline blocks.
- Extended auto-translation capabilities to
-
Bug fixes
-
LM-615 – Fixed an issue to translate special characters in URLs. Use
UrlSegmentOptions.ValidCharactersfor a set of valid characters. Otherwise, only alphabetic characters, hyphens (-), and underscores (_) are accepted. - LM-508 – Fixed an issue where you exported a null JSON translation package file if the content contained an inline block.
- LM-507 – Fixed an issue where you exported a null JSON translation package file if the content contained an inline block inside a content area.
-
LM-503 – Fixed an issue in
IList<T>that duplicated or translated an inline block improperly.
-
LM-615 – Fixed an issue to translate special characters in URLs. Use
Marketing Automation
Salesforce
EPiServer.MarketingAutomationIntegration.Salesforce
4.3.5 (CMS 11)—September 23, 2025
-
Bug fixes
- MAI-2232 (CMS 11) – Fixed an issue in the Salesforce Connector where expired credentials could lead to an infinite retry loop, potentially causing site instability. Retry attempts are now limited to a maximum of three.
TinyMCE
EPiServer.CMS.TinyMce
-
Bug fix
- CMS-39735 – Fixed an issue where switching between editing a local block and a global block in the Rich Text Editor could cause the global block to load in Quick Edit mode with data from the previously edited local block.
-
Bug fix
-
CMS-39848 – Fixed an issue where dragging and dropping pages from the recent gadget into
XhtmlStringproperties using TinyMCE did not work.
-
CMS-39848 – Fixed an issue where dragging and dropping pages from the recent gadget into
-
Bug fix
- CMS-41834 – Fixed an incorrect initialization of Optimizely's commercial license key for TinyMCE.
-
Enhancement
- Upgraded TinyMCE to version 7. See also Migrating from TinyMCE 6 to TinyMCE 7. See also blog post by Grzegorz Wiechec: TinyMCE 7 editor upgrade.
- Bug fixes
Personalization
July 8, 2025
-
Bug fix
- Fixed an issue where
MaxMindGeolocationProviderdid not resolve IP address to a geolocation result.
- Fixed an issue where
DXP
-
Enhancement
- Take control of your team's access to Application Insights data directly through the PaaS Portal. A new self-service interface under the API tab lets you generate secrets for accessing Application Insights data without needing to contact Optimizely Support. This enhancement reflects a transition to a new, more efficient method for managing credentials, driven by changes in Microsoft's Application Insights authentication process. See Access Application Insights API to query telemetry.
- Take control of your team's access to Application Insights data directly through the PaaS Portal. A new self-service interface under the API tab lets you generate secrets for accessing Application Insights data without needing to contact Optimizely Support. This enhancement reflects a transition to a new, more efficient method for managing credentials, driven by changes in Microsoft's Application Insights authentication process. See Access Application Insights API to query telemetry.
-
Enhancement
- Added support for the South Central US region (San Antonia, TX) for CMS (SaaS) and CMS 12 (PaaS) hosting. See the Optimizely Service Description for supported regions.
-
Security enhancement
-
Deployed a system update to address a recently identified security vulnerability in ASP.NET Core. If you notice a deployment from that date in your PaaS Portal account, it is part of this proactive patch to ensure our platform remains secure and up to date. See Microsoft Security Advisory CVE-2025-55315: .NET Security Feature Bypass Vulnerability #64033 .
No action is needed.
-
October 3, 2025
-
Enhancement
- Added front-end hosting to make Optimizely your all-in-one solution for managing both your frontend and CMS 12 in one platform. See Host a frontend with Optimizely.
- Deploy your front end in minutes
- Easy-to-use deployment interface
- Fully-managed infrastructure, including CDN & WAF
- Added front-end hosting to make Optimizely your all-in-one solution for managing both your frontend and CMS 12 in one platform. See Host a frontend with Optimizely.
September 24, 2025
-
Enhancement
-
CMS Platform Plus (for CMS 12 PaaS and Commerce Connect 14) is an optional paid app (add-on) for businesses that value high availability, security, and performance, especially for businesses that run mission-critical applications such as banks, hospitals, or commerce businesses, where any service interruption or slowness is not acceptable.
CMS Platform Plus includes:
- Premium service bus – Higher performance, especially with frequent high-traffic campaigns.
- Automatic failover – Region-level availability.
- Zone redundancy – Zone-level availability.
- Guaranteed 99.9% SLA
See CMS Platform Plus tier for information.
-
April 10, 2025
-
Enhancement
- DXP now supports the HTTP/3 protocol, which is the latest version of the HTTP protocol used for transferring data on the web. The HTTP/3 protocol entails:
- Improved Performance – HTTP/3 is built on the QUIC transport protocol, which is designed to reduce latency and improve the speed of web connections, especially on unreliable networks.
- Enhanced Security – HTTP/3 incorporates encryption as a fundamental part of the protocol, thereby enhancing the security of data in transit without requiring additional layers.
- Better user experience – By enabling HTTP/3, websites can offer faster page loads and smoother interactions, leading to a better overall user experience.
- DXP now supports the HTTP/3 protocol, which is the latest version of the HTTP protocol used for transferring data on the web. The HTTP/3 protocol entails:
Optimizely Reporting
-
Enhancement
- Added the Generative Engine Optimization (GEO) Analytics dashboard in Optimizely Reporting to view AI platform traffic and optimize your site’s performance. Using the data from GEO Analytics, you can track AI traffic trends, identify frequent AI agents, and discover popular webpages among AI platforms. This lets you refine your content for AI optimization and leverage high-performing pages to improve overall engagement. See GEO Analytics for CMS (PaaS) – Support Help Center.
Please sign in to leave a comment.