Releases: Kentico/xperience-algolia
v5.0.0
What's Changed
- Feature: Register IOptions for DI by @kentico-ericd in #25
- Set package and namespace to Kentico.Xperience.Algolia.KX13 by @kentico-ericd in #27
- Introduce ADO YAML pipeline by @KenticoMartinS in #28
- Fix nuget publish by @KenticoMartinS in #30
- Migrate xbk by @kentico-ericd in #29
- Updated repository owner by @kentico-jaroslavn in #32
- SignFile replaced with AzureSignTool by @ZdenekS81 in #36
- Containerization by @ZdenekS81 in #37
- Indexed node updated on any parent movement in the tree by @bkapustik in #34
- Security upgrade Kentico.Xperience.Libraries from 13.0.73 to 13.0.137 by @Matej4545 in #35
- Security upgrade Kentico.Xperience.Libraries from 13.0.137 to 13.0.144 by @Matej4545 in #38
- Bump to v5.0.0 by @michalJakubis in #39
New Contributors
- @KenticoMartinS made their first contribution in #28
- @kentico-jaroslavn made their first contribution in #32
- @ZdenekS81 made their first contribution in #36
- @bkapustik made their first contribution in #34
- @Matej4545 made their first contribution in #35
- @michalJakubis made their first contribution in #39
Full Changelog: v3.0.0...v5.0.0
v4.0.0 NuGet package - refactor and data splitting
This is a large release with many breaking changes. Most notably, it introduces a new data splitting feature, adds partial updating, and updates the Algolia.Search
package version.
- New features/updates
- Update
Algolia.Search
to 6.13.0 - Code refactored for efficiency and readability
- Add data splitting for large content
- Add partial updating when modifying existing index content, which reduces the amount of data transferred to Algolia
- Update
- Breaking changes
- Namespace changed from
Kentico.Xperience.AlgoliaSearch
toKentico.Xperience.Algolia
- Registering indexes with
RegisterAlgoliaIndex
no longer supported AlgoliaFacetFilterViewMode
l renamed toAlgoliaFacetFilter
- Facet localization is now performed via
UpdateFacets()
parameter
- Facet localization is now performed via
AddAlgolia()
extension method parameters have changedIAlgoliaConnection
removed- Algolia API can now be accessed at
IAlgoliaClient
IAlgoliaIndexRegister
removed- Indexes are now registered via
IndexStore
- Indexes are now registered via
IAlgoliaIndexingService
removedGetTreeNodeData()
is now inIAlgoliaObjectGenerator
ProcessAlgoliaTasks()
is now inIAlgoliaClient
IAlgoliaRegistrationService
removed- Indexes are now registered via
IndexStore
IsNodeAlgoliaIndexed()
andIsNodeIndexedByIndex()
are nowTreeNode
extension methods and renamedGetIndexSettings()
is now called internally byIAlgoliaIndexService
- Indexes are now registered via
IAlgoliaSearchService
removed- Facets can be updated via
IAlgoliaFacetFilter.UpdateFacets()
- Facets can be updated via
- Namespace changed from
v3.0.0 Custom module
Updated for v4.0.0 NuGet package
v3.1.0 NuGet Package - IOptions<AlgoliaOptions>
This release configures IOptions<AlgoliaOptions>
during .NET Core application startup to enable easy settings retrieval in code. For example, to get the ApplicationId
and SearchKey
for javascript solutions, you can now inject IOptions<AlgoliaOptions>
into views:
@using Microsoft.Extensions.Options
@inject IOptions<AlgoliaOptions> options
@{
var algoliaOptions = options.Value;
}
<script type="text/javascript">
const search = instantsearch({
indexName: '@YourSearchModel.IndexName',
searchClient: algoliasearch('@algoliaOptions.ApplicationId', '@algoliaOptions.SearchKey'),
});
v3.0.0 NuGet Package - New index registration
Changes
- The recommended method for registering Algolia indexes is now to use a custom module in the Xperience administration project:
protected override void OnPreInit()
{
base.OnPreInit();
Service.Use<IAlgoliaIndexRegister>(new DefaultAlgoliaIndexRegister()
.Add<AlgoliaSiteSearchModel>(AlgoliaSiteSearchModel.IndexName)
);
}
and via a new parameter in the AddAlgolia
method in the live-site project:
// Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddAlgolia(Configuration,
new DefaultAlgoliaIndexRegister()
.Add<AlgoliaSiteSearchModel>(AlgoliaSiteSearchModel.IndexName)
);
}
The method of registering indexes via the RegisterAlgoliaIndex
attribute is still supported, but not recommended. Due to this change, the above methods must be called in both projects regardless of the index registration approach used.
IAlgoliaRegistrationService.RegisteredIndexes
now contains a list ofAlgoliaIndex
objects (changed fromRegisterAlgoliaIndexAttribute
).IAlgoliaRegistrationService.GetAlgoliaIndexAttributes
was removed.- The parameters of
IAlgoliaRegistrationService.RegisterIndex
were changed toType, string, IEnumerable<string>?
.
Bugfixes
- Installing the package on an Xperience instance that was hotfixed from a previous version to 13.0.73 worked as expected. However, installing the package on an Xperience instance using the Refresh 6 installer failed to build. Updating the
Kentico.Xperience.Libraries
reference to v13.0.73 resolves this issue.
v2.0.0 Custom module
Updated for v3.0.0 of the NuGet package
v2.3.0 NuGet Package- Disable indexing via App Setting
- Algolia indexing can now be disabled globally for an application by setting the
web.config
application setting "AlgoliaSearchDisableIndexing" totrue
. This overrides the database setting provided by the custom module.
v2.2.0 NuGet package - Expose Algolia Index Initialization
This release implements #15 to enable customization of search index initialization. Users can now create custom IAlgoliaIndexService
implementations to alter the index, e.g. by setting synonyms. Changes have been made to examples in the README to reflect this change- instead of initializing the index using ISearchClient.InitIndex
, you should inject the IAlgoliaIndexService
and use the InitializeIndex
method.
v1.1.0 Custom module
Updated for Kentico.Xperience.AlgoliaSearch v2.2.0. No new features.
v2.1.0 NuGet package- Enable Source Link for debugging
With this release, a symbols packages has been uploaded to NuGet, enabling the ability to debug the repository code locally via Source Link.