Products
Packages [expand] [collapse]
Services

Release notes for Episerver updates

This overview lists changes included in Episerver updates delivered as NuGet packages and services. Use the information to decide which updates to apply to your project, see Installing Episerver 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 Episerver NuGet feed.

Changes in CMS:

Item type
From date
To date
Items/Page
Area Id Type Description Released
CMS-17430
  Custom registrations through ContentDataInterceptorHandler is not detected

The intention is that we should use Castle for proxy generation if a partner has custom registration for intercerptors. It seems that in some case we fail to detect that.

See https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2020/11/no-longer-able-to-use-custom-getters-and-setters-through-contentdatainterceptorhandler-for-specific-property-types/

Fix Version/s: EPiServer.CMS.Core 11.20.2;
Nov 13, 2020
CMS-16575
  Scroll bars are very difficult to drag

It is difficult to drag the scrollbars, you almost always get hold of the resize functionality instead. Scrollbars should take priority of resize.

Fix Version/s: EPiServer.CMS.UI 11.30.1;
Oct 30, 2020
CMS-15811
  Exception when translating a page

Steps to reproduce:

  • Create a new Alloy project.
  • Create an admin user and log in.
  • Enable approval sequence on Root, add the admin user as a reviewer.
  • Switch to the Swedish ("Svenska") site.
  • Edit the start page and set Ready for Review.
  • Open a subpage (for example, Alloy Plan).
  • Click Translate.
  • An exception is thrown in ContentChangesTransitionBase, a page cannot be translated.
