Skip to content

Commit b0cf10e

Browse files
authored
Merge pull request #1577 from algolia/feature/MAGE-962
Feature/mage 962 - RC2
2 parents 1a49fd8 + d2815f0 commit b0cf10e

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

CHANGELOG.md

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,44 @@
44

55
GA release
66

7+
### Features
8+
79
- New PHP API client (v4) under the hood for communicating with Algolia
810
- Authenticated user tokens now utilized for backend and frontend events to track entire customer journey
911
- Revenue data now sent with all events including application of Magento specific discounts such as catalog price rules and customer group pricing
1012
- Support for event subtypes allowing the capture of conversion data for both "Add to cart" and "Place order" events
1113
- Increased protection of PII in the event data
1214
- Introduced new admin groups to InstantSearch for improved UX
13-
- Updated `ConfigHelper` to use new paths
14-
- Added data patch to migrate old configurations
15-
- Bugfix for query rule disable on facets with new admin groupings
16-
- Added new sorting admin option via source model
17-
- Added derived virtual replica enablement to `ConfigHelper` based on `ArraySerialized`
18-
- Intro’d simplified data structures to avoid array diff mismatches
19-
- Intro’d new `ReplicaManager` abstraction to map Magento sorting to Algolia replica configuration
20-
- Removed dependencies in backend models to handle replica config updates in Algolia addressing stale data
21-
- Added `ReplicaState` registry for tracking changes to sorting configuration to minimize number of replica build operations
22-
- Added logic to preserve replicas created outside of Magento such as Merchandising Studio "sorting strategies"
15+
- Virtual replicas can now be configured granularly by attribute or store
16+
- Added new sorting admin option via source model
17+
- Added derived virtual replica enablement to `ConfigHelper` based on `ArraySerialized`
18+
- Intro’d simplified data structures to avoid array diff mismatches
19+
- Intro’d new `ReplicaManager` abstraction to map Magento sorting to Algolia replica configuration
20+
- Removed dependencies in backend models to handle replica config updates in Algolia addressing stale data
21+
- Added `ReplicaState` registry for tracking changes to sorting configuration to minimize number of replica build operations
22+
- Added logic to preserve replicas created outside of Magento such as Merchandising Studio "sorting strategies"
23+
- Added handling for customer group pricing
24+
- Added error handling for replica limits
25+
- Added Looking Similar recommendations
26+
- Added data patches to migrate old configurations
2327
- Introduced PHP 8 constructor property promotion on affected classes
2428
- Added stronger typing to affected classes and methods
25-
- Added Looking Similar recommendations
29+
- Updated `ConfigHelper` to use new paths
30+
31+
### Bug fixes
2632

27-
### Bug fixes:
2833
- Fixed issue with how Algolia extension handles end user consent for allowing cookies
2934
- Improved handling of user tokens across insights events and corresponding queries
35+
- Cleaned up integration tests
36+
- Applied bugfix for query rule disable on facets with new admin groupings
37+
38+
### Breaking changes
39+
40+
If you have customized your Algolia implementation, pay attention to these latest updates:
41+
42+
- Updated timestamps to utilize UTC per [Algolia recommended guidelines](https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/what-is-in-a-record/#dates)
43+
- Restructured web asset files to comply with [Magento recommendations](https://developer.adobe.com/commerce/php/development/build/component-file-structure/) Thanks @sgeleon!
44+
- Previous replica configurations may be invalid. Be sure to run `bin/magento setup:upgrade` in a controlled staging environment prior to deploying.
3045

3146
## 3.14.0-beta.2
3247

Setup/Patch/Data/RebuildReplicasPatch.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
use Algolia\AlgoliaSearch\Helper\Entity\ProductHelper;
66
use Algolia\AlgoliaSearch\Registry\ReplicaState;
77
use Algolia\AlgoliaSearch\Service\Product\ReplicaManager;
8+
use Magento\Framework\App\Area;
89
use Magento\Framework\App\State as AppState;
10+
use Magento\Framework\Exception\LocalizedException;
911
use Magento\Framework\Setup\ModuleDataSetupInterface;
1012
use Magento\Framework\Setup\Patch\DataPatchInterface;
1113
use Magento\Framework\Setup\Patch\PatchInterface;
@@ -47,7 +49,11 @@ public function getAliases(): array
4749
public function apply(): PatchInterface
4850
{
4951
$this->moduleDataSetup->getConnection()->startSetup();
50-
$this->appState->setAreaCode(\Magento\Framework\App\Area::AREA_ADMINHTML);
52+
try {
53+
$this->appState->setAreaCode(Area::AREA_ADMINHTML);
54+
} catch (LocalizedException) {
55+
// Area code is already set - nothing to do
56+
}
5157

5258
$storeIds = array_keys($this->storeManager->getStores());
5359
// Delete all replicas before resyncing in case of incorrect replica assignments

0 commit comments

Comments
 (0)