Magnus Rahl
Aug 28, 2020
  3858
(9 votes)

EPiServer CMS 11.18.0 delisted from Nuget feed

We are investigating a compatibility issue where EPiServer.CMS.Core 11.18.0 can cause problems with other parts of the platform, e.g. Search and Navigation (Find).

For the time being we have de-listed this version from the Episerver nuget feed while we continue to investigate the issue.

If you have already deployed a solution using this version, please reach out to Episerver application support to determine if you can be affected by this and what steps you should take to resolve any issues you might have from it.

If you are in the process of updating your solution to this version, hold off on the upgrade for now.

Our sincerest apologies for any inconveniences this might cause.

Originally published 2020-08-28 11:32 CEST

Update 2020-08-28 15:33 CEST:

We took the decision to not only delist, but to delete the 11.18.0 version from the Nuget feed. This will cause issues restoring packages for anyone who has already updated, but that is intentional, a way to draw attention to the issue with that version.

We are working on a fixed 11.18.1 version that we hope to have QA:ed and released early next week. Anyone updating from a pre-11.18 version to 11.18.1 will be safe from this issue. Anyone who has deployed with 11.18.0 are still adviced to reach out to Application support to determine what steps to take.

Update 2020-09-01 09:16 CEST:

The patched 11.18.1 version has been released.

Update 2020-09-02:

There are reports of issues when updating from 11.18.0 to 11.18.1 since the former has been removed from the feed. If you run into such issues, you can download CMS 11.18.0 (NOT for production use) here.

Update 2020-09-29:

CMS 11.19.0 was released 2020-09-15. This version automatically handles compatibility with Find. If Find 13.2.8 or earlier is used, CMS automatically falls back to the pre-11.18.0 behavior to ensure there are no compatibility issues. If Find 13.2.9 or later is used, CMS can use the new memory optimized Content proxies. You can still force it to use the old Castle proxies by using this appSetting:

<add key="episerver:setoption:EPiServer.Core.ContentOptions.ProxyType,EPiServer" value="Castle" />

In the absence of any setting, the default is to use the new optimized proxies (equal to setting the above AppSetting to "Optimized").

Aug 28, 2020

Comments

Antti Alasvuo
Antti Alasvuo Aug 28, 2020 10:29 AM

Hi Magnus, I think we might be a victim of this issue on at least one customer in production (yes, I have contacted the support).

In our case it is about the UnifiedSearchHit and the OriginalObjectType property being null on the instance - is this related to this issue?

Magnus Rahl
Magnus Rahl Aug 28, 2020 12:01 PM

Thanks, I've included that in our "test matrix" for this. It seems related, the issue is in the runtime type identifier of the proxied content type classes.

Antti Alasvuo
Antti Alasvuo Aug 28, 2020 12:30 PM

In our case the workaround was to force the Castle proxies back to use with this appSettings configuration (gotten from Episerver support). And if someone missed the 11.18.0 release contained the new custom IL generated proxies to replace the Castle proxies: https://world.episerver.com/documentation/Release-Notes/ReleaseNote/?releaseNoteId=CMS-15856

<add key="episerver:setoption:EPiServer.Core.ContentOptions.ProxyType,EPiServer" value="Castle" />

And after that is applied in the target environment a full re-indexing for Find needs to be done.

After that everything was working as before. Imagine a big thumb here :D

 

Magnus Rahl
Magnus Rahl Aug 28, 2020 12:33 PM

Thanks for confirming, we're on the same track.

Loa Skogø Lind
Loa Skogø Lind Aug 31, 2020 08:41 AM

If we have deployed to 11.18 can we downgrade to 11.17, and then when 11.18.1 is available we'll update to this version?

Kane Made It
Kane Made It Aug 31, 2020 08:44 AM

I got same question from our colleagues, but thanks for letting us know here.

Magnus Rahl
Magnus Rahl Aug 31, 2020 05:52 PM

@Loa Skogø Lind 11.18.1 should hit the Nuget feed tomorrow so I suggest you use that instead of trying to go back to 11.17. Note that it you have had 11.18.0 running you should reindex the site after 11.18.1 deploy to ensure index consistency.

Justin Le
Justin Le Sep 1, 2020 02:48 AM

