Skip to content

Commit c33067b

Browse files
author
Oleksandr Rykh
authored
1.0.20 Release (#38)
* 1.0.20 Release * 1.0.20 Release - resolve patch conflicts * 1.0.20 Release - added missed patch * 1.0.20 Release - increase release version * 1.0.20 Release - fixed incorrect patch name * 1.0.20 Release - fixed incorrect patch path * 1.0.20 Release - fixed patch compatibility * 1.0.20 Release - added patches description * 1.0.20 Release - added missed version * Release 1.0.20 - Fixed patch description
1 parent e89645c commit c33067b

15 files changed

+2037
-4
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "magento/quality-patches",
33
"description": "Provides quality patches for Magento 2",
44
"type": "magento2-component",
5-
"version": "1.0.19",
5+
"version": "1.0.20",
66
"license": "proprietary",
77
"repositories": {
88
"repo": {

patches.json

Lines changed: 99 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@
141141
"Fixes the issue where if an order was placed with no payment information required (for example, with 100% discount) and an invoice was created for the order, the order status changes to Closed instead of Complete.": {
142142
">=2.3.1 <2.3.6 || >=2.4.0 <2.4.1": {
143143
"file": "os/MDVA-28656_2.3.5-p1.patch"
144+
},
145+
"2.3.6": {
146+
"file": "os/MDVA-36390_2.3.6.patch"
144147
}
145148
}
146149
}
@@ -1083,7 +1086,7 @@
10831086
"MDVA-12304": {
10841087
"magento/magento2-base": {
10851088
"Increases the maximum number of cookies from 50 to 200.": {
1086-
">=2.3.0 <2.4.2": {
1089+
">=2.3.0": {
10871090
"file": "os/MDVA-12304_2.2.5.patch"
10881091
}
10891092
}
@@ -1250,8 +1253,11 @@
12501253
"MDVA-33382": {
12511254
"magento/magento2-base": {
12521255
"Fixes the issues with indexers invalidation after products removal from a category.": {
1253-
">=2.3.0 <2.4.2": {
1256+
"2.3.0 || >=2.3.4 <2.4.2": {
12541257
"file": "os/MDVA-33382_2.3.5-p1.patch"
1258+
},
1259+
">=2.3.1 <2.3.4": {
1260+
"file": "os/MDVA-22241_2.3.2.patch"
12551261
}
12561262
}
12571263
}
@@ -1852,9 +1858,99 @@
18521858
}
18531859
}
18541860
},
1861+
"MDVA-36170": {
1862+
"magento/magento2-base": {
1863+
"This fixes the issue where the GraphqQL query is not caching by using the category cache tag.": {
1864+
">=2.3.4 <2.4.2": {
1865+
"file": "os/MDVA-36170_2.3.4_v2.patch"
1866+
}
1867+
}
1868+
}
1869+
},
1870+
"MDVA-33168": {
1871+
"magento/magento2-base": {
1872+
"Fixes the issue when updating a product attribute via API all other attributes change to an empty value.": {
1873+
">=2.3.3 <2.4.2": {
1874+
"file": "os/MDVA-33168_2.3.3-p1.patch"
1875+
}
1876+
}
1877+
}
1878+
},
1879+
"MDVA-19640": {
1880+
"magento/magento2-base": {
1881+
"Fixes the issue where Advanced Reporting is not showing any data.": {
1882+
">=2.3.0": {
1883+
"file": "os/MDVA-19640_2.3.0.patch"
1884+
}
1885+
}
1886+
}
1887+
},
1888+
"MDVA-11189": {
1889+
"magento/magento2-base": {
1890+
"Fixes the issue when after importing a .csv file to update product stock, rows from the cataloginventory_stock table are deleted. ": {
1891+
">=2.3.0 <2.3.5": {
1892+
"file": "os/MDVA-11189_2.2.3.patch"
1893+
}
1894+
}
1895+
}
1896+
},
1897+
"MDVA-26639": {
1898+
"magento/magento2-base": {
1899+
"Fixes the issue where if a new order confirmation email template is created, the order items are missing in the order mail.": {
1900+
">=2.3.3-p1 <2.3.6": {
1901+
"file": "os/MDVA-26639_2.3.3-p1.patch"
1902+
}
1903+
}
1904+
}
1905+
},
1906+
"MDVA-15546": {
1907+
"magento/magento2-ee-base": {
1908+
"This fixes the issue where after creating an order a \"Column 'entity_id' where clause is ambiguous\" error displays in the exception log.": {
1909+
">=2.3.0": {
1910+
"file": "commerce/MDVA-15546_2.2.6.patch"
1911+
}
1912+
}
1913+
}
1914+
},
1915+
"MDVA-21095": {
1916+
"magento/magento2-base": {
1917+
"Fixes the issue when a query INSERT INTO search_tmp will not end after mass attribute value update.": {
1918+
">=2.3.0 <2.3.5": {
1919+
"file": "os/MDVA-21095_2.3.2.patch"
1920+
}
1921+
}
1922+
}
1923+
},
1924+
"MDVA-23845": {
1925+
"magento/magento2-base": {
1926+
"Fixes the issue where email templates cannot be previewed after JavaScript minification is enabled.": {
1927+
">=2.3.2-p2 <2.3.5": {
1928+
"file": "os/MDVA-23845_2.3.3.patch"
1929+
}
1930+
}
1931+
}
1932+
},
1933+
"MDVA-22026": {
1934+
"magento/magento2-base": {
1935+
"Fixes the issue where importing products from .csv file including images from external URLs fails.": {
1936+
">=2.3.2 <2.3.4": {
1937+
"file": "os/MDVA-22026_2.3.2.patch"
1938+
}
1939+
}
1940+
}
1941+
},
1942+
"MDVA-22383": {
1943+
"magento/magento2-ee-base": {
1944+
"Fixes the issue where saving a product takes a long time and the page breaks.": {
1945+
">=2.3.0 <2.3.4": {
1946+
"file": "commerce/MDVA-22383_2.3.2.patch"
1947+
}
1948+
}
1949+
}
1950+
},
18551951
"MC-41359": {
18561952
"magento/magento2-base": {
1857-
"Fixes the issue where SameSite cookie param was set incorrectly.": {
1953+
"Fixes the issue with missed SameSite cookie parameters settings.": {
18581954
">=2.3.6-p1 <2.3.7": {
18591955
"file": "os/MC-41359_2.3.6-p1.patch"
18601956
},
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
diff --git a/vendor/magento/module-checkout-staging/Model/PreviewQuotaManager.php b/vendor/magento/module-checkout-staging/Model/PreviewQuotaManager.php
2+
index f6d232f999d..e0034a9fbf2 100644
3+
--- a/vendor/magento/module-checkout-staging/Model/PreviewQuotaManager.php
4+
+++ b/vendor/magento/module-checkout-staging/Model/PreviewQuotaManager.php
5+
@@ -90,14 +90,14 @@ class PreviewQuotaManager
6+
)
7+
);
8+
9+
- $this->searchCriteriaBuilder->addFilter('entity_id', $ids, 'in');
10+
+ $this->searchCriteriaBuilder->addFilter('main_table.entity_id', $ids, 'in');
11+
$this->searchCriteriaBuilder->addFilter(
12+
- CartInterface::KEY_STORE_ID,
13+
+ 'main_table.' . CartInterface::KEY_STORE_ID,
14+
$storeId,
15+
'eq'
16+
);
17+
$this->searchCriteriaBuilder->addFilter(
18+
- CartInterface::KEY_UPDATED_AT,
19+
+ 'main_table.' . CartInterface::KEY_UPDATED_AT,
20+
$now->format('Y-m-d H:i:s'),
21+
'to'
22+
);
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
diff --git a/vendor/magento/module-target-rule/Model/Rule.php b/vendor/magento/module-target-rule/Model/Rule.php
2+
index 9476094361f..c9b70424ab5 100644
3+
--- a/vendor/magento/module-target-rule/Model/Rule.php
4+
+++ b/vendor/magento/module-target-rule/Model/Rule.php
5+
@@ -7,6 +7,8 @@
6+
namespace Magento\TargetRule\Model;
7+
8+
use Magento\Framework\Exception\LocalizedException;
9+
+use Magento\Catalog\Model\Product;
10+
+use Magento\Catalog\Model\ResourceModel\Product\Collection as ProductCollection;
11+
12+
/**
13+
* TargetRule Rule Model
14+
@@ -177,6 +179,27 @@ class Rule extends \Magento\Rule\Model\AbstractModel
15+
);
16+
}
17+
18+
+ /**
19+
+ * Get products from provided collection
20+
+ *
21+
+ * @param ProductCollection $collection
22+
+ * @return \Generator|Product[]
23+
+ */
24+
+ private function getProducts(ProductCollection $collection): \Generator
25+
+ {
26+
+ $collection->setPageSize(1000);
27+
+ $pageCount = $collection->getLastPageNumber();
28+
+ $currentPage = 1;
29+
+ while ($currentPage <= $pageCount) {
30+
+ $collection->setCurPage($currentPage);
31+
+ foreach ($collection as $key => $product) {
32+
+ yield $key => $product;
33+
+ }
34+
+ $collection->clear();
35+
+ $currentPage++;
36+
+ }
37+
+ }
38+
+
39+
/**
40+
* Set resource model
41+
*
42+
@@ -211,7 +234,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
43+
*/
44+
public function afterSave()
45+
{
46+
- if ($this->isObjectNew() || $this->dataHasChangedForAny([
47+
+ $data = [
48+
'is_active',
49+
'from_date',
50+
'to_date',
51+
@@ -219,7 +242,8 @@ class Rule extends \Magento\Rule\Model\AbstractModel
52+
'apply_to',
53+
'actions',
54+
'customer_segment_ids',
55+
- ])) {
56+
+ ];
57+
+ if ($this->isObjectNew() || $this->dataHasChangedForAny($data)) {
58+
$this->_ruleProductIndexerProcessor->reindexRow($this->getId());
59+
}
60+
return parent::afterSave();
61+
@@ -308,9 +332,9 @@ class Rule extends \Magento\Rule\Model\AbstractModel
62+
}
63+
64+
$this->_productIds = [];
65+
- foreach (array_unique($productCollection->getAllIds()) as $productId) {
66+
- if ($this->getConditions()->validateByEntityId($productId)) {
67+
- $this->_productIds[] = $productId;
68+
+ foreach ($this->getProducts($productCollection) as $product) {
69+
+ if ($this->getConditions()->validate($product)) {
70+
+ $this->_productIds[] = $product->getId();
71+
}
72+
}
73+
return $this;
74+
diff --git a/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php b/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php
75+
index 816c3b0d66c..19f6c946b24 100644
76+
--- a/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php
77+
+++ b/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php
78+
@@ -306,7 +306,9 @@ class SqlBuilder
79+
\Magento\Framework\DB\Select::SQL_UNION
80+
);
81+
82+
- return 'e.' . $linkField . ' IN (' . $resultSelect . ')';
83+
+ /** MySQL Subquery with IN statement performance optimizer */
84+
+ $selectWrapper = $this->indexResource->getConnection()->select()->from($resultSelect);
85+
+ return 'e.' . $linkField . ' IN (' . $selectWrapper . ')';
86+
}
87+
88+
/**

patches/os/MDVA-11189_2.2.3.patch

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
diff --git a/vendor/magento/module-catalog-inventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php b/vendor/magento/module-catalog-inventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php
2+
index 366cb1c3902..317d055d3e4 100644
3+
--- a/vendor/magento/module-catalog-inventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php
4+
+++ b/vendor/magento/module-catalog-inventory/Model/ResourceModel/Indexer/Stock/DefaultStock.php
5+
@@ -288,6 +288,7 @@ class DefaultStock extends AbstractIndexer implements StockInterface
6+
*/
7+
protected function _updateIndex($entityIds)
8+
{
9+
+ $this->deleteOldRecords($entityIds);
10+
$connection = $this->getConnection();
11+
$select = $this->_getStockStatusSelect($entityIds, true);
12+
$select = $this->getQueryProcessorComposite()->processQuery($select, $entityIds, true);
13+
@@ -310,7 +311,6 @@ class DefaultStock extends AbstractIndexer implements StockInterface
14+
}
15+
}
16+
17+
- $this->deleteOldRecords($entityIds);
18+
$this->_updateIndexTable($data);
19+
20+
return $this;

patches/os/MDVA-19251_2.3.1.patch

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
diff --git a/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php b/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
2+
index 9f9facf98ff..0c56c221766 100644
3+
--- a/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
4+
+++ b/vendor/magento/framework/Encryption/Adapter/SodiumChachaIetf.php
5+
@@ -33,6 +33,7 @@ class SodiumChachaIetf implements EncryptionAdapterInterface
6+
*
7+
* @param string $data
8+
* @return string string
9+
+ * @throws \SodiumException
10+
*/
11+
public function encrypt(string $data): string
12+
{
13+
@@ -58,13 +59,17 @@ class SodiumChachaIetf implements EncryptionAdapterInterface
14+
$nonce = mb_substr($data, 0, SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES, '8bit');
15+
$payload = mb_substr($data, SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES, null, '8bit');
16+
17+
- $plainText = sodium_crypto_aead_chacha20poly1305_ietf_decrypt(
18+
- $payload,
19+
- $nonce,
20+
- $nonce,
21+
- $this->key
22+
- );
23+
+ try {
24+
+ $plainText = sodium_crypto_aead_chacha20poly1305_ietf_decrypt(
25+
+ $payload,
26+
+ $nonce,
27+
+ $nonce,
28+
+ $this->key
29+
+ );
30+
+ } catch (\SodiumException $e) {
31+
+ $plainText = '';
32+
+ }
33+
34+
- return $plainText;
35+
+ return $plainText !== false ? $plainText : '';
36+
}
37+
}

0 commit comments

Comments
 (0)