Releases: Kentico/xperience-algolia
v5.1.0
What's Changed
- [Snyk] Security upgrade Microsoft.AspNetCore.Html.Abstractions from 2.2.0 to 2.3.0 by @michalJakubis in #40
- [Snyk] Security upgrade Kentico.Xperience.Libraries from 13.0.144 to 13.0.181 by @michalJakubis in
Full Changelog: v5.0.0...v5.1.0
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.Searchto 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.AlgoliaSearchtoKentico.Xperience.Algolia - Registering indexes with
RegisterAlgoliaIndexno longer supported AlgoliaFacetFilterViewModel renamed toAlgoliaFacetFilter- Facet localization is now performed via
UpdateFacets()parameter
- Facet localization is now performed via
AddAlgolia()extension method parameters have changedIAlgoliaConnectionremoved- Algolia API can now be accessed at
IAlgoliaClient IAlgoliaIndexRegisterremoved- Indexes are now registered via
IndexStore
- Indexes are now registered via
IAlgoliaIndexingServiceremovedGetTreeNodeData()is now inIAlgoliaObjectGeneratorProcessAlgoliaTasks()is now inIAlgoliaClient
IAlgoliaRegistrationServiceremoved- Indexes are now registered via
IndexStore IsNodeAlgoliaIndexed()andIsNodeIndexedByIndex()are nowTreeNodeextension methods and renamedGetIndexSettings()is now called internally byIAlgoliaIndexService
- Indexes are now registered via
IAlgoliaSearchServiceremoved- 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.RegisteredIndexesnow contains a list ofAlgoliaIndexobjects (changed fromRegisterAlgoliaIndexAttribute).IAlgoliaRegistrationService.GetAlgoliaIndexAttributeswas removed.- The parameters of
IAlgoliaRegistrationService.RegisterIndexwere 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.Librariesreference 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.configapplication 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.