Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
0b1f3b0
Refactor Product With Children to remove Double Conversion
natedawg92 Apr 30, 2025
49e22d6
MAGE-1083 Refactoring batch handling
cammonro Jun 4, 2025
7dfae16
MAGE-1083 Eliminate collection cloning and redundant batching on delta
cammonro Jun 6, 2025
e2ba8eb
MAGE-1083 Fix dependency injection
cammonro Jun 6, 2025
ca71d79
MAGE-1083 Remove member bool to fix issue with subsequent store index…
cammonro Jun 6, 2025
633eb17
MAGE-1083 Remove redundant entityIds option and save paging info on d…
cammonro Jun 6, 2025
dcae846
MAGE-1083 Add query count cache for full reindex
cammonro Jun 9, 2025
f329074
MAGE-1083 Add plugin to clear cache on product catalog updates
cammonro Jun 10, 2025
f27625e
MAGE-1083 Add unit tests for BatchQueueProcessor
cammonro Jun 10, 2025
d067034
MAGE-1083 Remove redundant DI type
cammonro Jun 10, 2025
fcd9752
MAGE-1083 Check cache status before read/write
cammonro Jun 10, 2025
6080ccc
MAGE-1083 Updates per code review
cammonro Jun 12, 2025
3fb2264
MAGE-1083 Apply scoping per code review
cammonro Jun 12, 2025
9193cd2
MAGE-1083 Implement observer for mass action status change
cammonro Jun 12, 2025
3a460d2
MAGE-1083 Implement cache clean for attribute change by mass action
cammonro Jun 12, 2025
68e2d41
MAGE-1083 Remove redundant observer
cammonro Jun 12, 2025
d667852
Merge pull request #1764 from algolia/feat/MAGE-1083-collection-size-…
cammonro Jun 12, 2025
1f0f75d
Merge pull request #1768 from algolia/release/3.16.0-dev
damcou Jun 19, 2025
6dbe9bf
MAGE-1341 Fix dropped products issue on indexing queue
cammonro Jun 26, 2025
d0dcd9e
Merge pull request #1775 from algolia/fix/MAGE-1357-full-reindex-drop…
damcou Jun 30, 2025
c47409f
MAGE-1357: Re-add missing boolean
damcou Jul 1, 2025
e9242bc
MAGE-1138: add use tmp index config
damcou Jul 3, 2025
f690735
MAGE-1138: add useTmpIndex logic to the product index builder
damcou Jul 3, 2025
aa36598
MAGE-1138: add integration test
damcou Jul 3, 2025
f900207
Merge pull request #1779 from algolia/feat/MAGE-1138-use-tmp-index
damcou Jul 9, 2025
361043f
MAGE-1112: make price attribute optional on product records
damcou Jul 9, 2025
8e77395
MAGE-1112: add price attribute notice
damcou Jul 9, 2025
67cb7ae
MAGE-1112: updated product indexing test
damcou Jul 9, 2025
8789a32
MAGE-1112: added additional sentence to the notice
damcou Jul 10, 2025
d8b9631
MAGE-1112: added additional sentence to the notice
damcou Jul 10, 2025
4775ed1
Merge pull request #1781 from algolia/feat/MAGE-1112-price-indexing
damcou Jul 10, 2025
48e448a
MAGE-1374 Port 3.16.0 updates to 3.17.0 including latest CI
cammonro Jul 28, 2025
fb74bdb
MAGE-1374 Restore changes introduced on PR #1779
cammonro Jul 28, 2025
4110942
MAGE-1374 Restore changes introduced on PR #1781
cammonro Jul 28, 2025
d4562da
Merge branch 'release/3.16.0-dev' into chore/MAGE-1374-ci-on-3.17
cammonro Aug 6, 2025
6bb77c2
MAGE-1374 Repair unit tests for 3.17 post 3.16 port
cammonro Aug 6, 2025
ae7a89c
MAGE-1374 Add placeholder changelog entries
cammonro Aug 6, 2025
b25428a
MAGE-1109: Add Batching Optimizer CLI
damcou Aug 7, 2025
013ec7b
MAGE-1109: Codacy bullying
damcou Aug 7, 2025
678c7ee
MAGE-1109: review feedback + prompt
damcou Aug 11, 2025
01e64e4
MAGE-1109: fix value save
damcou Aug 11, 2025
9b0f8f4
MAGE-1385 Remove implicit nullable and modify unit tests to support b…
cammonro Aug 12, 2025
bca0777
Merge pull request #1790 from algolia/chore/MAGE-1374-ci-on-3.17
cammonro Aug 12, 2025
eed8bd9
MAGE-1109: added batching scan CLI command
damcou Aug 12, 2025
6df50cd
MAGE-1109: move trait in right directory
damcou Aug 13, 2025
8df9483
MAGE-1109: add large sample size option
damcou Aug 13, 2025
9d80d01
MAGE-1109: remove old class
damcou Aug 13, 2025
f8fc6d2
MAGE-1109: remove unnecessary trait
damcou Aug 13, 2025
2a5ab0a
MAGE-1109: address feedback
damcou Aug 13, 2025
4097119
MAGE-1109: added warning
damcou Aug 13, 2025
e37e13e
Merge branch 'release/3.17.0-dev' into feat/MAGE-1109-batching-optimizer
cammonro Aug 13, 2025
4d06c8c
MAGE-1109 Add sample size as configurable option
cammonro Aug 13, 2025
31d4cb3
MAGE-1109: added margin and sample size options
damcou Aug 14, 2025
5688e3c
MAGE-1109: address feedback
damcou Aug 14, 2025
d064761
MAGE-1109: added math helper
damcou Aug 14, 2025
6a8d1e5
MAGE-1109: added helper tests
damcou Aug 14, 2025
97f7f54
MAGE-1109: rework safety margin
damcou Aug 14, 2025
b796bb6
Merge pull request #1797 from algolia/feat/MAGE-1109-batching-optimizer
damcou Aug 18, 2025
2afbfae
MAGE-1394 Implement boilerplate command + truncate op
cammonro Aug 18, 2025
e867125
MAGE-1394 Implement selective store queue clearing operation
cammonro Aug 19, 2025
85dcaa0
MAGE-1394 Update DI
cammonro Aug 19, 2025
023c8cb
MAGE-1394 Allow default override for non-interactive mode
cammonro Aug 19, 2025
ee15986
MAGE-1110: Fix queue merging
damcou Aug 19, 2025
5aacec4
MAGE-1394 Reorganize command classes
cammonro Aug 19, 2025
024fe0d
MAGE-1396: fix fetchJobs method
damcou Aug 20, 2025
b29bed9
MAGE-1396: fix fetchJobs method
damcou Aug 20, 2025
2bb83c5
MAGE-1396: update queue notice
damcou Aug 20, 2025
c4f7f85
MAGE-1396: small fix
damcou Aug 20, 2025
e422e69
MAGE-1394 Add unit tests for new Command class plus base class to cen…
cammonro Aug 20, 2025
399cfee
MAGE-1394 Address Codacy complaint
cammonro Aug 20, 2025
002f8fd
MAGE-1394 Address Codacy complaint
cammonro Aug 20, 2025
8ee22e9
MAGE-1394 Address Codacy complaint
cammonro Aug 20, 2025
2864b27
Merge pull request #1799 from algolia/feat/MAGE-1110-delta-indexing
damcou Aug 21, 2025
607e7b2
Merge pull request #1800 from algolia/feat/MAGE-1394-queue-clear
cammonro Aug 21, 2025
62737b0
MAGE-1100: cleanup
damcou Aug 25, 2025
6a203c1
MAGE-1100: add new max batch size calculation based on stores
damcou Aug 25, 2025
06f46fb
MAGE-1100: fix tests
damcou Aug 25, 2025
6d6331e
MAGE-1110: add missing store scope for max batch size
damcou Aug 26, 2025
2dc9b19
Merge branch 'feat/MAGE-1100-queue-updates' of https://github.com/alg…
damcou Aug 26, 2025
683a707
MAGE-1110: some more cleaning
damcou Aug 26, 2025
edbf3a6
MAGE-1110: address feedback
damcou Aug 27, 2025
f5344d7
Merge pull request #1802 from algolia/feat/MAGE-1100-queue-updates
damcou Aug 28, 2025
4131a3e
MAGE-1391: update max batch size config
damcou Aug 28, 2025
faab56f
MAGE-1407: fixed indexing queue notices display in phtml
damcou Aug 29, 2025
f46046e
Merge pull request #1804 from algolia/fix/MAGE-1407-fix-indexing-queu…
damcou Aug 29, 2025
1c17d80
MAGE-1803: restore value to 300 for tests
damcou Aug 29, 2025
1791430
Merge pull request #1803 from algolia/feat/MAGE-1391-update-configura…
damcou Aug 29, 2025
15f4b37
MAGE-1304 Add eager cleanup to no clone collection handling
cammonro Aug 26, 2025
6b1bc30
MAGE-1304 Adjust batching optimizer for non interactive mode
cammonro Aug 26, 2025
876e0b8
MAGE-1304 Revert eager cleanup due to regression on large catalogs
cammonro Sep 3, 2025
d9e4904
Merge pull request #1806 from algolia/feat/MAGE-1304-performance-testing
cammonro Sep 3, 2025
72f7419
MAGE-1354: Update version info and change log
damcou Sep 3, 2025
531f90c
Merge pull request #1807 from algolia/chore/MAGE-1354-prep-3.17.0-beta.1
damcou Sep 3, 2025
216aa7f
MAGE-1354: address Codacy complaint
damcou Sep 3, 2025
e8b575f
MAGE-1411 Eliminate extra hydration of products to conserve memory use
cammonro Sep 3, 2025
b1b4047
MAGE-1411: cover edge case where sample size is zero
damcou Sep 4, 2025
b44d09d
Merge pull request #1810 from algolia/fix/MAGE-1411-eliminate-extra-h…
cammonro Sep 4, 2025
993cb3f
MAGE-1413 Fix implicit nullable types for PHP 8.4
cammonro Sep 11, 2025
d7fd246
MAGE-1413 Bump version
cammonro Sep 11, 2025
e6e75b2
MAGE-1413 Add changelog note
cammonro Sep 11, 2025
dd11fe4
Merge pull request #1812 from algolia/fix/MAGE-1413-implicit-nullables
cammonro Sep 16, 2025
64c6277
Merge pull request #1745 from natedawg92/bugfix/double-price-conversion
damcou Sep 17, 2025
96fb50b
MAGE-1404: add checks on configuration migration processed on data pa…
damcou Sep 18, 2025
4e5a651
MAGE-1404: codacy warning
damcou Sep 18, 2025
98ff621
MAGE-1404: refactor config.xml and create DefaultConfigProvider for i…
damcou Sep 18, 2025
0391979
Revert "MAGE-1404: refactor config.xml and create DefaultConfigProvid…
damcou Sep 18, 2025
96b71f0
MAGE-1404: refactor config.xml and create DefaultConfigProvider for i…
damcou Sep 18, 2025
a33cd23
MAGE-1404: removed ConfigPatch.php
damcou Sep 18, 2025
a9a34b2
Merge pull request #1817 from algolia/fix/MAGE-1404-data-patches
damcou Sep 19, 2025
3fd6e04
MAGE-1070: add FPT feature
damcou Sep 23, 2025
a4aaf62
MAGE-1070: fix test
damcou Sep 23, 2025
c47604c
Port replica forwarding fix to 3.17
cammonro Sep 19, 2025
3ef56ce
Merge branch 'refs/heads/release/3.17.0-dev' into feat/MAGE-1404-conf…
damcou Sep 24, 2025
6886450
MAGE-1404: add data patch for legacy config migration
damcou Sep 24, 2025
a3316d8
Including FPT on indexed product final price!
Sep 20, 2024
ff759f3
Merge pull request #1823 from algolia/fix/MAGE-1426-replica-forwardin…
cammonro Sep 24, 2025
802b105
Merge pull request #1822 from algolia/feat/MAGE-1070-add-fpt-compatib…
damcou Sep 24, 2025
93a9071
Merge pull request #1818 from algolia/feat/MAGE-1404-config-refactoring
damcou Sep 24, 2025
e8ed390
MAGE-1422 Fix product getUrl method by aligning with Magento core beh…
fasimana Sep 24, 2025
afb9337
MAGE-1422 Update change log
cammonro Sep 25, 2025
a1fdf28
MAGE-1422 Fix branch matching
cammonro Sep 25, 2025
10b9220
Merge pull request #1827 from algolia/fix/MAGE-1422-product-url-pref-…
cammonro Sep 25, 2025
dd850c7
Fix store id for queue job (#1769)
pikulsky Sep 29, 2025
4a6c2e8
MAGE-1420: update changelog
damcou Sep 29, 2025
ae8e01e
Merge pull request #1835 from algolia/fix/MAGE-1420-queue-store-id-3.…
damcou Sep 30, 2025
c2c2172
MAGE-1434 Fix floating point precision bug in EventProcessor for v3.1…
cammonro Sep 30, 2025
cae210d
MAGE-1420: rollback change on store_id job property
damcou Oct 1, 2025
1bd8a30
MAGE-1383 Add Codacy ignore patterns
cammonro Oct 2, 2025
1d78992
MAGE-1383 Replace is_null in small sample
cammonro Oct 2, 2025
1587efd
MAGE-1383 Test nullsafe operator with Codacy
cammonro Oct 2, 2025
fe10b04
MAGE-1383 Refactor derived currency
cammonro Oct 2, 2025
20d3306
MAGE-1383 Remove all is_null calls
cammonro Oct 2, 2025
7cf4315
MAGE-1383 Fix typo for strict comparison
cammonro Oct 2, 2025
4fe2979
Merge pull request #1842 from algolia/chore/MAGE-1383-codacy-3.17
cammonro Oct 2, 2025
a9cea94
MAGE-1441: update changelog for 3.17.0-beta.2
damcou Oct 8, 2025
760f400
MAGE-1441: update changelog for 3.17.0-beta.2
damcou Oct 8, 2025
a4b2ab8
MAGE-1446: fix product duplication
damcou Oct 17, 2025
767a601
Merge pull request #1847 from algolia/fix/MAGE-1446-duplicate-feature
damcou Oct 20, 2025
20a5883
MAGE-1455 Handle missing price keys gracefully
cammonro Oct 22, 2025
bb9dca7
MAGE-1455 Update change log
cammonro Oct 25, 2025
1c04d38
Merge pull request #1851 from algolia/fix/MAGE-1455-missing-price-val…
damcou Oct 27, 2025
4f7d270
MAGE-1453 FIX : wrong test for category (#1848)
benjamin-volle Oct 30, 2025
260d130
MAGE-1453: add unit tests
damcou Oct 31, 2025
35c92eb
MAGE-1453: updated changelog
damcou Oct 31, 2025
8cf92eb
Merge pull request #1858 from algolia/fix/MAGE-1453-category-check-bl…
damcou Nov 4, 2025
e7cc59f
MAGE-1460: update version files and changelog
damcou Nov 14, 2025
b4cfa05
Merge remote-tracking branch 'origin/main' into chore/MAGE-1460-prepa…
damcou Nov 18, 2025
c3c441f
MAGE-1460: fix integration tests
damcou Nov 18, 2025
5f62820
MAGE-1460: changes after review
damcou Nov 18, 2025
23d9dfb
Merge pull request #1865 from algolia/chore/MAGE-1460-prepare-release…
damcou Nov 18, 2025
ea3ef4c
MAGE-1468: add array check on the plugin logic
damcou Nov 19, 2025
c728fb5
MAGE-1468: update changelog
damcou Nov 19, 2025
804fdeb
MAGE-1468: add comment
damcou Nov 19, 2025
86616c8
Merge pull request #1867 from algolia/fix/MAGE-1468-fix-product-dupli…
damcou Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Block/Adminhtml/Queue/Status.php
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ private function isQueueFast()
{
$averageProcessingTime = $this->queue->getAverageProcessingTime();

return !is_null($averageProcessingTime) && $averageProcessingTime < self::QUEUE_FAST_LIMIT;
return $averageProcessingTime !== null && $averageProcessingTime < self::QUEUE_FAST_LIMIT;
}

/** @return int */
Expand Down
4 changes: 2 additions & 2 deletions Block/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public function isSearchPage(): bool

if ($this->getConfigHelper()->replaceCategories() && $request->getControllerName() === 'category') {
$category = $this->getCurrentCategory();
if ($category && $category->getDisplayMode() !== 'PAGE') {
if ($category->getId() && $category->getDisplayMode() !== 'PAGE') {
return true;
}
}
Expand Down Expand Up @@ -125,7 +125,7 @@ public function getConfiguration()
&& $request->getControllerName() === 'category') {
$category = $this->getCurrentCategory();

if ($category && $category->getDisplayMode() !== 'PAGE') {
if ($category->getId() && $category->getDisplayMode() !== 'PAGE') {
$category->getUrlInstance()->setStore($this->getStoreId());
if (self::IS_CATEGORY_NAVIGATION_ENABLED) {
$childCategories = $this->getChildCategoryUrls($category);
Expand Down
29 changes: 28 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,47 @@
# CHANGE LOG

## 3.17.0

### Features
- Added an Algolia indexing cache for storing metadata to prevent extra queries. Large collections that run periodic full indexes can benefit from this cache.
- Price indexing is now optional. If the price attribute is not present in the product attributes, sorts, facets or custom ranking then that information will not be indexed in the product record.
- Creating a temporary index while performing a full index is now optional and can be enabled or disabled in the Magento admin.
- Added Batching optimizer feature which performs a catalog analysis and provides recommendation regarding optimal batching size for indexing.
- Added Clear queue CLI command which handles indexing queue clearing from the console.

### Updates
- Fixed Indexing Queue merging mechanism, it should now have way better performances with delta indexing (updates) jobs.
- Updated CLI command organization, queue related commands now have a different prefix compared to the indexing ones.
- Updated default "Maximum number of records sent per indexing request" to 1000 (previously 300).
- Updated `ConfigHelper` class, it now has more methods deprecated and ported to separate helper classes.
- Updated Unit and Integration tests.
- Removed all `is_null` occurrences

### Bug fixes
- Fixed indexing queue templates escaping.
- Fixed 3.17 setup:upgrade on PHP 8.4
- Performed code sanitization for Codacy compliance
- Fixed issue where missing pricing keys were not handled gracefully in the Autocomplete product template
- Fixed issue where category was not properly checked in the configuration block - thank you @benjamin-volle
- Fixed issue on duplicated product save

## 3.16.1

### Updates
- Add checks on configuration migration processed on data patch
- `EventProcessor` now calculates decimal precision on currency based on `Magento\Framework\Locale\FormatInterface`
- Local InstantSearch widgets can now override facet sorting behavior in merchandising rules
- Updated various unit/integration tests

### Bug fixes
### Bug fixes
- Fixed Indexing Queue display in backend templates.
- Fixed Indexing Queue merging mechanism, it should now have way better performances with delta indexing (updates) jobs.
- Fixed implicit nullable types for PHP 8.4
- Ensure that only non-redirect URL rewrites are considered when generating product URLs - thank you @fasimana
- Apply rounding to insight events revenue values to avoid floating point precision errors - thank you @PromInc
- Fix issue where double conversion occurred during price indexing in case of multi currency stores - thank you @natedawg92
- Fix issue where non-clickable links where rendered on InstantSearch - thank you @PromInc
- Fixed issue where replica setting forwarding can abort if async operation fails to complete in time
- Fixed some Codacy issues

## 3.16.0
Expand Down
4 changes: 2 additions & 2 deletions Console/Command/AbstractStoreCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,10 @@ protected function decorateOperationAnnouncementMessage(string $msg, array $stor
: "<info>$msg</info>";
}

protected function confirmOperation(string $okMessage = '', string $cancelMessage = 'Operation cancelled'): bool
protected function confirmOperation(string $okMessage = '', string $cancelMessage = 'Operation cancelled', bool $default = false): bool
{
$helper = $this->getHelper('question');
$question = new ConfirmationQuestion('<question>Are you sure wish to proceed? (y/n)</question> ', false);
$question = new ConfirmationQuestion('<question>Are you sure wish to proceed? (y/n)</question> ', $default);
if (!$helper->ask($this->input, $this->output, $question)) {
if ($cancelMessage) {
$this->output->writeln("<comment>$cancelMessage</comment>");
Expand Down
Loading