2024 CMS 12 release notes

  • Updated

Follow this article to receive email notifications when new Optimizely Content Management System (CMS 12) packages are available for 2024. 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:

September 10, 2024

EPiServer.CMS.UI 12.31.2

Enhancements

  • Added missing translations for supported languages in various dialog boxes (primarily in Settings).

Bug fixes

  • CMS-35616 – 35703 Fixed an issue that did not always update the URL state when content was selected in the content tree, making it unavailable in the content context. 
  • CMS-35015 – Improved performance when working with deeply nested hierarchies of ILists of blocks.
  • CMS-35079 – Fixed an issue where a setting stayed on manual when you switched to custom settings.
  • CMS-35643 – Fixed an invalid Norwegian translation of Manage users menu option
  • CMS-35659 – Fixed an issue that intermixed the numbering of elements from lists in the UI when you built content with a list of blocks that had their own list.
  • CMS-35982 – Fixed a bug that prevented double-click action on a ContentReference property when it had an existing value of type block.

EPiServer.Core 12.21.7

Bug fixes

  • CMS-35616 – Fixed a discrepancy between using an injected instance of IUrlResolver and (abstract) UrlResolver that appended the action parameter to the URL.
    This change might produce unwanted side effects if IUrlResolver is being used and VirtualPathArguments is being passed in. Previously VirtualPathArguments.ValidateTemplate was not considered because that property is not available in UrlResolverArguments. Now templates are validated by default.
  • CMS-34452 – Fixed a ViewedCategoriesCriterion exception that prevented other criteria from evaluating the content when the VisitedPage event was raised from a Commerce node controller.
  • CMS-34502 – Fixed an issue in IUrlResolver.GetUrl() that generated the wrong URL to a master language page instead of the second-language page.

    If the second-language page had a version in the master language, the generated URL pointed to the second-language page correctly.
  • CMS-33987 – Fixed an issue with EPiServer.Web.SiteDefinition.Current that returned the wrong site when you set up multiple sites that contained PunyCode in domain (https://en.wikipedia.org/wiki/Punycode) of one site.
  • CMS-33674 – Fixed an issue that did not specify DateTimeKind.UTC information in ScheduledJobLogItem.CompletedUtc.
  • CMS-26133 – Fixed an issue that caused invalid export packages when you used an event handler to cancel an export.
  • CMS-35781 – Fixed an issue by updating the Microsoft.Data.SqlClient dependency to 5.2.2. Earlier versions of the SQL client cause the following problem: GitHub Issue #2378.

    Microsoft.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught) ---> System.TimeoutException: The socket couldn't connect during the expected 14965 remaining time.

  • CMS-35228 – Fixed an issue that sorted by status when an asset belonged to the For This Page folder and the page was moved to Trash.

EPiServer.Labs.ContentManager 1.2.0

Bug fix

August 13, 2024

EPiServer.CMS.UI 12.31.1

Bug fixes

  • CMS-34425 – Fixed an issue that displayed a content type in both the Allowed and Restricted lists. This happened when all implementations were allowed, and some implementations were restricted, causing conflict.
  • CMS-34913 – Fixed a bug where you could not change Display in edit view for block types.
  • CMS-35530 – Fixed an issue where an image thumbnail was not shown for ContentReference properties with Images set as the only Allowed type.
  • CMS-35549 – Fixed an issue where the editor could not select a media file for ContentReference properties with Allowed types defined either in code or in admin view.

July 23, 2024

EPiServer.ImageLibrary.ImageSharp 2.0.4

Bug fix

  • CMS-35412 – The Episerver.ImageLibrary.ImageSharp has a dependency to package SixLabors.ImageSharp 3.1.4. This should be changed to 3.1.5 because of a vulnerability.

EPiServer.ImageLibrary.ImageSharp 1.0.3

Bug fix

  • CMS-35413 – The Episerver.ImageLibrary.ImageSharp has a dependency to package SixLabors.ImageSharp 2.1.8. This should be changed to 2.1.9 because of a vulnerability.

July 23, 2024