Thanks Magnus. We need 11.8.1 in order to make our CI/CD work because all builds are failed due to 11.18.0 is no longer existed. Downgrade is not a good option :).

Antti Alasvuo
Antti Alasvuo Sep 1, 2020 03:37 AM

@Magnus, can you comment here or should we talk to support? In our case we use the 11.18.0 version but have reverted to Castle proxies with appSettings and re-indexed Find, so everything works. So when 11.18.1 gets released, should we remove the forcing of Castle proxies and re-index Find?

Magnus Rahl
Magnus Rahl Sep 1, 2020 06:07 AM

@Antti Alasvuo 11.18.1 will ignore that option and always use Castle proxies. So if you have already reindexed with Castle proxies, you don't need to reindex again after update.

Antti Alasvuo
Antti Alasvuo Sep 1, 2020 06:13 AM

@Magnus, thanks for the information.

I guess this means the custom IL generated proxies feature is removed for now then?

Justin Le
Justin Le Sep 1, 2020 08:04 AM

@Magnus, should we reindex after update from 11.18.0 to 11.18.1?

Antti Alasvuo
Antti Alasvuo Sep 1, 2020 08:11 AM

@Justin, I think Magnus already answered that:

  • if you are running 11.18.0 without adding the appSettings key to use Castle proxies and re-index, then when you update to 11.18.1 you should re-index because you might have inconsisten data in Find index
  • if you are runnung 11.18.0 with the appSettings to force Castle proxies and re-index, then when upgrading to 11.18.1 you don't need to re-index and you should remove the added appSetting

Justin Le
Justin Le Sep 1, 2020 08:16 AM

@Antti, Thanks

Magnus Rahl
Magnus Rahl Sep 1, 2020 08:38 AM

@Antti correct on reindexing strategy.

About the optimized proxies we're taking a step back and looking at how we can make that work without issues with Find and preferrably without requiring reindexing. And if it requires changes in the Find client how do we make sure releases/dependencies of the Find client supports this so no one ends up with a broken combo of versions. We would like to release it as an auto-enabled feature because of the performance gains, but the fallback would be to have it as an opt-in feature.

Loa Skogø Lind
Loa Skogø Lind Sep 1, 2020 09:40 AM

I am trying to upgrade to 11.18.1, but the nuget-package-installer is complaining about the 11.18.0 is missing.

How do I move on? Do I the 11.18.0 package locally?

Thanks.

Loa Skogø Lind
Loa Skogø Lind Sep 1, 2020 11:01 AM

To answer my own question we got the *.nupkg files from Episerver Support so the nuget package installer did not complain about the missing version.

Magnus Rahl
Magnus Rahl Sep 1, 2020 11:26 AM

@Loa thanks for the input. I'm reluctant to put the 11.18.0 package back on the feed even if it is delisted. We don't want anyone accidently installing it.

Bob Davidson
Bob Davidson Sep 1, 2020 03:14 PM

Is deprecating the package an option? Or is that only a nuget.org thing? https://docs.microsoft.com/en-us/nuget/nuget-org/deprecate-packages

If you could deprecate instead of delist, then we'd still be able to build sites where we can tolerate this issue. Because of the delisting, a significant of our build pipelines were effectively down (including sites that don't use Find or are just integration builds where we could easily tolerate the issue), and the only option to get builds working again was to downgrade or wait for the update.

Magnus Rahl
Magnus Rahl Sep 1, 2020 05:27 PM

@Bob Davidson I think deprecating means the whole package, not a specific version. A de-listed package version shouldn't be a problem to download with a specific version, e.g. like the tool does when you restore packages. But it won't appear in version lists and might not be used when resolving dependencies from other packages. I'm not sure here and that is the reason I'm reluctant to even put the package back as de-listed, because there are packages that depend on the 11.18.0 version or higher but I'm not if any of the different dependency resolution packages in Nuget could mean it actually picks the broken package if it is even available on the feed.

The updated version is already there so you don't need to downgrade anything. As mentioned earlier in the comments you could get issues updating if you are currently on the removed version, because nuget apparently might reach out to get the currently installed package as well as the new one when updating. This could depend on whether you have the package in cache or not.

Bob Davidson
Bob Davidson Sep 1, 2020 06:15 PM

Mangus, the Nuget documentation makes it look like you can choose to deprecate specific versions or "all versions" of a package, at least for packages on nuget.org.

