Try our conversational search powered by Generative AI!

Quan Mai
Quan Mai  -  CMS
Mar 16, 2023
  1566
(5 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

Comments

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:
https://world.optimizely.com/blogs/robert-svallin/dates/2023/3/episerver-cms-ui-12-17-0-delisted-from-nuget-feed/

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:

  <ItemGroup>
    <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" />
  </ItemGroup>

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
Roll Your Own Security Headers

Proper security headers are a must for your Optimizely driven website. There are a variety of tools out there that will help with this, but when...

Ethan Schofer | Feb 21, 2024

Migrate Catalog content properties

A colleague asked me yesterday – how do we migrate properties of catalog content. There is, unfortunately, no official way to do it. There are...

Quan Mai | Feb 20, 2024 | Syndicated blog

Adjust log levels in Optimizely DXP

You may adjust the log levels for your site in Optimizely DXP yourself, but only for the Integration environment. Follow this step-by-step guide.

Tomas Hensrud Gulla | Feb 20, 2024 | Syndicated blog

Introducing Search & Navigation Dashboard for Resource Usage

We're excited to unveil the latest addition to the Search & Navigation suite: a dashboard designed to proactively monitor your resource usage. It's...

Edvin Dackelid Johansson | Feb 20, 2024