EPiServer.CMS.Core 12.31.0

Enhancements

  • The CMS user interface (UI) text gets translated into several languages. These translations were updated in the latest package. 
    The Optimizely Content Marketing Platform (CMP) UI is in English only.

Bug fixes

  • CMS-32922 – Fixed an issue where the Select Content window displayed content alphabetically instead of the content tree order.
  • CMS-32693 – Fixed an issue where audience criteria did not have translated texts.
  • CMS-32667 – Fixed an issue where the Inline block inside a ContentArea property always had IsModified set to true even when the value was unchanged.
  • CMS-32451 – Fixed an issue where items dragged into editors were not saved if you hovered over the TinyMCE editor during dragging the item.
  • CMS-30510 – Fixed an issue where the dialog box for adding to a PropertyList became too large , depending on its content (such as an XhtmlString property) and it did not display correctly within the window.

July 9, 2024

EPiServer.CMS.Core 12.21.6

Bug fixes

  • CMS-33803 – Fixed an issue where even though SynchronizingRolesSecurityEntityProvider::SearchAsync supported pagination, the underlying _synchingUsersRepository did not support it. This resulted in the entire tblusers being searched every time.
  • CMS-34233 – Fixed an issue where pages were not sorted correctly according to the master language settings for the pages that exist in multiple languages.
  • CMS-33926 – Fixed an issue where when a CultureSpecific property was converted to not being CultureSpecific, the references on the translations lingered, even if they were updated on the main content item. This caused a warning to display when removing the content.
  • CMS-34325 – Fixed an issue where shortcut cannot reference itself exception was thrown when you tried to save or publish a page where you set up a shortcut link that directed to the same page in another language.

June 11, 2024

EPiServer.CMS.UI 12.30.0

