Products
Packages [expand] [collapse]
Services
Released in version
11.20.3

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 EPiServer.CMS.Core

Item type
Filter on date
 
Items/Page
Area Id Type Description Released
CMS-17663
  Content Approval Settings: Users aren't displayed with full name in the Group list

Steps to reproduce:

  1. Users ann and ben with their full names Ann Smith and Ben Williams are available in the system. Both users ann and ben belong to the WebAdmins group.
  2. As an admin user with administer rights to page A, select page A in the page tree and click the context menu.
  3. Select Edit Approval Sequence.
  4. Select Enabled in the Approval Sequence screen.
  5. Enter 'we' into the user textbox, then select WebAdmins from the user suggestions.
  6. Move the mouse over WebAdmins.

Expected result:

A list of users belonging to the WebAdmins group is displayed. The users Ann Smith and Ben Williams are displayed with their full names in the list.

Actual result:

The users Ann Smith and Ben Williams are not displayed with full names in the list.

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-17703
  Import content: Imported content appears in 2 different locations

Steps to reproduce:

  1. Site A is configured to use site-specific assets.
  2. Page 1 has English version only, and it contains 4 related content items (blocks and an image from both "For All Sites" and "For This Site" folders).
  3. Export Page 1 with its related content items.
  4. Move all related blocks and images of Page 1 to trash.
  5. Import Page 1 to Site A with the Update existing content items with matching ID option selected.
  6. A warning "Property 'EPi:SystemReference' does not exist on destination content type" is displayed, but there are still 4 content items imported.

Expected result:

All related content items of Page 1 are in the "For All Sites" and "For This Site" folders. They should not be in the trash.

Actual result:

  • In edit view, all related content items of Page 1 still exist in the "For All Sites" and "For This Site" folders.
  • All related content items of Page 1 also still exist in trash. They appear in both trash and assets folders. It is not possible to restore them from the trash or empty the trash.
Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-17804
  The Shortcut field has not default value "No shortcut" if deleting a page after setting shortcut type to "Fetch content from another content item"

Steps to reproduce:

  1. Page 1 is a product page with a published version. Page 2 is a product page and has content in the main body property. It is also published.
    Page 1 has the shortcut type "Fetch content from another item" set and links to page 2.
  2. Go to edit view and delete page 2.
  3. Empty the trash.
  4. Select page 1 in the page tree, go to All properties view and select the Settings tab.

Expected result:

The Shortcut field has value "No shortcut".

Actual result:

The Shortcut field has value: "Fetch content from another item".

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-17307
  GetReferencesToContentItems throws exception

An exception is thrown when calling ContentRepository.GetReferencesToContent(contentReference, false)