We're in the process of upgrading our effected projects now, so we're reaching a resolution. I understand your hesitency to put the package back up, and frankly I don't know the correct answer here. My understanding of "delisting" is that the package basically wouldn't show up in search, but would be generally available for restore, but all our CI builds with this dependency were failing to restore this package. I just wanted to suggest deprecation as a possibility for any similar issues in the future, should they arise. Thanks.

Magnus Rahl
Magnus Rahl Sep 1, 2020 07:06 PM

@Bob Davidson thanks for the feedback, I'll look into the deprecation feature to know how we can use it in the future. Meanwhile I have done some testing and it does seem that when the package is de-listed it is not used in dependency resolution. So we should be able to put it back as de-listed to help with upgrades. I need to discuss this with other people tomorrow though.

Meanwhile, if anyone has problems upgrading from 11.18.0 because the package is not there anymore, you can reach out to support like was mentioned in an earlier comment, or perhaps easier: Just manually edit your package.config / package references to point to 11.18.1 for the CMS packages instead of 11.18.0. You also need to manually update binding redirects or reinstall the package once you have got it to restore the 11.18.1 version.

Magnus Rahl
Magnus Rahl Sep 2, 2020 11:22 AM

After careful deliberation we decided to not put 11.18.0 back on the feed, to keep that as an obstacle to anyone who might already have it referenced and plan to go to production without knowing this. Sorry about that for those of you who have found your way here and are now trying to update and run into problems. For you I have uploaded the files here, see link in the post itself. Just put those files in a folder and reference that folder as a package source and you should be able to restore and update fine.

Magnus Rahl
Magnus Rahl Sep 29, 2020 07:29 AM

Since a couple of weeks back we have CMS 11.9.0 published which should be foolproof, see updated text at the bottom of the blog post.

Valina Eckley
Valina Eckley Sep 30, 2020 04:59 PM

I was getting an "Entry Point Was Not Found" exception on a handful of my templates with Find 13.2.8 and adding the key to my web config to go back to Castle solved them.  I did report the bug in the forums, and while going back to Castle is a good bandaid solution to keep my code base up-to-date, I don't know how future-proof this is.  Hopefully there will be some documentation added to explain some atrubutes I may need to add in order to use the new optimized context proxies.   

Magnus Rahl
Magnus Rahl Oct 1, 2020 06:45 AM

@Valina Eckley thanks for reporting this. Your report on the forums was picked up yesterday by our support engineers and forwarded to Software Engineering last night and we now have a repro and a fix that I hope will make it into the next release.

We don't intend to move away from the Castle proxies completely. They are still needed for certain parts of the platform. The new "Optimized" proxy is a performance optimization.

Valina Eckley
Valina Eckley Oct 1, 2020 03:00 PM

Thanks for the update.

Please login to comment.
Latest blogs
Customizing Property Lists in Optimizely CMS

Generic property lists is a cool editorial feature that has gained a lot of popularity - in spite of still being unsupported (officially). But if y...

Allan Thraen | Oct 2, 2022 | Syndicated blog

Content Delivery API – The Case of the Duplicate API Refresh Token

Creating a custom refresh provider to resolve the issues with duplicate tokens in the DXC The post Content Delivery API – The Case of the Duplicate...

David Lewis | Sep 29, 2022 | Syndicated blog

New Optimizely certifications - register for beta testing before November 1st

In January 2023, Optimizely is making updates to the current versions of our certification exams to make sure that each exam covers the necessary...

Jamilia Buzurukova | Sep 28, 2022

Optimizely community meetup - Sept 29 (virtual + Melbourne)

Super excited to be presenting this Thursday the 29th of September at the Optimizely community meetup. For the full details and RSVP's see the...

Ynze | Sep 27, 2022 | Syndicated blog

Preview multiple Visitor Groups directly while browsing your Optimizely site

Visitor groups are great - it's an easy way to add personalization towards market segments to your site. But it does come with it's own set of...

Allan Thraen | Sep 26, 2022 | Syndicated blog

The Report Center is finally back in Optimizely CMS 12

With Episerver.CMS.UI 12.12.0 the Report Center is finally re-introduced in the core product.

Tomas Hensrud Gulla | Sep 26, 2022 | Syndicated blog