Quan Mai
Quan Mai  -  CMS
Mar 16, 2023
(4 votes)

Upgrade to EPiServer.CMS.Core 12.13.1 as soon as you can

Our general recommendation is to keep up to date to latest versions if you can. Outside of new features, it usually contains latest bug fixes and general performance improvement.

CMS.Core 12.13.1 contains two important/critical bug fixes - discovered and fixed by my colleague Magnus Rahl. More details can be found in the release notes

Release Notes | Optimizely Developer Community

Those bugs are especially relevant when you are indexing your content, using Find - as you would be loading a lot of content and then serializing them into JSON objects, leaving a lot of cached items in process. Those can hog memory indefenitely and the only solution would be a restart (if the instance does not restart by itself via AutoHeal). The bug fixes allow cache items to be properly trimmed, and garbage collected, so memory is freed.

Mar 16, 2023


Mark Stott
Mark Stott Mar 16, 2023 02:02 PM

Thank you for sharing. I'm going to feed that back into the PMs for our CMS 12 clients.

Johan Kronberg
Johan Kronberg Mar 17, 2023 07:48 AM

Thanks! Is there docs page on how would you install it swiftly in you Solution that is using the wrapping EPiServer.CMS composition package? When have that up to date I still need to install 12.13.1 of EPiServer.Framework and EPiServer.Core.CMS. I then get warnings and also need to install 12.13.1 of EPiServer.Hosting, EPiServer.CMS.AspNetCore, EPiServer.CMS.AspNetCore.Templating, EPiServer.CMS.AspNetCore.Routing, EPiServer.CMS.AspNetCore.Mvc, EPiServer.CMS.AspNetCore.HtmlHelpers...
Would it be smarter to just remove <PackageReference Include="EPiServer.CMS" Version="12.17.1" />?

Quan Mai
Quan Mai Mar 17, 2023 01:37 PM

The ones you listed are in "Cms core", they have direct dependency on CMS.Core and .Framework so yes you would need them to be upgraded. EPiServer.CMS is just an umbrella package for CMS UI, removing it would not affect the former.

I would recommend to upgrade all cms core packages at once. they are built that way 

Johan Kronberg
Johan Kronberg Mar 20, 2023 01:27 PM

Thanks for clarifying! Found also on Optimizely Slack that "A project that has the EPiServer.CMS package installed, only needs EPiServer.Hosting and EPiServer.CMS.AspNetCore.HtmlHelpers" so follow that is easier than following the package version warnings, it will drag all dependencies versions along.

Also, it's not always smart to be fast with keeping up to date:

Sometimes a wait and see approach can work in your favor... 😅

Quan Mai
Quan Mai Mar 20, 2023 01:30 PM

Hehe delisting happens, but in general you should keep up to date as much as possible. maybe 1-2 minor version behind if you want to be safe ;) 

Mark Stott
Mark Stott Mar 22, 2023 03:31 PM

If this helps at all, this is what my package includes look like having resolved all of the warnings:

    <PackageReference Include="Advanced.CMS.AdvancedReviews" Version="1.3.3" />
    <PackageReference Include="Baaijte.Optimizely.ImageSharp.Web" Version="2.1.2" />
    <PackageReference Include="EPiServer.CloudPlatform.Cms" Version="1.3.1" />
    <PackageReference Include="EPiServer.CMS" Version="12.17.1" />
    <PackageReference Include="EPiServer.CMS.AspNetCore.HtmlHelpers" Version="12.13.1" />
    <PackageReference Include="EPiServer.CMS.AspNetCore.Templating" Version="12.13.1" />
    <PackageReference Include="EPiServer.CMS.Core" Version="12.13.1" />
    <PackageReference Include="EPiServer.ContentDeliveryApi.Cms" Version="3.6.0" />
    <PackageReference Include="EPiServer.Find.Cms" Version="15.0.0" />
    <PackageReference Include="EPiServer.Forms" Version="5.5.0" />
    <PackageReference Include="EPiServer.Forms.Samples" Version="4.1.0" />
    <PackageReference Include="EPiServer.Hosting" Version="12.13.1" />
    <PackageReference Include="EPiServer.Labs.LanguageManager" Version="5.1.2" />
    <PackageReference Include="Geta.NotFoundHandler.Optimizely" Version="5.0.6" />
    <PackageReference Include="Geta.Optimizely.Categories" Version="1.0.0" />
    <PackageReference Include="Geta.Optimizely.Categories.Find" Version="1.0.0" />
    <PackageReference Include="Geta.Optimizely.ContentTypeIcons" Version="2.0.2" />
    <PackageReference Include="Geta.Optimizely.Sitemaps" Version="3.1.0" />
    <PackageReference Include="ImagePointEditor" Version="2.2.0" />
    <PackageReference Include="MediatR" Version="12.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="7.0.4" />
    <PackageReference Include="SixLabors.ImageSharp.Web.Providers.Azure" Version="2.0.2" />
    <PackageReference Include="Stott.Optimizely.RobotsHandler" Version="2.5.0" />
    <PackageReference Include="Stott.Security.Optimizely" Version="0.9.2-beta" />
    <PackageReference Include="System.Linq.Async" Version="6.0.1" />

I went from mostly using the umbrella package of EPiServer.CMS to including the following specific packages to ensure I was running with 12.13.1 without dependency warnings:

  • EPiServer.CMS.AspNetCore.HtmlHelpers
  • EPiServer.CMS.AspNetCore.Templating
  • EPiServer.CMS.Core
  • EPiServer.Hosting

Please login to comment.
Latest blogs
Extended SelectionFactory

In one of my previous articles I described new Color Picker widget. Today I’d like to show another simple property. I prepared extended version of...

Grzegorz Wiecheć | Jun 7, 2023 | Syndicated blog

Unlock Creativity with Text Generation

Need fresh and innovative content ideas? The Epicweb.Optimizely.AIAssistant Addon has got you covered with its text generation feature. In this blo...

Luc Gosso (MVP) | Jun 6, 2023 | Syndicated blog

Breaking Language Barriers with Multilingual Text Translation

In today's globalized world, effective communication across languages is essential. The Epicweb.Optimizely.AIAssistant Addon makes language...

Luc Gosso (MVP) | Jun 6, 2023 | Syndicated blog

Optimizely Search & Navigation - Get autocomplete suggestions in right language

When you are using Optimizely Search & Navigation (Find) to help you generate autocomplete suggestions server side in a multi-language scenario it...

Allan Thraen | Jun 5, 2023 | Syndicated blog