Packages [expand] [collapse]
Released in version

Release notes for Optimizely updates

This topic lists Optimizely updates, delivered as NuGet packages and services. You decide which updates apply to your project; see Installing Optimizely updates.

Select a product, package, or service in the left menu, and then select one of the following filters from Item type and click Filter.

  • Bug. Display bug fixes.
  • Critical bug. Display only critical bug fixes.
  • Feature. Display only new features (all features).
  • UI Feature. Display only end-user (user interface) features.

Note: NuGet packages listed here may not be immediately available in the Optimizely NuGet feed.

Latest changes

Item type
Filter on date
Area ID Type Description Released
  Cannot reindex contents after deleting App_Data\Index folder

Steps to reproduce:

Precondition: Install and configure EPiServer.Search in AlloyMVC site - \App_data\Index folder was created.

1. Delete the \App_data\Index folder.
2. Open Admin UI > Admin tab > Tools > Index Site Content.
Note: "Delete old data" option may be selected or not.
3. Click the Start Indexing button

_ Searching for published content (e.g. Alloy) returns results.
_ Creates files of indexed content in the folders: \App_data\Index\Main & \App_data\Index\Ref.

Does not create files of indexed contents: \App_data\Index\Main is empty, \App_data\Index\Ref is not created, and error log file contains some exceptions like below.

Observed: The issue still happens even after starting indexing again.

2019-01-22 16:07:24,025 [42] ERROR EPiServer.Search.IndexingService.IndexingService: Reset of index: '' failed. Index not found!
2019-01-22 16:07:24,027 [40] ERROR EPiServer.Search.Internal.RequestHandler: Could not reset index '' for service uri 'http://vnlabvm66:1000/mvc2361/IndexingService/IndexingService.svc/reset/?namedindex=&accesskey=local'. Message: The remote server returned an error: (500) Internal Server Error.   at System.Net.HttpWebRequest.GetResponse()
   at EPiServer.Search.Internal.RequestHandler.MakeHttpRequest(String url, String method, IndexingServiceReference indexingServiceReference, Stream postData, Action`1 responseStreamHandler)
   at EPiServer.Search.Internal.RequestHandler.ResetIndex(String namedIndexingService, String namedIndex)
2019-01-22 16:07:29,543 [77] ERROR EPiServer.Search.IndexingService.IndexingService: Failed to search index 'default'. Index seems to be corrupt! Message: Could not find a part of the path 'C:\episerver\vs\mvc2361\App_Data\Index\Ref'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
   at Lucene.Net.Store.FSDirectory.ListAll(DirectoryInfo dir) in d:\Lucene.Net\FullRepo\trunk\src\core\Store\FSDirectory.cs:line 309
   at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run(IndexCommit commit) in d:\Lucene.Net\FullRepo\trunk\src\core\Index\SegmentInfos.cs:line 628
   at Lucene.Net.Index.DirectoryReader.Open(Directory directory, IndexDeletionPolicy deletionPolicy, IndexCommit commit, Boolean readOnly, Int32 termInfosIndexDivisor) in d:\Lucene.Net\FullRepo\trunk\src\core\Index\DirectoryReader.cs:line 117
   at Lucene.Net.Search.IndexSearcher..ctor(Directory path, Boolean readOnly) in d:\Lucene.Net\FullRepo\trunk\src\core\Search\IndexSearcher.cs:line 80
   at EPiServer.Search.IndexingService.IndexingServiceHandler.SingleIndexSearch(String q, NamedIndex namedIndex, Int32 maxHits, Int32& totalHits)
2019-01-22 16:07:29,545 [77] ERROR EPiServer.Search.IndexingService.IndexingService: Failed to delete Document with id: 8ac75760-c57a-4f03-8928-faaf3d3ec49b|en. Message: no segments* file found in Lucene.Net.Store.SimpleFSDirectory@C:\episerver\vs\mvc2361\App_Data\Index\Main lockFactory=Lucene.Net.Store.NativeFSLockFactory: files:
   at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run(IndexCommit commit) in d:\Lucene.Net\FullRepo\trunk\src\core\Index\SegmentInfos.cs:line 736
   at Lucene.Net.Index.DirectoryReader.Open(Directory directory, IndexDeletionPolicy deletionPolicy, IndexCommit commit, Boolean readOnly, Int32 termInfosIndexDivisor) in d:\Lucene.Net\FullRepo\trunk\src\core\Index\DirectoryReader.cs:line 117
   at EPiServer.Search.IndexingService.IndexingServiceHandler.DeleteFromIndex(NamedIndex namedIndex, String itemId, Boolean deleteRef)

EPiServer.Search 9.0.3;
Feb 03, 2019
  Lucene search uses MD5 hashing, which is not FIPS compliant

The indexing service uses Lucene which, by default, uses MD5 hashing. This is not FIPS compliant.

  1. Install Episerver on a Windows server.
  2. Enable FIPS mode by updating the key at HKLM/System/CurrentControlSet/Control/Lsa/FipsAlgorithmPolicy/Enabled to "1".
  3. Restart the computer.
  4. Update the Web.config to have a FIPS accepted algorithm (<machineKey decryption="3DES" validation="SHA1" decryptionKey="AutoGenerate,IsolateApps" validationKey="AutoGenerate,IsolateApps"/> ).
  5. Generate new machine keys.
  6. Try to index using Lucene Search.

Should work.

Throws an exception.

NOTE: This fix includes a new setting on the indexing service configuration, fipsCompliant="true", that must be configured.

EPiServer.Search 9.0.2;
Jan 24, 2019
  Separate NuGet package for Search

A new package for the EPiServer.Search CMS integration. This package is versioned together with the EPiServer.Search package, which contains the Indexing Service.

Breaking Changes

  • The following classes has been moved from the EPiServer.Framework and EPiServer.CMS.Core packages to EPiServer.Search.Cms or EPiServer.Search.Cms.AspNet:
    • All classes in or below the EPiServer.Search namespace from the EPiServer.Framework, EPiServer and EPiServer.ApplicationModules assemblies. This includes all EPiServer.Search configuration sections and elements.
    • EPiServer.Core.ContentSearchHandler from the EPiServer assembly
    • EPiServer.Web.WebControls.SearchDataSource from the EPiServer.Web.WebControls assembly
    • EPiServer.Cms.Shell.Search.EPiServerSearchProviderBase from the EPiServer.Cms.Shell.UI assembly
  • Search initialization will not be done when EPiServer.Web.InitializationModule is complete. If dependent on Search being initialized, add a dependency to EPiServer.Search.Initialization.SearchInitialization module in the EPiServer.Search.Client package.
EPiServer.Search 9.0.1;
Nov 20, 2017
  Search CMS 10 compatibility

Updated version range to support EPiServer.Framework 10.0

EPiServer.Search 8.1.0;
Oct 23, 2016