2024 CMS release notes

  • Updated

Release notes for Optimizely Content Management System (CMS). Product packages are found on the Optimizely NuGet server

Are you looking for release notes before January 2024? See the Optimizely Release Notes on the Optimizely World site.

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

April 2, 2024

EPiServer.CMS.UI 12.29.0


  • UIOptions now includes the UsePreviewTokens. Use this to configure an alternative approach to interact in On-page Edit between the Content Management System (CMS) and the delivery site. The option appends PreviewUrl to the new preview token.
  • Updated EPiServer.ImageLibrary.ImageSharp dependency to 1.0.1, which contains a vulnerability fix.

March 26, 2024

EPiServer.CMS.Core 12.21.2

Bug fixes

  • Fixed an issue that redirected you to an existing URL even when you entered a non-existent URL (which should produce an HTTP 404).
  • Fixed an issue that prevented the loading of an object as a PropertyBag. This issue occurred when a type with an enum property was stored in DDS and then later was no longer present. The missing enum value should have returned as an int but the load failed System.ArgumentNullException: Value cannot be null. (Parameter 'key').

March 19, 2024

EPiServer.CMS.Core 12.21.1

Bug fixes

  • Fixed an issue with IContentUrlGeneratorEvents interface where both GeneratingUrl and GeneratedUrl did not contain URL query string information.
  • Fixed an issue where copying a page with an empty inline block did not work.
  • Fixed an issue with a secondary exception in DefaultDataExporter.Export which caused code cleanup to occur before logging the issue. The code cleanup could result in an error, and no issue would be logged. Now, the issue is logged before code cleanup starts.
  • Fixed an issue where UIHintModelTemplateTagProvider loaded custom attributes of the property and slowed down performance.
  • Fixed an issue where PropertyLinkItem and PropertyXhtmlString needed to be marked as modified to get persisted.
  • Fixed an issue where the ViewBag properties were empty in block views, even though it was populated with custom ViewData.

EPiServer.CMS.UI 12.28.0


  • Simplified the restriction information so that it occupies less space in the editors.
  • The product implementation of AspNet Identity now uses normalized usernames, which are indexed in the database. In conjunction with this, the performance of working with users in groups was significantly improved, which is reflected when working with approval definitions.

Bug fixes

  • Fixed an issue where registering MetadataHandler was not thread-safe.
  • Fixed an issue where Audiences were not sorted alphabetically by their names.
  • Fixed an issue where a console error was thrown if contentSelector was not defined.
  • Fixed an issue where deleted items were displayed as invalid links in content reference lists.
  • Fixed an issue where edit mode did not load when defaultView was unavailable.

March 12, 2024

EPiServer.CMS.Core 12.21.0


  • Introduced an abstraction to handle preview tokens when building decoupled applications.

Bug fixes

  • Fixed an issue where ScheduleJobBase.OnStatusChanged threw an exception when a message longer than 2048 characters was entered. Now, if a longer message is entered, it is truncated to 2048 characters.
  • Fixed an issue where incorrectly formatted URLs in TinyMCE caused UI to not load for that content. Now, the link works by filtering out incorrectly formatted URL parameters or by treating the link as external if something goes wrong while resolving the internal content.
  • Fixed an issue where a regular expression used for validating links was created in an inefficient way and unnecessarily increased the duration of the job.
  • Fixed an issue where some activities were saved using an async method in which the calling thread completed while the background thread was being executed, and this could cause an ObjectDisposedException. Now, the background async save runs in a background context to ensure that it gets its own scoped IoC container.

February 27, 2024

EPiServer.CMS.UI 12.27.1

Bug fixes

  • Fixed an issue where property values in nested blocks did not update correctly when using Quick Edit.
  • Fixed an issue where you could not delete a website language even though any site did not use it.
  • Fixed an issue where the name of the form field or the header for the XSRF token could not be changed.
  • Fixed an issue where 414 URI Too Long error message displayed when selecting more than 150 items in a project.
  • Fixed an issue where adding links to a LinkItemCollection presented images first and then content folders. Now, they are alphabetically sorted.

February 6, 2024

EPiServer.CMS.Core 12.20.3

Bug fixes

  • Fixed an issue where activities saved asynchronously and could take more time to finish than to run the main program; this could lead to errors. The saving process occurs in the background and does not interfere with the main program.
  • Fixed an issue where the canonical link directed the user to the Swedish version of the page, even though the language fallback rules dictate that the canonical link should direct to the English version.
  • Fixed inconsistent behavior when updating IList<Block>. When the inner block with an image property and the outer block were marked as CultureSpecific, translating the block, let the user select two different images to use in the list.
  • Fixed an issue where delayed loading of content area or list because of properties that have overlapping PropertyDefinitionIds might fail with a NullReferenceException due to over-fetching of data.

