Products
Packages [expand] [collapse]
Services
Released in version
9.0.3
9.0.2
9.0.1
8.1.0

Release notes for Episerver updates

This overview lists changes included in Episerver updates delivered as NuGet packages and services. Use the information to decide which updates to apply to your project, see Installing Episerver updates. Select a product, package, or service in the left menu, and filter for dates, features, or bug fixes.

  • See only new features (all features) - filter on item type Feature.
  • See only end-user (user interface) features - filter on item type UI Feature.
  • See only critical bug fixes - filter on item type Critical Bug.

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

Changes in EPiServer.Search

Item type
From date
To date
Items/Page
Area Id Type Description Released
CMS-13080
  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

Expected:
_ 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.

Actual:
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)

Fix Version/s: EPiServer.Search 9.0.3;
Feb 03, 2019
CMS-12563
  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.

Expected:
Should work.

Actual:
Throws an exception.

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

Fix Version/s: EPiServer.Search 9.0.2;
Jan 24, 2019
CMS-8384
  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.
Fix Version/s: EPiServer.Search 9.0.1;
Nov 20, 2017
CMS-4328
  Search CMS 10 compatibility

Updated version range to support EPiServer.Framework 10.0

Fix Version/s: EPiServer.Search 8.1.0;
Oct 23, 2016