All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
See tasks currently in development on Unreleased changes page.
0.7.3 - 2024-10-02
A performance update for product indexing. Due to some bugs in release 0.7.0 the performance in some edge cases was dramatically decreased.
- fix: skip loading reviews data #73
- fix: loading the entire product collection when there are no children #74 This was a huge performance downside for any chunk which has only simple products (no children). For such chunks there were a performance degradation because of loading a full product collection. Ref: HC-1687, HC-1686
- perf: do not load total product collection size #75
- perf: add only specific attributes to product collection #76 When product collection is loading all available product attributes are added to collection. This fix makes it loading only attributes which are configured in Field-Attribute mapping configuration Ref: HC-1689
- perf: optimize indexer:reindex command #78
Optimize product collection loading when
bin/magento indexer:reindex
command is executed. Avoid loading useless data because index scheduler just requires to know the collection size. Ref: HC-1690 - fix: send sku field to index by default #79 Ref: HC-1695
0.7.2 - 2024-08-23
- fix: update hawksearch-vue lib to version 0.9.107 (#71)
- fix: make item clickable in AC Top Categories (#70)
Refs: HC-1675 - fix: use category paths for product urls (#69)
Refs: HC-1668 - fix: top categories links in AC redirect (#68)
Links in Top Categories block in autocomplete has no 'q' parameter in the URL. It redirects all these links to home page because Magento doesn't allow Search Results page URL without 'q' parameter. This update changes the default logic of Magento and allows Search Results page to be opened without 'q' parameter accessing all results from the Hawksearch index. - fix: pager chevrons style issue (1802738)
0.7.1 - 2024-07-16
- fix: yes/no attribute value is incorrect when not defined (#66)
Add specific logic foris_returnable
attribute, considering "Use Config Settings" option
Ref: HC-1656 - fix: convert Phrase objects to string when handling attribute (1d13746)
0.7.0 - 2024-07-02
Starting version 0.7.0 we follow Backward compatibility policy.
-
disable hawksearch_retry_failed_operations cron by config (#53)
ref: HC-1556 -
product visibility attribute indexing logic changed (#61)
Field visibility has been replaced by visibility_search, visibility_catalog fields add field specific search for product visibility: visibility_search:true Query condition is used for main search request. visibility_catalog:true Query condition is used for category pages requests.
Ref: HC-1572, HC-1639, HC-1638 -
update hawksearch/connector dependency version (3f89512, 7fc7bdd)
-
add field name provider (#62)
- replace attributes with field name providers:
After deprecation of AbstractEntityRebuild::getIndexedAttributes() method attributes should be replaced by instance of interface Model\Indexing\Field\NameProviderInterface
For fields which require default values add FieldHandlerInterface objects to handle field values. - fix: wrong argument type in InvalidArgumentException
- rename argument in FieldHandlerInterface::handle
Argument $attributeCode in the method FieldHandlerInterface::handle has been renamed to $fieldName
refs: HC-1459
- replace attributes with field name providers:
-
update hawksearch-vue lib to version 0.9.105 (#64)
Fix did you mean links not clickable
Ref: HC-1154
- forbid retrying completed operations (#54)
ref: HC-1445 - rename config group to failure_recovery (#56)
- name category attribute is not added to collection (34548ad)
When EAV category collection is used, then name attribute is not added to selected attributes. As a result Category facet displays category ID's instead of Names (based on Hierarchy API). Landing pages API also breaks on reindexing. - optimise product collection loading and attributes processing (#63)
ref: HC-1644
-
Class changes:
- HawkSearch\EsIndexing\Model\ContentPage\Attribute\Handler\Url is deprecated, use HawkSearch\EsIndexing\Model\ContentPage\Field\Handler\Url
- HawkSearch\EsIndexing\Model\Hierarchy\Attribute\Handler\HierarchyId is deprecated, use HawkSearch\EsIndexing\Model\Hierarchy\Field\Handler\HierarchyId
- HawkSearch\EsIndexing\Model\Hierarchy\Attribute\Handler\IsActive is deprecated, use HawkSearch\EsIndexing\Model\Hierarchy\Field\Handler\IsActive
- HawkSearch\EsIndexing\Model\Hierarchy\Attribute\Handler\Name is deprecated, use HawkSearch\EsIndexing\Model\Hierarchy\Field\Handler\Name
- HawkSearch\EsIndexing\Model\Hierarchy\Attribute\Handler\ParentHierarchyId is deprecated, use HawkSearch\EsIndexing\Model\Hierarchy\Field\Handler\ParentHierarchyId
- HawkSearch\EsIndexing\Model\Indexing\AttributeHandler\Composite is deprecated, use HawkSearch\EsIndexing\Model\Indexing\FieldHandler\Composite
- HawkSearch\EsIndexing\Model\Indexing\AttributeHandler\DataObjectHandler is deprecated, use HawkSearch\EsIndexing\Model\Indexing\FieldHandler\DataObjectHandler
- HawkSearch\EsIndexing\Model\LandingPage\Attribute\Handler\CustomSortList is deprecated, use HawkSearch\EsIndexing\Model\LandingPage\Field\Handler\CustomSortList
- HawkSearch\EsIndexing\Model\LandingPage\Attribute\Handler\CustomUrl is deprecated, use HawkSearch\EsIndexing\Model\LandingPage\Field\Handler\CustomUrl
- HawkSearch\EsIndexing\Model\LandingPage\Attribute\Handler\DefaultHandler is deprecated, use HawkSearch\EsIndexing\Model\LandingPage\Field\Handler\DefaultHandler
- HawkSearch\EsIndexing\Model\LandingPage\Attribute\Handler\NarrowXml is deprecated, use HawkSearch\EsIndexing\Model\LandingPage\Field\Handler\NarrowXml
- HawkSearch\EsIndexing\Model\Product\Attribute\Handler\Category is deprecated, use HawkSearch\EsIndexing\Model\Product\Field\Handler\Category
- HawkSearch\EsIndexing\Model\Product\Attribute\Handler\Composite is deprecated, use HawkSearch\EsIndexing\Model\Product\Field\Handler\Composite
- HawkSearch\EsIndexing\Model\Product\Attribute\Handler\DefaultHandler is deprecated, use HawkSearch\EsIndexing\Model\Product\Field\Handler\DefaultHandler
- HawkSearch\EsIndexing\Model\Product\Attribute\Handler\ImageUrl is deprecated, use HawkSearch\EsIndexing\Model\Product\Field\Handler\ImageUrl
- HawkSearch\EsIndexing\Model\Product\Attribute\Handler\Url is deprecated, use HawkSearch\EsIndexing\Model\Product\Field\Handler\Url
- Parameter $attributeHandler is deprecated in method HawkSearch\EsIndexing\Model\Indexing\EntityType::__construct(), use $fieldHandler
- HawkSearch\EsIndexing\Model\Indexing\EntityType\EntityTypeAbstract::getAttributeHandler() is deprecated, use HawkSearch\EsIndexing\Model\Indexing\EntityType\EntityTypeAbstract::getFieldHandler()
- AbstractEntityRebuild::getAttributeValue() is deprecated and will be removed
- AbstractEntityRebuild::getIndexedAttributes() is deprecated, use Model\Indexing\Field\NameProviderInterface
- Parameter $attributeCode is renamed to $fieldName in HawkSearch\EsIndexing\Model\Indexing\FieldHandler\Composite
- HawkSearch\EsIndexing\Model\Field\Product\AttributeAdapter marked as
@internal
- HawkSearch\EsIndexing\Model\Field\Product\AttributeFacade marked as
@internal
- HawkSearch\EsIndexing\Model\Field\Product\AttributeProvider marked as
@internal
- HawkSearch\EsIndexing\Model\Product\Attribute\ValueProcessor marked as
@internal
-
Interface changes:
- HawkSearch\EsIndexing\Model\Indexing\AttributeHandlerInterface is deprecated, use HawkSearch\EsIndexing\Model\Indexing\FieldHandlerInterface
- HawkSearch\EsIndexing\Model\Indexing\EntityTypeInterface::getAttributeHandler() is deprecated, use HawkSearch\EsIndexing\Model\Indexing\EntityTypeInterface::getFieldHandler()
- HawkSearch\EsIndexing\Model\Indexing\EntityTypeInterface is deprecated without getFieldNameProvider() method
- HawkSearch\EsIndexing\Model\Product\Attribute\ValueProcessorInterface marked as
@internal
-
Di changes:
- HawkSearch\EsIndexing\Model\Hierarchy\Attribute\Handler\Composite virtual type is deprecated use HawkSearch\EsIndexing\Model\Hierarchy\Field\Handler\Composite
- HawkSearch\EsIndexing\Model\ContentPage\Attribute\Handler\Composite virtual type is deprecated use HawkSearch\EsIndexing\Model\ContentPage\Field\Handler\Composite
- HawkSearch\EsIndexing\Model\LandingPage\Attribute\Handler\Composite virtual type is deprecated use HawkSearch\EsIndexing\Model\LandingPage\Field\Handler\Composite
0.6.4 - 2024-05-08
-
fix: shared entity type cache not updating attributes (3787516)
Shared EntityType per long running consumer brought an issue with cached private properties. Make AttributeHandler for ProductEntityType not shared.
Ref: HC-1630
-
fix: don't rollup system attribute values to parent product (96b30e4)
Values of system attributes shouldn’t be rolled up to the parent product. System attributes are: category, status, visibility, url , image_url, thumbnail_url, type_id
Ref: HC-1503
-
fix: child attribute values doesn't roll-up to parent product (62170fc)
Ref: HC-1630
0.6.3 - 2024-04-25
-
fix: minicart not updated after adding product to cart (#57)
ref: HC-1612
0.6.2 - 2024-03-20
-
fix: sql error on indexing product with no categories (9989ea6)
ref: HC-1606
0.6.1 - 2024-03-05
-
fix: popular searches and content matches not clickable (#51)
Update hawksearch-vue lib to version 0.9.103
ref: HC-1264, AIC-30, HC-1587
-
fix: wrong interface for non-product attributes on field mapping saving (e958760)
ref: HC-1595
-
fix: empty field mapping configuration breaks on saving (#50)
ref: HC-1590
-
fix: consumer processes only open bulk operations (#49)
If there were "not started" messages in message queue but these messages were linked to completed, failed or rejected bulk operations then consumer processed such operations again. This behavior is fixed.
ref: HC-1552
0.6.0 - 2024-02-09
-
feat: add price to suggestion item (autocomplete) (#47)
Ref: HC-1561
-
feat: update hawksearch-vue lib to version 0.9.102 (220d34e) (a3385bb) (0.9.80...v0.9.102)
- implementation of Size Facet type
- fix html entities were not decoded
- color swatch facet values were not filtered to result
- hierarchical facet check boxes could not be updated
- fix striking through the text of option which negated
- fix unchecking of checkbox for Nested Facets
Ref: HC-1573, HC-1559, HC-1560, HC-1203, HC-1557
-
feat: add Size facet type (#47)
- move Vue widget initialization out of bundled vue-hawksearch-app.js file to common.js file
Ref: HC-1204
-
fix: zero price for complex products (#47)
Configurable, Bundle and Grouped products displayed price as zero in catalog
Ref: HC-1574
-
fix: display price label based on product type (#47)
Price label on search results is displayed based on product type:
- Simple products - $###
- Configurable products - As low as: $###
Ref: HC-1562
0.5.1 - 2024-01-18
fix: minimal compatible version of connector package is 2.8.0 (#45)
0.5.0 - 2024-01-18
-
feat: add tracking for add2cart and sale events (#34)
- Implement event-tracking javascript library.
- Add an ability to exclude events which won't be fired.
- Add DataStorage service.
- Support sale tracking event on Order complete (Order Success Page).
- Support add2cart tracking event.
Refs: HC-1392
-
feat: update hawksearch-vue lib to version 0.9.101 (#34)
-
feat: disable indexing by default
- 'Enable Indexing' config now only available on Store View scope.
- 'Enable Indexing config default value is changed to "No".
- Indexing is disable by default for a new created store. It prevents indexing to be started on new Stores
Refs: HC-1449
-
feat: sync attribute properties to field and facet on config save
Field properties in Hawksearch are synchronized with Magento's attribute properties 'Is Filterable', 'Is Searchable' and ‘Used for Sorting in Product Listing’ when HawkSearch Products > Products > Attributes setting is saved. 'Is Filterable' property of an attribute also synced to a facet associated with the field.
Add Field add Facet interfaces for API. Do not use \HawkSearch\Connector\Api\Data\HawkSearchFieldInterface anymore.
Refs: HC-1407
-
feat: add crontab to retry failed indexing operations (#41)
Refs HC-1447
-
fix: cannot read properties of undefined in getID function (#26)
Refs: HC-1460
-
fix: make attribute values of complex products unique (#36)
- Do not roll-up values of SKU attribute of children to parent
- Roll-up attribute values of children to parent and make them unique
Refs: HC-1394, HC-1501, HC-1502, RR-14
-
fix: bad request on add2cart event tracking request (#38)
Refs: HC-1453
-
fix: use price including tax on add2cart event tracking request (#39)
-
fix: add missing cronjob argument (#42)
-
fix: wrong page redirect after adding product to cart (6d88bbb)
When product was added to cart from the page rendered by Vue application with changed URL parameters, then browser redirected to the initial page rendered by force page reloading. Now
uenc
parameter intocart-form
is updated according to changed URL parameters.Refs: HC-1534, AIC-20
-
fix: invalid form key on add to cart form(#44)
Refs: HC-1542, AIC-19
0.4.2 - 2023-10-12
-
fix: remove hierarchyRebuild message form the queue (c480c34)
Ref (#HC-1494)
-
fix: syntax error on PHP less than 8.0 (dfd0a71)
Fixes (#HC-1495)
0.4.1 - 2023-09-27
-
fix: remove dependency on CatalogStaging module (f755f93)
Unable to install the extension because of compatibility issue: magento/module-catalog-staging is exclusive to Adobe Commerce only. Make v0.4.0 features compatible with Magento Open Source.
Ref #HC-1480
-
fix: open links in new tab (8d2f64f)
There were not possible to open links Fix issues in @hawksearch/vue library and update it to v0.9.98
Fixes HC-1474, HS-2601
-
fix: unknown column started_at (49a358e)
On Magento Open Source and Adobe Commerce version 2.4.3 and less was no column ‘started_at’ in the magento_operation table. As a result, an error occurred on the page Indexing Bulks
Fixes HC-1472
-
fix: make Indexing Bulks menu visible on Magento Open Source (803a986)
-
fix: js error cannot read properties of undefined in getID function (07f5351)
0.4.0 - 2023-07-07
- update parent products index when child is changed (48019c6) When child product is updated/removed then all parents are updated in the index. When child product is assigned to parent product then parent one is updated in the index. Refs: #HC-1403
- duplicate async operations with the same ID in collection (163daf5)
- invalid array index because of nonexistent category when indexing (ed3253b) Refs: #HC-1437
- class LoggerFactory implements LoggerFactoryInterface (88e4817) Deprecated LoggerFactory didn't implement deprecated LoggerFactoryInterface Refs #HC-1441
- categories with empty URL break LandingPage update API (a8e5123) Refs #HC-1442
- reduce items_batch_size config value to 125 (ca95985) Refs: #HC-1437
- update logger file location (0d4c3cf) Refs: #HC-1437
0.3.0 - 2023-04-06
- Rework UI interface for mapping Hawksearch fields to Magento attributes (#5), Refs: #HC-1227
- Add listing of Hawksearch scheduled bulks (#7), Refs: #HC-1317
- Add "Hawksearch Categories" indexer.
Add LandingPage entity in
hawksearch.esindexing
consumer (#9), Refs: #HC-1400 - Add support for sorting by product position on category pages (9dfcdbf), Refs: #HC-1213, #RR-28
- Update Hawksearch indexers depenndencies (e0510ad), Refs: #HC-1400
- Invalidate indexers on Store view and Store group changes, after Product attribute changes (#13), Refs: #HC-1406
- Fix ACL in System Configuration for Hawksearch sections (#6), Refs: #HC-1315
- Fix Landing page is not updated after editing Magento category for the second time (#10)
- Fix consumer is crashing when sync landing pages (9ab04ff)
- Fix bug when product stock status changes are not taken into account when consumer is continuously running (98364c3)
- Fix fatal error during reindexing when there are no inexes in the Hawksearch Engine (#11), Refs: #HC-58
- Update indexers after product import (dcddbc0), Refs: #HC-1322
- Fix linked Category are not updated after product save (#12), Refs: #HC-1405
- Fix linked Category are not updated after product delete (#14), Refs: #HC-1405
- Deactivate landing pages cache to fix category status updates issue (#15), Refs: #HC-1401
- Add statuses argument to
hawksearch:retry-bulk
CLI command (#HC-1326) - Allow to run full reindexing bulk asynchronously. Add support for multiple queue consumers (#HC-1323)
- Update URL configuration references, default Hawksearch URLs after migration to AWS (#HC-1312)
- Add an ability to configure Search API and indexing API URLs in Admin panel
- Add full hierarchy parents tree reference when indexing product items. The configuration flag is added to switch it on and off. It makes nested category facet working (#CR-22)
- Fix traling slash issue in builcding API urls (#HC-1279)
- Fix disabled products are not removed from the current index (#HC-1309)
- Fix 'Passing null to non-nullable parameters of built-in functions' deprecation in PHP 8.1
- Fix wrong array format of complex products attributes (#HC-1254)
- Remove customUrl parameter from search params when searching from category page (#HC-1298)
- Fix consumers are failing if they are processed out of the order
- Add Magento 2.4.4 and PHP 8.1 compatibility
- Add support for DataObjectHelper updated in Magento 2.4.4
Initial stable release