[NullReferenceException]: Object reference not set to an instance of an object.
   at EPiServer.Cms.Shell.UI.Rest.StatusTransition.ContentChangesTransitionBase.CanTransitionAsync(StatusTransitionArguments arguments)
   at EPiServer.Cms.Shell.UI.Rest.StatusTransition.StatusTransitionService.<>c__DisplayClass5_0.<GetTransitionsAsync>b__0(IStatusTransition transition)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Threading.Tasks.Task.WhenAll[TResult](IEnumerable`1 tasks)
   at EPiServer.Cms.Shell.UI.Rest.StatusTransition.StatusTransitionService.<GetTransitionsAsync>d__5.MoveNext()
[AggregateException]: One or more errors occurred.
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at EPiServer.Cms.Shell.UI.Rest.Models.Transforms.Internal.ContentDataStoreModelTransform.TransformInstance(IContent source, ContentDataStoreModel target, IModelTransformContext context)
   at EPiServer.Cms.Shell.UI.Rest.Models.Transforms.TransformBase`1.<Execute>d__4.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at EPiServer.Cms.Shell.UI.Rest.ContentStoreModelCreatorExtensions.CreateContentDataStoreModel[TModel](IContentStoreModelCreator contentStoreModelCreator, IContent content, DefaultQueryParameters queryParameters)
   at EPiServer.Cms.Shell.UI.Rest.Internal.ContentDataStore.<>c__DisplayClass9_0.<GetContent>b__0(IContent content)
   at EPiServer.Cms.Shell.UI.Rest.Internal.RestStatusUtil.ExecuteWithSecurityCheck[T](ContentReference contentLink, IContentLoader contentLoader, AccessLevel accessLevel, Func`2 func)
   at EPiServer.Cms.Shell.UI.Rest.Internal.ContentDataStore.GetContent(ContentReference contentReference, DefaultQueryParameters queryParameters)
   at EPiServer.Cms.Shell.UI.Rest.Internal.ContentDataStore.Get(ContentReference id, ContentReference parentLink, String[] typeIdentifiers)

 

Fix Version/s: EPiServer.CMS.UI 11.30.1;
Oct 30, 2020
CMS-17067
  Visitor groups appear in search result for "groups" when capitalizing/uncapitalizing first letter

Steps to reproduce:

1. Create a new visitor group with the name "MyVisitorGroup" and select the check box "Make this visitor group available when setting access rights for pages and files".

2. Go to a page and click Visible to > Manage. In the Access Rights dialog box, click Add Users/Groups, and search for "MyVisitorGroup" using the type "Visitor Groups". It results in one hit as expected.

3. Change the type to "Groups" and make a new search. It results in no hits.

4. Search again using the type "Groups" but change the first letter of the visitor group name to a lower letter "myVisitorGroup" and search again.

Expected result:

The visitor group should not show up.

Actual result:

Visitor group shows up in result.

Fix Version/s: EPiServer.CMS.UI 11.30.1;
Oct 30, 2020
CMS-16316
  Project Overview: There is an error dialog after deleting a project and removing scheduling of contents

Steps to reproduce:

Prerequisite: Project A contains Content A. Content A is scheduled for later publishing.

  1. Enable Project A and click the context menu in the project bar. Select Delete Project.
  2. Click Delete and remove scheduling.

Expected result:
Project A is deleted without any errors.

Actual result: There is an error dialog "Something Went Wrong".

Fix Version/s: EPiServer.CMS.UI 11.30.1;
Oct 30, 2020
CMS-14788
  Get URL to page with "Shortcut to another content item"
Steps to reproduce:

1. Add new page property to Article page type (ArticlePage.cs):

public virtual ContentReference RelatedPage { get; set; }

2. Add the following to Article page view file (/Views/ArticlePage/Index.cshtml):

<strong>PropertyFor</strong>
<p>@Html.PropertyFor(m => m.CurrentPage.RelatedPage)</p>

<strong>ContentLink</strong>
<p>@Html.ContentLink(Model.CurrentPage.RelatedPage)</p>

<strong>ContentUrl</strong>
<p>@Url.ContentUrl(Model.CurrentPage.RelatedPage)</p>

3. Create three new page instances of Article page type:

  • Article A
  • Article B
  • Article C

4. On Article A, set the value of new property added in step1 to point to Article B.

5. On Article A, edit property MainBody and add a link to Article B.

6. On Article B, Settings tab, locate property Shortcut, click Manage and select:

  • Shortcut type: shortcut to another content item
  • Open in: - (leave empty)
  • Internal Shortcut/Fetch Data from: Article C

7. Visit Article A, click Options and View on website (not in edit view).

Expected result: All links should point to Article C.
Actual result: Url.ContentUrl links to Article B instead of Article C.

Fix Version/s: EPiServer.CMS.Core 11.20.1;
Oct 27, 2020
CMS-16988
  Calling convention must be VarArgs exception thrown for properties on generic classes

ContentModelILCompiler throws an exception if an interceptable property is declared on a generic class.
Example: 

public class Content : BaseContent<int> { }
public abstract class BaseContent<TModel> : ContentData
{     public virtual bool Boolean \{ get; set; }
}

 
The thrown exception is an InvalidOperationException: "Calling convention must be VarArgs."

Fix Version/s: EPiServer.CMS.Core 11.20.1;
Oct 27, 2020
CMS-15213
  Typo in the documentation of Episerver.Framework.Cache.ReadStrategy.Wait
Issue Description

Fixed typo in meta document of the enum Episerver.Framework.Cache.ReadStrategy.Wait

Documentation says:
/// <summary>Will wait for pending updates to finish</summary>
/// <remarks>
/// <para>Typically used for scenarios where there is likely that several calls are done concurrent for an item
/// that is costly to load. In that case only one will perform the actual load while others will wait.
/// When the loading is done the waiting threads will be singnalled.</para>
/// <para>This option adds a marker object to the cache to signal that data is being loaded, do not use the same
/// cache key with other API's that do not take <see cref="T:EPiServer.Framework.Cache.ReadStrategy" /> since they will return the marker object
/// if called for example during a costly database operation.</para>
/// </remarks>

There is a spelling error in the paragraph for the word "singnalled", should be "signalled", also the word "concurrent" should be "concurrently".

Fix Version/s: EPiServer.CMS.Core 11.20.1;
Oct 26, 2020
CMS-16555
  Caching URL - Go to old url name

Steps to reproduce:
1. Open a page, e.g. Alloy Track > Edit 'Name in URL' > Publish it
2. Go to view mode > Click the page link on Navigation bar
Expected: It goes to the page with the updated name in url
Actual: It shows the error: "HTTP Error 404.0 - Not Found". It still goes to the old url name.
More details, please view the video.

Fix Version/s: EPiServer.CMS.Core 11.20.0;
Oct 08, 2020
CMS-16389
  Change order of Content Type properties in admin mode throws error

Version information:
EPiServer.CMS.Core 11.16.0
EPiServer.CMS.UI 11.25.0
EPiServer.Find 13.2.7

Steps to Reproduce
  1. Use an Alloy site with above versions
  2. Login and go to admin mode, Content Types tab and click on any page in Page Types. Click on Arrow Symbols.
    Expected: You can move properties up and down.
    Actual: Below error is thrown, if not detailed it gives a 500 error.
[NullReferenceException: Object reference not set to an instance of an object.]
   ASP.episerver_cms_admin_editcontenttype_aspx.__DataBind__control43(Object sender, EventArgs e) in D:\VSProjects\AlloyFind\EPiServer\CMS\Admin\EditContentType.aspx:133
   System.Web.UI.Control.OnDataBinding(EventArgs e) +84
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +150
   System.Web.UI.Control.DataBind() +17
   System.Web.UI.Control.DataBindChildren() +185
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +160
   System.Web.UI.Control.DataBind() +17
   System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +126
   System.Web.UI.WebControls.Repeater.AddDataItemsIntoItemsArray(IEnumerable dataSource, Boolean useDataSource) +217
   System.Web.UI.WebControls.Repeater.PostGetDataAction(IEnumerable dataSource) +71
   System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) +220
   System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) +62
   System.Web.UI.WebControls.Repeater.DataBind() +77
   EPiServer.UI.Admin.EditContentType.SetPropertyInfo(IEnumerable`1 props) +65
   EPiServer.UI.Admin.EditContentType.UpdatePropertyDefinitionFieldOrder(Int32 propertyDefinitionId, Boolean increase) +566
   EPiServer.UI.Admin.EditContentType.MoveUp_Click(Object sender, CommandEventArgs e) +57
   System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) +111
   System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +182
   System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1639
Customer Impact Statement

Customer reporting consider this urgent since this cannot be used within the admin mode.

* Please see Zendesk Support tab for further comments and attachments.

Fix Version/s: EPiServer.CMS.Core 11.20.0;
Oct 08, 2020
1 2 3 4 5 6 Next