Products
Packages [expand] [collapse]
Services

Release notes for Optimizely updates

This overview lists changes included in Optimizely updates delivered as NuGet packages and services. Use the information to decide which updates to apply to your project, see Installing Optimizely updates. Select a product, package, or service in the left menu, and filter for dates, features, or bug fixes.

  • See only new features (all features) - filter on item type Feature.
  • See only end-user (user interface) features - filter on item type UI Feature.
  • See only critical bug fixes - filter on item type Critical Bug.

Note: New NuGet packages listed here may not be immediately available in the Optimizely NuGet feed.

Latest changes

Item type
Filter on date
Items/Page
Area ID Type Description Released
CMS-19171
  Unable to upload image to editor

Unable to upload image when editing catalog content in the TinyMCE editor.

Steps to reproduce:

  1. Open any catalog content with an XHTML property.
  2. Upload an image.

Image uploading fails with this error in the browser console:

[ArgumentNullException: Value cannot be null.
Parameter name: source]
   System.Linq.Enumerable.Any(IEnumerable`1 source) +200
   EPiServer.Commerce.Shell.Rest.Query.GetChildrenQuery.CanHandleQuery(IQueryParameters parameters) +75
   System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source, Func`2 predicate) +183
   EPiServer.Cms.Shell.UI.Rest.Internal.ContentStore.GetQuery(String queryName, ContentQueryParameters parameters) +32
   EPiServer.Cms.Shell.UI.Rest.Internal.ContentStore.Get(ContentReference id, String query, ContentReference referenceId, ContentReference[] references, String[] typeIdentifiers, Nullable`1 allLanguages, IEnumerable`1 sortColumns, ItemRange range) +459
   lambda_method(Closure , ControllerBase , Object[] ) +486
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +77
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
   EPiServer.Shell.Services.Rest.RestControllerBase.EndExecute(IAsyncResult asyncResult) +60
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +648
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +213
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +131

 

Soon to be released
MAI-1867
  Pardot: Update Authentication mechanism.

The newly supported authentication method lets customers leverage Salesforce OAuth flows using Salesforce users, no longer requiring a one-off Pardot only user.

EPiServer.MarketingAutomationIntegration.Pardot 6.0.0;
Jul 27, 2021
MAI-1886
  Allow user to accept or deny mai_trk_* cookies

In accordance with GDPR regulations, you can choose whether you want to accept cookies for Marketing Automation connectors. (Normally, the cookie is created when you submit a marketing automation form.)

Customers are responsible for presenting the cookie option dialog box to the user, obtaining the response, and then passing the response to Optimizely through the IPersonalizationEvaluator.AcceptCookies property. If the user chooses not to accept the cookies, some or all functionality of the connector will not work; the form will post successfully but personalization features will not.

EPiServer.ConnectForMarketingAutomation 5.7.0; EPiServer.Marketing.Automation.Forms 2.4.0; EPiServer.Marketing.Connector.Delivra 1.2.0; EPiServer.MarketingAutomationIntegration.Eloqua 4.2.0; EPiServer.MarketingAutomationIntegration.ExactTarget 4.3.0; EPiServer.MarketingAutomationIntegration.HubSpot 4.2.0; EPiServer.MarketingAutomationIntegration.Marketo 4.6.0; EPiServer.MarketingAutomationIntegration.Salesforce 4.3.0; EPiServer.MarketingAutomationIntegration.Silverpop 4.5.0;
Jul 20, 2021
COM-13167
  Action on product controller fails to execute if you enable SEO URL

Action on product controller fails to execute if SEO URL is enabled.

Steps to reproduce:

  1. On a Quicksilver sample site, change MapDefaultHierarchialRouter from false to true: CatalogRouteHelper.MapDefaultHierarchialRouter(RouteTable.Routes, true);
  2. Navigate to a product from the start page and try to change the variant (shoe size for instance).

Expected:

Should hit public ActionResult SelectVariant(FashionProduct currentContent, string color, string size, bool useQuickview = false).

Actual:

SelectVariant is not hit.

EPiServer.Commerce 13.31.0;
Jul 20, 2021
COM-12974
  Cart Properties allow duplicate keys

This issue relates to cart deserialization, where Cart Properties allow for duplicate keys. The serialized cart was stored in the database as JSON, with duplicated keys for "CampaignCode" in the Properties field. This caused the the Properties HashTable deserialization to fail.

EPiServer.Commerce 13.31.0;
Jul 20, 2021
COM-13164
  CSRUI: Incorrect scroll to load behavior in Order/Cart list

Scrolling error when loading items in Order/Cart list in the Order Management (CSR) view.

Steps to reproduce:

  1. Open Order Management.
  2. Scroll to the bottom of the page to load more orders/carts.
  3. Repeat step 2.
  4. Observe that more blank spaces appear.
  5. To trigger loading of more items, scroll to the bottom of the blank page.
EPiServer.Commerce 13.31.0;
Jul 20, 2021
COM-13029
  GetReferencesToContent result is incorrectly cached

GetReferencesToContent result is incorrectly cached.

Step to reproduce:

  1. Use IContentRepository.GetReferencesToContent to get content reference to an asset.
  2. Add the asset to, or remove it from some catalog content.
  3. Use IContentRepository.GetReferencesToContent again.

Expected:

Result list is updated.

Actual:

Result list is not updated.

EPiServer.Commerce 13.31.0;
Jul 20, 2021
COM-13170
  Update length for MetaField table

Update length for MetaField table.

Update the LENGTH column of MetaField table for 'NText', 'LongString', 'LongHtmlString'  meta data type when the LENGTH <=16.

EPiServer.Commerce 13.31.0;
Jul 20, 2021
COM-12806
  Implement - Recording order activities

This feature lets order managers and customer service representatives track the history of a specific order for audit and analysis purposes. The feature automatically records a range of events related to order/shipment status update, payment, and promotion of an order.

EPiServer.Commerce 13.31.0;
Jul 20, 2021
MAR-1432
  AB Testing: RemoteCacheSignal; sometimes the timer's callback was called before the timer completed initialization

The System.Threading.Timer in RemoteCacheSignal was initialized with dueTime set to 0 in RemoteCacheSignal.Monitor() method. This sometimes led to the Timer's callback being called immediately when the Timer object had not finished initialization and some of its properties were still null. However, the callback tried to access the Timer with Change() method and this led to a null reference exception and sometimes crashed the web server.

EPiServer.Marketing.Testing 2.6.8;
Jul 06, 2021
1 2 3 4 5 6 Next