A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Robert Svallin
Mar 1, 2023
  2428
(2 votes)

EPiServer.CMS UI 12.17.0 delisted from Nuget feed

The 12.17.0 version of the UI packages have been delisted from our Nuget feed and is no longer available. We are working on providing a patch, 12.17.1 to correct an issue that affects string properties that use SelectMany attribute and a ISelectionFactory to handle the available options.

 

The root issue is that the representation of the selected values is now stored in a different way in the database and that needs to be considered a breaking change. We moved from a comma separated list in favor of a Json array. I.e. from "value1,value2,value3" to "[\"value1\",\"value2\",\"value3\"] in an effort to try and broaden the capabilities. The change only applies to properties that have been updated and saved to the database since the 12.17.0 upgrade was done on the installation.

 

An installation can be checked if it has been affected by the issue, by running a query against the database to see if the properties store a JSON array or comma separated strings. Please note that only installations using 12.17.0 and that uses properties that are using SelectMany attribute is potentially affected.

An example would be that 12.17.0 would store

["1","2","3"]

 

Instead of the previously used

1,2,3

 

  • CMS-26903
    When addressing the issue CMS-23405 a breaking change was introduced in how the values for string properties using SelectManyAttribute and ISelectionFactory are stored in the database. A change was made to serialize the selected options as JSON instead of comma separated strings.

We offer our apologies that this occured and we are sorry that this has affected our customers. For installations that are in the process of migrating to 12.17.0 we ask that you verify if you are affected. Wait for the 12.17.1 version that will arrive shortly and then verify that data is stored correctly.

This blog post will be updated as we move forward with this issue. Thank you for your patience.

Mar 01, 2023

Comments

Johan Book
Johan Book Mar 1, 2023 01:43 PM

Thanks for looking into this! We had to do a workaround for this breaking change - that did seem a bit unintended :) 

Robert Svallin
Robert Svallin Mar 1, 2023 02:47 PM

Thanks @Johan, sorry to hear that you had to adapt to this scenario. Please keep your eyes on the 12.17.1 and make sure you know which properties that have been saved in the new format. We are reverting the issue back to the old code so you will need to reset the correct selections once you start to use 12.17.1. Just a heads up.

Kai de Leeuw
Kai de Leeuw Mar 3, 2023 08:37 AM

So if the fix is to revert to the old code, how do you handle values that contain commas?

Robert Svallin
Robert Svallin Mar 3, 2023 03:17 PM

Kai, unfortunately we cant currently. We will revisit this once we have resolved the breaking change issue. Once we have published the 12.17.1 version we will look into the comma, again, and see if we can manage to solve it.

Robert Svallin
Robert Svallin Mar 6, 2023 11:20 AM

Kai, please follow the bug https://world.optimizely.com/support/Bug-list/bug/CMS-26987 in which we will try to find an alternate solution to the problem you face, without doing a breaking change.

Please login to comment.
Latest blogs
Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025