[ArgumentException: An element with the same key already exists in the dictionary.]
System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) +59
System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) +675
System.Linq.Enumerable.ToDictionary(IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer) +334
EPiServer.DataAbstraction.ReferenceInformation.CreateReferenceInformation(DataTable data, ILanguageBranchRepository languageBranchRepository, IPermanentLinkMapper permanentLinkMapper) +3124
EPiServer.Core.Internal.DefaultContentProvider.GetReferencesToContentItems(IEnumerable`1 contentLinks) +181
EPiServer.Core.Internal.<>c__DisplayClass45_0.<GetReferencesToContent>b__0(ContentProvider p) +89
EPiServer.Core.ContentProviderMap.Iterate(Action`1 contentProviderHandler) +144
EPiServer.Core.Internal.DefaultContentRepository.GetReferencesToContent(ContentReference contentLink, IEnumerable`1 descendents, Boolean includeDescendants) +205

Reported from https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2020/11/getreferencestocontentitems-throws-exception-after-upgrade-to-latest-cms-11-30-1-and-commerce-13-26-0/

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-17484
  Incorrect image URL when importing data

Steps to reproduce:

  1. On an Alloy sample site, access admin view and enable "English" - "en" and "English (United States)" - "en-US".
  2. Set up multiple sites. The main site (site A) has 'en' master language and the secondary site (site B) has 'en-US' master language. Site B just contains a start page.
  3. Under Manage Websites of admin view, select Use site-specific assets for both sites.
  4. Configure site A with Culture = en, Type = Primary, Scheme = HTTP.
    Configure site B with Culture = en-US, Type = Primary, Scheme = HTTP.
    Remember to remove the wildcard host name.
  5. Go back to edit view and select site A. In the assets pane, select Media and create a folder named image under For This Site.
  6. Upload an image to the image folder.
  7. Select a page that has version in "en" only, for example, Alloy Meet. Add the uploaded image to the Teaser image property of this page. Then publish the page.
  8. Export the Alloy Meet page from site A by going to admin view > Tools and select Export Data. Leave the default options selected and click Export content items to export the page.
  9. Import the Alloy Meet page to site B by going to admin view > Tools and select Import Data. Select the Update existing content items with matching ID check box, and select English (United States) in this step. Upload the export file.
    Please note that the page exported does not have a en-us language version! However, some content has been imported.
  10. Still in site B, check the Media assets pane. The image in the image folder has been imported.
  11. Edit the imported image, move the mouse over the Download this file to get the link of this file, it will be something like: http://testhost:1839/sitesassets/image/darwin.gif
  12. Browse to this URL _http://testhost:1839/sitesassets/image/darwin.gif_.

Expected result:

The image is displayed.

Actual result:

An "HTTP Error 404.0 - Not Found" error is displayed.

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-17535
  Database heavy query caused by QueryableNotificationUsersImpl

QueryableNotificationUsersImpl.FindAsync is used to find users based on their username, not by exact match, but by pattern match. This will basically do a full scan on AspNetUsers table.

If a customer has many users registered, it can be a major bottleneck.

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-16651
  URL Rewrite incompatibility

This bug happens for BLOB downloads when they are sent to the client asynchronously and URL rewrite is configured to inject the Application Insights JavaScript.

It looks like it is related to Response.Flush called. When commenting out this line, it starts to work.
Similarly, when adding a Response.Flush() call after the synchronous transmit-method that will also start failing. Otherwise, when it copies with stream.CopyTo(), it will read/write to the stream without a flush and that works as expected.

Steps to reproduce

  • Install URL rewrite (older version is installed by default, it needs version 2): https://www.iis.net/downloads/microsoft/url-rewrite
  • Enable rewrite-config: C:\Windows\System32\inetsrv>appcmd unlock config /section:allowedServerVariables
  • Setup IIS site for Alloy
  • Install EnvVarProvider dll: gacutil /i Microsoft.Web.Hosting.EnvVarProvider.dll
  • Setup environment variable: APPINSIGHTS_INSTRUMENTATIONKEY = d06bb9f2-1af0-428c-baed-a9626a5fbdf1
  • Setup environment variable: APPINSIGHTS_JAVASCRIPT_ENABLED = true
  • Set connection strings to use azure resources
  • Upload a .html file to media assets
  • Download the .html file from media assets

Result
File is partially downloaded or browser reacts with a network error.

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021
CMS-17070
  Incorrect behavior for alternative links

According to Google, alternative links need to be outputted in an absolute URL format. This does not seem to be the case with the built-in alternate links extension in Episerver, resulting in incorrect behavior with Google complaining.
 
Reference:
https://support.google.com/webmasters/answer/189077?hl=en

Example of output of the extension method for the episerver.com site:

<link href="/" rel="canonical" />
<link href="/" hreflang="en" rel="alternate" />
<link href="/de" hreflang="de" rel="alternate" />
<link href="/se" hreflang="sv" rel="alternate" />
<link href="/no" hreflang="no" rel="alternate" />

 
 

Fix Version/s: EPiServer.CMS.Core 11.20.3;
Jan 19, 2021