Quan Mai
Quan Mai  -  CMS
Mar 16, 2023
  2097
(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
I'm running Optimizely CMS on .NET 9!

It works 🎉

Tomas Hensrud Gulla | Nov 12, 2024 | Syndicated blog

Recraft's image generation with AI-Assistant for Optimizely

Recraft V3 model is outperforming all other models in the image generation space and we are happy to share: Recraft's new model is now available fo...

Luc Gosso (MVP) | Nov 8, 2024 | Syndicated blog

ExcludeDeleted(): Prevent Trashed Content from Appearing in Search Results

Introduction In Optimizely CMS, content that is moved to the trash can still appear in search results if it’s not explicitly excluded using the...

Ashish Rasal | Nov 7, 2024

CMS + CMP + Graph integration

We have just released a new package https://nuget.optimizely.com/package/?id=EPiServer.Cms.WelcomeIntegration.Graph which changes the way CMS fetch...

Bartosz Sekula | Nov 5, 2024

Block type selection doesn't work

Imagine you're trying to create a new block in a specific content area. You click the "Create" link, expecting to see a CMS modal with a list of...

Damian Smutek | Nov 4, 2024 | Syndicated blog

.NET 8 FAQ

I have previously written about .NET compatibility in general and .NET 8 in particular, see blog posts here , here and here . With the end of suppo...

Magnus Rahl | Nov 4, 2024