Enhancements

  • Added common Optimizely UI elements as web components. You can wrap Optimizely's React components and use them as a web component.

    Example:

    <optimizely-typography type="caption" text="MyCaption"></optimizely-typography>
    <optimizely-checkbox id="my-checkbox"></optimizely-checkbox>

    Available web components:

    • optimizely-button
    • optimizely-checkbox
    • optimizely-content-tree
    • optimizely-input
    • optimizely-property-help-text
    • optimizely-typography

    Event handling:

    <optimizely-content-tree id="content-tree"></optimizely-content-tree>
    <optimizely-button id="generate" buttonStyle="highlight" text="Generate"></optimizely-button>
    let selectedNode = null;
    document.getElementById("content-tree").addEventListener("onNodeSelected", (event) = {
    selectedNode = event.detail.contentLink;
    });

    document.getElementById("generate").addEventListener("onClick", () = {
    alert('sending contentLink with id = ' + selectedNode;
    });

Bug fixes

  • CMS-33374 – Fixed an issue where when an unhandled exception occurred in a module that had menu items, the platform navigation failed.
  • CMS-32400 – Fixed an issue that caused the browser to slow down or freeze when you viewed a message that was around 1 MB for the last execution result (lastExecutionMessage) of a scheduled job.
  • CMS-32811 – Fixed an issue where you could not publish a block after you clicked Quick Edit and deleted all the IList<ContentReference> values.
  • CMS-32870 – Fixed an issue where when restricted content types were interfaces as in the example below, the restricted information displayed as blank space.
    public class StandardPage: SitePageData {
    [AllowedTypes(RestrictedTypes = new [] {
    typeof (IContainerPage)
    })] public virtual ContentArea ContentAreaWithInterface {
    get;
    set;
    } [AllowedTypes(typeof (IContainerPage))] public virtual ContentArea ContentAreaWithInterfaceAllowed {
    get;
    set;
    }
    }
  • CMS-33122 – Fixed an issue where unhandled exceptions were thrown when running a site with a database in read-only mode and ProjectUIOptions.ProjectModeEnabled was set to true or false.
  • CMS-33203 – Fixed an issue where AspNet Identity indexes were only available for new installations of CMS 12.
  • CMS-33572 – Fixed an issue that occurred in the creation of the approval flow in an external identity provider such as Azure Active Directory, where you could not search for usernames that included a domain in the username. For example, "domain\username".
  • CMS-34163—Fixed an issue where the image editor became unavailable in the assets panel when you uploaded a PNG file, removed ".png" from the file name, and published it.

June 4, 2024

EPiServer.ConnectForCampaign 4.3.0

Bug fixes

  • CAMP-203 – Fixed an issue where the Cache Settings page did not display properly. A change in the CMS UI—New menu system with support for Optimizely Identity—caused the Connect for Campaign add-on not to display the Cache Settings page properly. 

May 28, 2024

EPiServer.CMS.Core 12.21.5

Bug fixes

  • CMS-29520 – Fixed an issue that occurred when you added an invalid URL ending with an extra slash as a shortcut for a page, which prevented it from loading correctly in the UI.
  • CMS-33009 – Even when configuring TinyMCE to not verify the HTML content and allowing attributes on <div> elements, empty elements were still removed. 

    TinyMCE configuration

    tinymce.init({
      ...
      verify_html: false,
      extended_valid_elements: 'div[*]'
    }); 

    Examples that will be deleted:

    <div></div>
    <div data-id='1'></div>
    

    Workaround, use non-breaking space:

    <div>&nbsp;</div>
    <div data-id='1'>&nbsp;</div> 
  • CMS-33996 – Improved performance of stored procedure netQuickSearchByExternalUrl

May 14, 2024

EPiServer.CMS.Core 12.21.4

Bug fixes

  • CMS-27598 – Fixed an issue where sorting subpages by start publish dates caused them to be sorted according to the master language start publish date instead of the language version start publish date.
  • CMS-33788 – Fixed an issue where adding AddApiVersioning() to an application broke content routing.
  • CMS-30446 – Fixed an issue where the public virtual IContent Route(UrlBuilder urlBuilder) function did not resolve simple address URLs on unpublished pages and returned null.

May 7, 2024

EPiServer.CMS.UI 11.37.2

Bug fixes

April 30, 2024

EPiServer.CMS.Core 12.21.3

Bug fixes

  • CMS-31656 – Fixed an issue with tag helpers where even if the link property was null, HTML tag was included in the view mode rendering.
    Previous output (view mode):
    <div>   
       <ul></ul>
    </div>

    Current output (view mode):

    <div>
    </div>
    This applies to ContentReference, ContentReferenceList, LinkItem, LinkItemCollection, and URL property. 
  • CMS-33330 – Fixed an issue where when you upgraded from CMS 11 to CMS 12, the UserProfileCriterion did not migrate correctly and caused an error when saving any visitor group with that criterion.
  • CMS-33720 – Fixed an issue where after you changed the name of a block and then edited content with that block type as one of its properties, it caused an error. 
  • CMS-33726 – Fixed an issue where the breakpoint was hit only once: when the contentarea rendered. Now, the breakpoint also hits when the xhtmlstring renders. 
  • CMS-33790 – Fixed an issue where BackgroundContextFactory.Create() threw a System.ObjectDisposedExceptionexception when the current scope was disposed.

EPiServer.CMS.UI 12.29.1

Bug fixes

  • CMS-27863 – Fixed an issue where when you clicked ... > Edit from the Create Link window, it resulted in editing the page you linked to. Now, you can click Edit Link and simply edit the link you entered. Or you can click Edit Content and edit the content of the page you linked to.
  • CMS-31798 – Fixed an issue where when you used a custom property validator to validate a property, the warning notification did not disappear after fixing the incorrect property. 
  • CMS-32618 – Fixed an issue where after you clicked Logout, two logout requests were created instead of one. This caused issues in Open ID Connect and displayed 400 Bad Request error. 
  • CMS-32666 – Fixed an issue where when you tried to edit the same page from multiple tabs, In use notification already exists error message displayed in one of the editors. 
  • CMS-33126 – Fixed an issue where you could not use dynamic HideFromViewMenu for ViewConfiguration.

April 2, 2024

EPiServer.CMS.UI 12.29.0

Enhancements

  • 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.

Bug fixes

  • CMS-32095 – Fixed an issue where the WebSocket handler threw an exception for early termination because the remote party closed the WebSocket connection without completing the closing handshake.

March 26, 2024

EPiServer.CMS.Core 12.21.2

Bug fixes

  • CMS-31164 – Fixed an issue that redirected you to an existing URL even when you entered a non-existent URL (which should produce an HTTP 404).
  • CMS-33081 – 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

  • CMS-32091 – Fixed an issue with IContentUrlGeneratorEvents interface where both GeneratingUrl and GeneratedUrl did not contain URL query string information.
  • CMS-33031 – Fixed an issue where copying a page with an empty inline block did not work.
  • CMS-26120 – 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.
  • CMS-31289 – Fixed an issue where UIHintModelTemplateTagProvider loaded custom attributes of the property and slowed down performance.
  • CMS-32349 – Fixed an issue where PropertyLinkItem and PropertyXhtmlString needed to be marked as modified to get persisted.
  • CMS-32835 – 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

Enhancements

  • 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

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

March 12, 2024

EPiServer.CMS.Core 12.21.0

Enhancements

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

Bug fixes

  • CMS-32485 – 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.
  • CMS-29894 – 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. 
  • CMS-32491 – Fixed an issue where a regular expression used for validating links was created inefficiently and unnecessarily increased the job duration.
  • CMS-32880 – 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

  • CMS-31652 – Fixed an issue where property values in nested blocks did not update correctly when using Quick Edit.
  • CMS-31471 – Fixed an issue where you could not delete a website language even though any site did not use it.
  • CMS-31654 – Fixed an issue where the form field name or the XSRF token header could not be changed.
  • CMS-31708 – Fixed an issue where 414 URI Too Long error message displayed when selecting more than 150 items in a project.
  • CMS-29934 – 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

  • CMS-32198 – 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. 
  • CMS-32301 – 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.
  • CMS-32254 – 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.
  • CMS-32340 – 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

  • CMS-30625 – 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.
  • CMS-30045 – Fixed an issue where block property in the child page did not inherit values of the same block property in the parent page.
  • CMS-30451 – Fixed an issue where using a shortcut to a child page in Swedish redirected you to a child page in English instead.
  • CMS-31793 – Fixed a vulnerability between the SQL client and the SQL server in Microsoft.Data.SqlClient NuGet packages. Microsoft security advisory announcement: Microsoft Security Advisory CVE-2024-0056: Microsoft.Data.SqlClient and System.Data.SqlClient SQL Data provider Information Disclosure Vulnerability.
  • CMS-31291 – 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" })
    to:
    @Html.DisplayFor(x => x.CurrentPage.MainContentArea, new {CssClass = "row",ChildrenCustomTagName = "section"})    

    did not render the expected "section" element.

  • CMS-xxxxx – 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

  • CMS-31381 – 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.
  • CMS-28027 – 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

Enhancements

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

Bug fixes

  • CMS-31348 – 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. 
  • CMS-29307 – Fixed an issue where Convert to inline-block displayed as an option. An error message was displayed when selecting it and clicking publish, even though Commerce does not support inline blocks for content area items. 
  • CMS-31467 – 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.
  • CMS-31463—Fixed an issue that could trigger a 500 internal server error when saving other media (content type) and changing the supported media extensions.
  • CMS-31163 – 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

  • CMS-29215 – 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.
  • CMS-28942 – 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.
  • CMS-29975 – Fixed an issue that let you edit the display name when a translated name was provided.
  • CMS-29517 – 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.
  • CMS-31057 – Fixed an issue in edit view that displayed "Block" instead of the name of the block type.
  • CMS-22477 – Fixed an issue that let you edit the help text when a translated name was provided.
  • CMS-29806 – Fixed an issue where the List<T>: value of Url field was lost after refreshing the current page.
  • CMS-29902 – 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.
  • CMS-31091Startdate for scheduledjobs history is showing completed date.

    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
  • CMS-30947 – 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.