January 23, 2024

EPiServer.CMS.Core 12.20.2

Bug fixes

  • Fixed an issue ContentAssetFolder content structure was not supported and a meaningful error message did not display. Now, content updates successfully and a warning displays.
  • Fixed an issue where block property in the child page did not inherit values of the same block property in the parent page.
  • Fixed an issue where using a shortcut to a child page in Swedish redirected you to a child page in English instead.
  • Fixed an issue where a vulnerability existed between the SQL client and the SQL server in Microsoft.Data.SqlClient NuGet packages. Microsoft security advisory announcement: https://github.com/dotnet/announcements/issues/292#affected-packages.
  • Fixed an issue where adjusting the following code in the index.xhtml file (StandardPage) in the alloy template from:
    @Html.PropertyFor(x => x.CurrentPage.MainContentArea, new { CssClass = "row" })
    @Html.DisplayFor(x => x.CurrentPage.MainContentArea, new {CssClass = "row",ChildrenCustomTagName = "section"})    

    did not render the expected "section" element.

  • Fixed an issue where upgrading Content Management System (CMS) versions caused SQL upgrade scripts to run twice and the upgrade to fail.

EPiServer.CMS.Core 11.21.3

Bug fixes

  • Fixed an issue where a vulnerability existed between the SQL client and the SQL server in System.Data.SqlClient NuGet packages. Microsoft security advisory announcement: https://github.com/dotnet/announcements/issues/292#affected-packages.
  • Fixed an issue where when you clicked Stop Job on a custom long-running scheduled job, the job became stuck in a running state and displayed The job is stopping message. There was no change upon reloading the page and you could not start or stop the job from that state. Now, the job stops successfully and a message prompts you to refresh the page to see the updated status.

January 16, 2024

EPiServer.CMS.UI 12.27.0


  • Settings, Tools, and Search Configuration now contain the ability to enable or disable Search Providers.

Bug fixes

  • Fixed an issue where no message was displayed to inform the user that they cannot create, copy, or edit a content type with the same name as an existing one.
  • Fixed an issue where Convert to inline-block displayed as an option. Upon selecting it and clicking publish, an error message was displayed even though Commerce does not support inline blocks for content area items.
  • Fixed an issue where the list of projects did not display within the browser window when window height was reduced to less than 800 pixels.
  • Fixed an issue when saving other media (content type) and changing the supported media extensions that could trigger 500 internal server error.
  • Fixed an issue where adding a new list property did not save and an error message displayed.

January 9, 2024

EPiServer.CMS.UI 12.26.1

Bug fixes

  • Fixed an issue where ValidateModulesNotInWebRootPathInitializer threw an exception when PublicModuleOptions.RootPath had default values, which caused an error during startup. The workaround is to set the PublicModuleOptions.RootPath.
  • Fixed an issue in the context menu that caused an empty space and a border (if the command was not available or there was a delay while making it available) for the initial load of the context menu when you added a command inside the context menu.
  • Fixed an issue that let you edit the display name when a translated name was provided.
  • Fixed an issue where the Publish button was not displayed for a master language element (such as a block). For example, if you created a block in the master language (but did not publish), then translated the block into another language (such as Svenska), then tried to publish the Svenska block, you got a message that the master language block was not yet published, which is where the Publish button did not display.
  • Fixed an issue in edit view that displayed "Block" instead of the name of the block type.
  • Fixed an issue that let you edit the help text when a translated name was provided.
  • Fixed an issue where the List<T>: value of Url field was lost after refreshing the current page.
  • Fixed an issue where the edit mode became unresponsive intermittently, seemingly without any particular pattern, most common on large and complex pages, such as start pages. The probable cause was timing conflicts between different JavaScript functions executing in the incorrect order.

    Steps to reproduce:

    1. Run a scheduled job and wait until it is completed.
    2. Got to scheduled jobs history: 
      Expected: Startdate contained the start date of the scheduled job
      Actual: Startdate contained the completed date of the scheduled job
  • Fixed an issue in Settings where the Create a new block command was not displayed if allowed types were created from Settings.
    If a block type created from code was added to the Allowed content types, the Create block command was displayed.

    Steps to reproduce:

    1. In Settings, create a block type called MenuItemBlock with some properties.
    2. In Settings, create a block type called HeaderBlock.
    3. Add a content area property to HeaderBlock, and select Allowed Content Types = MenuItemBlock.
    4. In Edit mode, create a block of type HeaderBlock. Only the Select Content command was displayed.