diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 8d5fa291..5eb057af 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -1,46 +1,75 @@ -# Contributor Covenant Code of Conduct +# Magento Code of Conduct ## Our Pledge -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. +We as members, contributors, and leaders pledge to make participation in our project and community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Standards -Examples of behavior that contributes to creating a positive environment include: +Examples of behavior that contribute to a positive environment for our project and community include: -* Using welcoming and inclusive language. -* Being respectful of differing viewpoints and experiences. -* Gracefully accepting constructive criticism. -* Focusing on what is best for the community. -* Showing empathy towards other community members. +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +* Focusing on what is best, not just for us as individuals but for the overall community -Examples of unacceptable behavior by participants include: +Examples of unacceptable behavior include: -* The use of sexualized language or imagery and unwelcome sexual attention or advances. -* Trolling, insulting/derogatory comments, and personal or political attacks. -* Public or private harassment. -* Publishing others' private information, such as a physical or electronic address, without explicit permission. -* Other conduct which could reasonably be considered inappropriate in a professional setting. +* The use of sexualized language or imagery, and sexual attention or advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others’ private information, such as a physical or email address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. +Project maintainers are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any instances of unacceptable behavior. -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. +This Code of Conduct applies when an individual is representing the project or its community both within project spaces and in public spaces. Examples of representing a project or community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at engcom@magento.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by first contacting the project team at engcom@adobe.com. Oversight of Adobe projects is handled by the Adobe Open Source Office, which has final say in any violations and enforcement of this Code of Conduct and can be reached at Grp-opensourceoffice@adobe.com. All complaints will be reviewed and investigated promptly and fairly. -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. +The project team must respect the privacy and security of the reporter of any incident. -## Attribution +Project maintainers who do not follow or enforce the Code of Conduct may face temporary or permanent repercussions as determined by other members of the project's leadership or the Adobe Open Source Office. + +## Enforcement Guidelines + +Project maintainers will follow these Community Impact Guidelines in determining the consequences for any action they deem to be in violation of this Code of Conduct: + +**1. Correction** + +Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. + +Consequence: A private, written warning from project maintainers describing the violation and why the behavior was unacceptable. A public apology may be requested from the violator before any further involvement in the project by violator. + +**2. Warning** + +Community Impact: A relatively minor violation through a single incident or series of actions. -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]. +Consequence: A written warning from project maintainers that includes stated consequences for continued unacceptable behavior. Violator must refrain from interacting with the people involved for a specified period of time as determined by the project maintainers, including, but not limited to, unsolicited interaction with those enforcing the Code of Conduct through channels such as community spaces and social media. Continued violations may lead to a temporary or permanent ban. + +**3. Temporary Ban** + +Community Impact: A more serious violation of community standards, including sustained unacceptable behavior. + +Consequence: A temporary ban from any interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Failure to comply with the temporary ban may lead to a permanent ban. + +**4. Permanent Ban** + +Community Impact: Demonstrating a consistent pattern of violation of community standards or an egregious violation of community standards, including, but not limited to, sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + +Consequence: A permanent ban from any interaction with the community. + +## Attribution -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ +This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. diff --git a/.gitignore b/.gitignore index b02912ed..7a33a047 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /auth.json /codeception.yml /_workdir +/tests/integrity/.phpunit.result.cache diff --git a/README.md b/README.md index 2b48c367..7d359ef4 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,17 @@ -# Quality Patches Tool (QPT) +# Quality Patches Tool Welcome to the Quality Patches Tool! ## Overview -Quality Patches Tool is designed to distribute quality patches across Adobe Commerce and Magento OS users so that users can get the latest available patches, select the required, and apply them. +Quality Patches Tool is a command-line tool that delivers quality patches for Adobe Commerce and Magento Open Source. It allows you to: +- view the general information about the latest patches +- apply patches +- revert previously applied patches + +Quality patches are provided by Adobe support and Magento OS community. + +Here is [a full list of available patches](https://devdocs.magento.com/quality-patches/tool.html#patch-grid) in Quality Patches Tool. ## Installation @@ -14,7 +21,7 @@ Quality Patches Tool is designed to distribute quality patches across Adobe Comm **Cloud Project** -The [MQP](https://github.com/magento/quality-patches) package is a dependency for the [ece-tools](https://github.com/magento/ece-tools/) package starting from v.2002.1.2 and is installed or updated when you [update the ece-tools package version](https://devdocs.magento.com/cloud/project/ece-tools-update.html). +The [quality-patches](https://github.com/magento/quality-patches) package is a dependency for the [ece-tools](https://github.com/magento/ece-tools/) package starting from v.2002.1.2 and is installed or updated when you [update the ece-tools package version](https://devdocs.magento.com/cloud/project/ece-tools-update.html). ## Usage - On-Prem Project > Make sure to test all patches in a pre-production environment. For the changes to be reflected, refresh the cache in the [Admin under System > Tools > Cache Management](https://docs.magento.com/user-guide/system/cache-management.html?_ga=2.172766563.1151974537.1596126236-1202073513.1559691283) diff --git a/community-patches.json b/community-patches.json index 427cbb7e..eaca0758 100644 --- a/community-patches.json +++ b/community-patches.json @@ -1,42 +1,69 @@ { - "magento/magento2/33723": { + "magento2-33723": { "categories": [ "Performance", "Shopping Cart" ], - "title": "Author: @ihor-sviziev. Optimize QuoteIdToMaskedQuoteId model", + "title": "Optimizes QuoteIdToMaskedQuoteId model. Author: @ihor-sviziev.", "packages": { - "magento2-base": { + "magento/magento2-base": { "2.3.7": { "file": "community/magento_magento2_33723.patch" } } } }, - "magento/magento2/34228": { + "magento2-34228": { "categories": [ "Payments" ], - "title": "Author: @konarshankar07. Added patch for the upgrade issue from 2.4.2 to 2.4.3", + "title": "Fixes upgrade issue from 2.4.2 to 2.4.3 for PayPal data patch. Author: @konarshankar07. ", "packages": { - "magento2-base": { + "magento/magento2-base": { "2.4.3": { "file": "community/magento_magento2_34228.patch" } } } }, - "magento/magento2/34170": { + "magento2-34170": { "categories": [ - "Payments" + "Cache" ], - "title": "backport #28137 to 2.3. Author: @jonashrem", + "title": "Fixes issue with Varnish 6 when 503 error was returned and VCL error Too many restarts in logs. Author: @jonashrem", "packages": { - "magento2-base": { + "magento/magento2-base": { "2.3.7": { "file": "community/magento_magento2_34170.patch" } } } + }, + "magento/magento2/34529": { + "categories": [ + "Customer" + ], + "title": "MC-41887: Validation Messages - CustomerData messages not showing up. Author: @Den4ik", + "packages": { + "magento/magento2-base": { + "2.3.7": { + "file": "community/magento_magento2_34529.patch" + } + } + } + }, + "magento/magento2/34528": { + "categories": [ + "Performance", + "Shopping Cart" + ], + "title": "Optimize QuoteIdToMaskedQuoteId model and fix infinite loop. Author: @ihor-sviziev", + "packages": { + "magento/magento2-base": { + "2.4.3": { + "file": "community/magento_magento2_34528.patch" + } + } + } } } \ No newline at end of file diff --git a/community-release-notes.json b/community-release-notes.json index 02300df6..2c30ccb4 100644 --- a/community-release-notes.json +++ b/community-release-notes.json @@ -25,6 +25,21 @@ "description": "\"backport #28137 to 2.3\": Fixes issue with Varnish 6 when 503 error was returned and VCL error Too many restarts in logs" } ] + }, + { + "version": "1.1.6", + "patches": [ + { + "code": "magento/magento2-base", + "magento-version": "2.3.7", + "description": "\"MC-41887: Validation Messages - CustomerData messages not showing up\": Fixed issue with don't visible messages for sites hosted on subdirectories due to cookie restriction" + }, + { + "code": "magento/magento2-base", + "magento-version": "2.4.3", + "description": "\"Optimize QuoteIdToMaskedQuoteId model and fix infinite loop\": Improve performance by using direct SQL queries" + } + ] } ] } \ No newline at end of file diff --git a/community-release-notes.md b/community-release-notes.md index 5643a4f5..314aaa72 100644 --- a/community-release-notes.md +++ b/community-release-notes.md @@ -1,4 +1,9 @@ +## v1.1.6 + +- **magento/magento2-base** _(for Magento `2.3.7`)_-"MC-41887: Validation Messages - CustomerData messages not showing up": Fixed issue with don't visible messages for sites hosted on subdirectories due to cookie restriction +- **magento/magento2-base** _(for Magento `2.4.3`)_-"Optimize QuoteIdToMaskedQuoteId model and fix infinite loop": Improve performance by using direct SQL queries + ## v1.1.4 - **magento2-base** _(for Magento `2.4.3`)_-"Added patch for the upgrade issue from 2.4.2 to 2.4.3": Fixes Upgrade Issue, While upgrade from Magento 2.4.2-p1 to Magento 2.4.3 for PayPal data patch diff --git a/composer.json b/composer.json index 52f48509..386ae28b 100644 --- a/composer.json +++ b/composer.json @@ -1,8 +1,8 @@ { "name": "magento/quality-patches", - "description": "Provides quality patches for Magento 2", + "description": "Provides quality patches for AdobeCommerce & Magento OpenSource", "type": "magento2-component", - "version": "1.1.3", + "version": "1.1.73", "license": "proprietary", "repositories": { "repo": { @@ -11,14 +11,18 @@ } }, "require": { - "php": "^7.0", + "php": "^8.0", "ext-json": "*", "magento/magento-cloud-patches": "^1.0.11" }, "require-dev": { - "codeception/codeception": "^2.5.3", - "consolidation/robo": "^1.2", - "phpunit/phpunit": "^6.2", + "codeception/codeception": "^4.1 || ^5.1", + "codeception/module-asserts": "^1.2 || ^3.0", + "codeception/module-db": "^1.0 || ^3.0", + "codeception/module-phpbrowser": "^1.0 || ^3.0", + "codeception/module-rest": "^1.2 || ^3.0", + "consolidation/robo": "^1.2 || ^2.0 || ^3.0", + "phpunit/phpunit": "^10", "composer/semver": "@stable", "phpmd/phpmd": "@stable", "squizlabs/php_codesniffer": "^3.0" @@ -38,7 +42,8 @@ ], "test:phpcs": "phpcs src --standard=tests/static/phpcs-ruleset.xml -p -n", "test:phpmd": "phpmd src xml tests/static/phpmd-ruleset.xml", - "test:integrity": "phpunit --configuration ./tests/integrity" + "test:integrity": "phpunit --configuration ./tests/integrity", + "update:info:json": "php src/UpdateInfoJson.php" }, "config": { "sort-packages": true diff --git a/magento_releases.json b/magento_releases.json index 79aeaf17..02e71964 100644 --- a/magento_releases.json +++ b/magento_releases.json @@ -1,216 +1,1028 @@ { - "2.4.3": { - "magento/magento2-base": "2.4.3", - "magento/magento2-ee-base": "2.4.3", - "magento/magento2-b2b-base": "1.3.2", - "magento/inventory-metapackage": "1.2.3", - "magento/module-page-builder": "2.2.1", - "magento/page-builder-commerce": "1.7.0", - "magento/security-package": "1.1.2" - }, - "2.4.2-p2": { - "magento/magento2-base": "2.4.2-p2", - "magento/magento2-ee-base": "2.4.2-p2", - "magento/magento2-b2b-base": "1.3.1-p2", - "magento/inventory-metapackage": "1.2.2", - "magento/module-page-builder": "2.2.0", - "magento/page-builder-commerce": "1.6.0", - "magento/security-package": "1.1.1" - }, - "2.4.2-p1": { - "magento/magento2-base": "2.4.2-p1", - "magento/magento2-ee-base": "2.4.2-p1", - "magento/magento2-b2b-base": "1.3.1-p1", - "magento/inventory-metapackage": "1.2.2", - "magento/module-page-builder": "2.2.0", - "magento/page-builder-commerce": "1.6.0", - "magento/security-package": "1.1.1", - "vertex/product-magento-module": "4.2.0", - "klarna/m2-payments": "8.2.1", - "amzn/amazon-pay-and-login-magento-2-module": "4.2.0", - "dotmailer/dotmailer-magento2-extension-package": "4.10.1", - "yotpo/magento2-module-yotpo-reviews-bundle": "3.1.3", - "temando/module-shipping": "2.0.0", - "paypal/module-braintree": "4.2.1", - "magento/adobe-stock-integration": "2.1.1", - "magento/google-shopping-ads": "4.0.1" - }, - "2.4.2": { - "magento/magento2-base": "2.4.2", - "magento/magento2-ee-base": "2.4.2", - "magento/magento2-b2b-base": "1.3.1", - "magento/inventory-metapackage": "1.2.2", - "magento/module-page-builder": "2.2.0", - "magento/page-builder-commerce": "1.6.0", - "magento/security-package": "1.1.1" - }, - "2.4.1-p1": { - "magento/magento2-base": "2.4.1-p1", - "magento/magento2-ee-base": "2.4.1-p1", - "magento/magento2-b2b-base": "1.3.0-p1", - "magento/inventory-metapackage": "1.2.1", - "magento/module-page-builder": "2.1.1", - "magento/page-builder-commerce": "1.5.1", - "magento/security-package": "1.1.1" - }, - "2.4.1": { - "magento/magento2-base": "2.4.1", - "magento/magento2-ee-base": "2.4.1", - "magento/magento2-b2b-base": "1.3.0", - "magento/inventory-metapackage": "1.2.1", - "magento/module-page-builder": "2.1.1", - "magento/page-builder-commerce": "1.5.0", - "magento/security-package": "1.1.0" - }, - "2.4.0-p1": { - "magento/magento2-base": "2.4.0-p1", - "magento/magento2-ee-base": "2.4.0-p1", - "magento/magento2-b2b-base": "1.2.0-p1", - "magento/inventory-metapackage": "1.2.0-p1", - "magento/module-page-builder": "2.1.0", - "magento/page-builder-commerce": "1.4.1", - "magento/security-package": "1.0.0" - }, - "2.4.0": { - "magento/magento2-base": "2.4.0", - "magento/magento2-ee-base": "2.4.0", - "magento/magento2-b2b-base": "1.2.0", - "magento/inventory-metapackage": "1.2.0", - "magento/module-page-builder": "2.0.0", - "magento/page-builder-commerce": "1.4.0", - "magento/security-package": "1.0.0" - }, - "2.3.7-p1": { - "magento/magento2-base": "2.3.7-p1", - "magento/magento2-ee-base": "2.3.7-p1", - "magento/magento2-b2b-base": "1.1.7-p1", - "magento/inventory-composer-metapackage": "1.1.7", - "magento/module-page-builder": "1.3.4", - "magento/page-builder-commerce": "1.3.4" - }, - "2.3.7": { - "magento/magento2-base": "2.3.7", - "magento/magento2-ee-base": "2.3.7", - "magento/magento2-b2b-base": "1.1.7", - "magento/inventory-composer-metapackage": "1.1.7", - "magento/module-page-builder": "1.3.4", - "magento/page-builder-commerce": "1.3.4" - }, - "2.3.6-p1": { - "magento/magento2-base": "2.3.6-p1", - "magento/magento2-ee-base": "2.3.6-p1", - "magento/magento2-b2b-base": "1.1.6-p1", - "magento/inventory-composer-metapackage": "1.1.6", - "magento/module-page-builder": "1.3.3-p1", - "magento/page-builder-commerce": "1.3.3-p1" - }, - "2.3.6": { - "magento/magento2-base": "2.3.6", - "magento/magento2-ee-base": "2.3.6", - "magento/magento2-b2b-base": "1.1.6", - "magento/inventory-composer-metapackage": "1.1.6", - "magento/module-page-builder": "1.3.3", - "magento/page-builder-commerce": "1.3.3" - }, - "2.3.5-p2": { - "magento/magento2-base": "2.3.5-p2", - "magento/magento2-ee-base": "2.3.5-p2", - "magento/magento2-b2b-base": "1.1.5-p2", - "magento/inventory-composer-metapackage": "1.1.5-p1", - "magento/module-page-builder": "1.3.2", - "magento/page-builder-commerce": "1.3.2" - }, - "2.3.5-p1": { - "magento/magento2-base": "2.3.5-p1", - "magento/magento2-ee-base": "2.3.5-p1", - "magento/magento2-b2b-base": "1.1.5-p1", - "magento/inventory-composer-metapackage": "1.1.5", - "magento/module-page-builder": "1.3.1", - "magento/page-builder-commerce": "1.3.1" - }, - "2.3.5": { - "magento/magento2-base": "2.3.5", - "magento/magento2-ee-base": "2.3.5", - "magento/magento2-b2b-base": "1.1.5", - "magento/inventory-composer-metapackage": "1.1.5", - "magento/module-page-builder": "1.3.0", - "magento/page-builder-commerce": "1.3.0" - }, - "2.3.4-p2": { - "magento/magento2-base": "2.3.4-p2", - "magento/magento2-ee-base": "2.3.4-p2", - "magento/magento2-b2b-base": "1.1.4-p2", - "magento/inventory-composer-metapackage": "1.1.4", - "magento/module-page-builder": "1.2.2", - "magento/page-builder-commerce": "1.2.2" - }, - "2.3.4-p1": { - "magento/magento2-base": "2.3.4-p1", - "magento/magento2-ee-base": "2.3.4-p1", - "magento/magento2-b2b-base": "1.1.4-p1", - "magento/inventory-composer-metapackage": "1.1.4", - "magento/module-page-builder": "1.2.1", - "magento/page-builder-commerce": "1.2.1" - }, - "2.3.4": { - "magento/magento2-base": "2.3.4", - "magento/magento2-ee-base": "2.3.4", - "magento/magento2-b2b-base": "1.1.4", - "magento/inventory-composer-metapackage": "1.1.4", - "magento/module-page-builder": "1.2.0", - "magento/page-builder-commerce": "1.2.0" - }, - "2.3.3-p1": { - "magento/magento2-base": "2.3.3-p1", - "magento/magento2-ee-base": "2.3.3-p1", - "magento/magento2-b2b-base": "1.1.3-p1", - "magento/inventory-composer-metapackage": "1.1.3", - "magento/module-page-builder": "1.1.1", - "magento/page-builder-commerce": "1.1.1" - }, - "2.3.3": { - "magento/magento2-base": "2.3.3", - "magento/magento2-ee-base": "2.3.3", - "magento/magento2-b2b-base": "1.1.3", - "magento/inventory-composer-metapackage": "1.1.3", - "magento/module-page-builder": "1.1.0", - "magento/page-builder-commerce": "1.1.0" - }, - "2.3.2-p2": { - "magento/magento2-base": "2.3.2-p2", - "magento/magento2-ee-base": "2.3.2-p2", - "magento/magento2-b2b-base": "1.1.2-p2", - "magento/inventory-composer-metapackage": "1.1.2", - "magento/module-page-builder": "1.0.3", - "magento/page-builder-commerce": "1.0.3" - }, - "2.3.2-p1": { - "magento/magento2-base": "2.3.2-p1", - "magento/magento2-ee-base": "2.3.2-p1", - "magento/magento2-b2b-base": "1.1.2", - "magento/inventory-composer-metapackage": "1.1.2", - "magento/module-page-builder": "1.0.2", - "magento/page-builder-commerce": "1.0.2" - }, - "2.3.2": { - "magento/magento2-base": "2.3.2", - "magento/magento2-ee-base": "2.3.2", - "magento/magento2-b2b-base": "1.1.2", - "magento/inventory-composer-metapackage": "1.1.2", - "magento/module-page-builder": "1.0.1", - "magento/page-builder-commerce": "1.0.1" - }, - "2.3.1": { - "magento/magento2-base": "2.3.1", - "magento/magento2-ee-base": "2.3.1", - "magento/magento2-b2b-base": "1.1.1", - "magento/inventory-composer-metapackage": "1.0.3", - "magento/module-page-builder": "1.0.0", - "magento/page-builder-commerce": "1.0.0" - }, - "2.3.0": { - "magento/magento2-base": "2.3.0", - "magento/magento2-ee-base": "2.3.0", - "magento/magento2-b2b-base": "1.1.1" - } + "2.4.8-p3": { + "magento/magento2-base": "2.4.8-p3", + "magento/magento2-ee-base": "2.4.8-p3", + "magento/magento2-b2b-base": "1.5.2-p3", + "magento/inventory-metapackage": "1.2.8-p3", + "magento/module-page-builder": "2.2.6-p3", + "magento/page-builder-commerce": "1.7.5-p3", + "magento/security-package": "1.1.7-p3", + "magento/security-package-ee": "1.0.3-p3", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.7.0" + }, + "2.4.8-p2": { + "magento/magento2-base": "2.4.8-p2", + "magento/magento2-ee-base": "2.4.8-p2", + "magento/magento2-b2b-base": "1.5.2-p2", + "magento/inventory-metapackage": "1.2.8-p2", + "magento/module-page-builder": "2.2.6-p2", + "magento/page-builder-commerce": "1.7.5-p2", + "magento/security-package": "1.1.7-p2", + "magento/security-package-ee": "1.0.3-p2", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.7.0" + }, + "2.4.8-p1": { + "magento/magento2-base": "2.4.8-p1", + "magento/magento2-ee-base": "2.4.8-p1", + "magento/magento2-b2b-base": "1.5.2-p1", + "magento/inventory-metapackage": "1.2.8-p1", + "magento/module-page-builder": "2.2.6-p1", + "magento/page-builder-commerce": "1.7.5-p1", + "magento/security-package": "1.1.7-p1", + "magento/security-package-ee": "1.0.3-p1", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.7.0" + }, + "2.4.8": { + "magento/magento2-base": "2.4.8", + "magento/magento2-ee-base": "2.4.8", + "magento/magento2-b2b-base": "1.5.2", + "magento/inventory-metapackage": "1.2.8", + "magento/module-page-builder": "2.2.6", + "magento/page-builder-commerce": "1.7.5", + "magento/security-package": "1.1.7", + "magento/security-package-ee": "1.0.3", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.7.0" + }, + "2.4.7-p8": { + "magento/magento2-base": "2.4.7-p8", + "magento/magento2-ee-base": "2.4.7-p8", + "magento/magento2-b2b-base": "1.5.2-p3", + "magento/inventory-metapackage": "1.2.7-p8", + "magento/module-page-builder": "2.2.5-p8", + "magento/page-builder-commerce": "1.7.4-p8", + "magento/security-package": "1.1.6-p8", + "magento/security-package-ee": "1.0.2-p8", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.6.1-p5" + }, + "2.4.7-p7": { + "magento/magento2-base": "2.4.7-p7", + "magento/magento2-ee-base": "2.4.7-p7", + "magento/magento2-b2b-base": "1.5.2-p2", + "magento/inventory-metapackage": "1.2.7-p7", + "magento/module-page-builder": "2.2.5-p7", + "magento/page-builder-commerce": "1.7.4-p7", + "magento/security-package": "1.1.6-p7", + "magento/security-package-ee": "1.0.2-p7", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.6.1-p5" + }, + "2.4.7-p6": { + "magento/magento2-base": "2.4.7-p6", + "magento/magento2-ee-base": "2.4.7-p6", + "magento/magento2-b2b-base": "1.5.2-p1", + "magento/inventory-metapackage": "1.2.7-p6", + "magento/module-page-builder": "2.2.5-p6", + "magento/page-builder-commerce": "1.7.4-p6", + "magento/security-package": "1.1.6-p6", + "magento/security-package-ee": "1.0.2-p6", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.6.1-p5" + }, + "2.4.7-p5": { + "magento/magento2-base": "2.4.7-p5", + "magento/magento2-ee-base": "2.4.7-p5", + "magento/magento2-b2b-base": "1.5.2", + "magento/inventory-metapackage": "1.2.7-p5", + "magento/module-page-builder": "2.2.5-p5", + "magento/page-builder-commerce": "1.7.4-p5", + "magento/security-package": "1.1.6-p5", + "magento/security-package-ee": "1.0.2-p5", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.6.1-p5" + }, + "2.4.7-p4": { + "magento/magento2-base": "2.4.7-p4", + "magento/magento2-ee-base": "2.4.7-p4", + "magento/magento2-b2b-base": "1.5.1", + "magento/inventory-metapackage": "1.2.7-p4", + "magento/module-page-builder": "2.2.5-p4", + "magento/page-builder-commerce": "1.7.4-p4", + "magento/security-package": "1.1.6-p4", + "magento/security-package-ee": "1.0.2-p4", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.6.1-p3" + }, + "2.4.7-p3": { + "magento/magento2-base": "2.4.7-p3", + "magento/magento2-ee-base": "2.4.7-p3", + "magento/magento2-b2b-base": "1.5.0", + "magento/inventory-metapackage": "1.2.7-p3", + "magento/module-page-builder": "2.2.5-p3", + "magento/page-builder-commerce": "1.7.4-p3", + "magento/security-package": "1.1.6-p3", + "magento/security-package-ee": "1.0.2-p3", + "magento/security-package-b2b": "1.0.5", + "paypal/module-braintree-core": "4.6.1-p3" + }, + "2.4.7-p2": { + "magento/magento2-base": "2.4.7-p2", + "magento/magento2-ee-base": "2.4.7-p2", + "magento/magento2-b2b-base": "1.4.2-p2", + "magento/inventory-metapackage": "1.2.7-p2", + "magento/module-page-builder": "2.2.5-p2", + "magento/page-builder-commerce": "1.7.4-p2", + "magento/security-package": "1.1.6-p2", + "magento/security-package-ee": "1.0.2-p2", + "magento/security-package-b2b": "1.0.4", + "paypal/module-braintree-core": "4.6.1-p1" + }, + "2.4.7-p1": { + "magento/magento2-base": "2.4.7-p1", + "magento/magento2-ee-base": "2.4.7-p1", + "magento/magento2-b2b-base": "1.4.2-p1", + "magento/inventory-metapackage": "1.2.7-p1", + "magento/module-page-builder": "2.2.5", + "magento/page-builder-commerce": "1.7.4-p1", + "magento/security-package": "1.1.6-p1", + "magento/security-package-ee": "1.0.2-p1", + "magento/security-package-b2b": "1.0.4", + "paypal/module-braintree-core": "4.6.1-p1" + }, + "2.4.7": { + "magento/magento2-base": "2.4.7", + "magento/magento2-ee-base": "2.4.7", + "magento/magento2-b2b-base": "1.4.2", + "magento/inventory-metapackage": "1.2.7", + "magento/module-page-builder": "2.2.5", + "magento/page-builder-commerce": "1.7.4", + "magento/security-package": "1.1.6", + "magento/security-package-ee": "1.0.2", + "magento/security-package-b2b": "1.0.4", + "paypal/module-braintree-core": "4.6.1" + }, + "2.4.6-p13": { + "magento/magento2-base": "2.4.6-p13", + "magento/magento2-ee-base": "2.4.6-p13", + "magento/magento2-b2b-base": "1.5.2-p3", + "magento/inventory-metapackage": "1.2.6-p13", + "magento/module-page-builder": "2.2.4-p13", + "magento/page-builder-commerce": "1.7.3-p13", + "magento/security-package": "1.1.5-p13", + "magento/security-package-ee": "1.0.1-p13", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.5.0-p10" + }, + "2.4.6-p12": { + "magento/magento2-base": "2.4.6-p12", + "magento/magento2-ee-base": "2.4.6-p12", + "magento/magento2-b2b-base": "1.5.2-p2", + "magento/inventory-metapackage": "1.2.6-p12", + "magento/module-page-builder": "2.2.4-p11", + "magento/page-builder-commerce": "1.7.3-p12", + "magento/security-package": "1.1.5-p12", + "magento/security-package-ee": "1.0.1-p12", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.5.0-p10" + }, + "2.4.6-p11": { + "magento/magento2-base": "2.4.6-p11", + "magento/magento2-ee-base": "2.4.6-p11", + "magento/magento2-b2b-base": "1.5.2-p1", + "magento/inventory-metapackage": "1.2.6-p11", + "magento/module-page-builder": "2.2.4-p11", + "magento/page-builder-commerce": "1.7.3-p11", + "magento/security-package": "1.1.5-p11", + "magento/security-package-ee": "1.0.1-p11", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.5.0-p10" + }, + "2.4.6-p10": { + "magento/magento2-base": "2.4.6-p10", + "magento/magento2-ee-base": "2.4.6-p10", + "magento/magento2-b2b-base": "1.5.2", + "magento/inventory-metapackage": "1.2.6-p10", + "magento/module-page-builder": "2.2.4-p10", + "magento/page-builder-commerce": "1.7.3-p10", + "magento/security-package": "1.1.5-p10", + "magento/security-package-ee": "1.0.1-p10", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.5.0-p10" + }, + "2.4.6-p9": { + "magento/magento2-base": "2.4.6-p9", + "magento/magento2-ee-base": "2.4.6-p9", + "magento/magento2-b2b-base": "1.5.1", + "magento/inventory-metapackage": "1.2.6-p9", + "magento/module-page-builder": "2.2.4-p9", + "magento/page-builder-commerce": "1.7.3-p9", + "magento/security-package": "1.1.5-p9", + "magento/security-package-ee": "1.0.1-p9", + "magento/security-package-b2b": "1.0.6", + "paypal/module-braintree-core": "4.5.0-p8" + }, + "2.4.6-p8": { + "magento/magento2-base": "2.4.6-p8", + "magento/magento2-ee-base": "2.4.6-p8", + "magento/magento2-b2b-base": "1.5.0", + "magento/inventory-metapackage": "1.2.6-p8", + "magento/module-page-builder": "2.2.4-p8", + "magento/page-builder-commerce": "1.7.3-p8", + "magento/security-package": "1.1.5-p8", + "magento/security-package-ee": "1.0.1-p8", + "magento/security-package-b2b": "1.0.5", + "paypal/module-braintree-core": "4.5.0-p8" + }, + "2.4.6-p7": { + "magento/magento2-base": "2.4.6-p7", + "magento/magento2-ee-base": "2.4.6-p7", + "magento/magento2-b2b-base": "1.3.5-p7", + "magento/inventory-metapackage": "1.2.6-p7", + "magento/module-page-builder": "2.2.4-p7", + "magento/page-builder-commerce": "1.7.3-p7", + "magento/security-package": "1.1.5-p7", + "magento/security-package-ee": "1.0.1-p7", + "magento/security-package-b2b": "1.0.3-p7", + "paypal/module-braintree-core": "4.5.0-p6" + }, + "2.4.6-p6": { + "magento/magento2-base": "2.4.6-p6", + "magento/magento2-ee-base": "2.4.6-p6", + "magento/magento2-b2b-base": "1.3.5-p6", + "magento/inventory-metapackage": "1.2.6-p6", + "magento/module-page-builder": "2.2.4-p6", + "magento/page-builder-commerce": "1.7.3-p6", + "magento/security-package": "1.1.5-p6", + "magento/security-package-ee": "1.0.1-p6", + "magento/security-package-b2b": "1.0.3-p6", + "paypal/module-braintree-core": "4.5.0-p6" + }, + "2.4.6-p5": { + "magento/magento2-base": "2.4.6-p5", + "magento/magento2-ee-base": "2.4.6-p5", + "magento/magento2-b2b-base": "1.3.5-p5", + "magento/inventory-metapackage": "1.2.6-p5", + "magento/module-page-builder": "2.2.4-p5", + "magento/page-builder-commerce": "1.7.3-p5", + "magento/security-package": "1.1.5-p5", + "magento/security-package-ee": "1.0.1-p5", + "magento/security-package-b2b": "1.0.3-p5", + "paypal/module-braintree-core": "4.5.0-p1" + }, + "2.4.6-p4": { + "magento/magento2-base": "2.4.6-p4", + "magento/magento2-ee-base": "2.4.6-p4", + "magento/magento2-b2b-base": "1.3.5-p4", + "magento/inventory-metapackage": "1.2.6-p4", + "magento/module-page-builder": "2.2.4-p4", + "magento/page-builder-commerce": "1.7.3-p4", + "magento/security-package": "1.1.5-p4", + "magento/security-package-ee": "1.0.1-p4", + "magento/security-package-b2b": "1.0.3-p4", + "paypal/module-braintree-core": "4.5.0-p1" + }, + "2.4.6-p3": { + "magento/magento2-base": "2.4.6-p3", + "magento/magento2-ee-base": "2.4.6-p3", + "magento/magento2-b2b-base": "1.3.5-p3", + "magento/inventory-metapackage": "1.2.6-p3", + "magento/module-page-builder": "2.2.4-p3", + "magento/page-builder-commerce": "1.7.3-p3", + "magento/security-package": "1.1.5-p3", + "magento/security-package-ee": "1.0.1-p3", + "magento/security-package-b2b": "1.0.3-p3", + "paypal/module-braintree-core": "4.5.0-p1" + }, + "2.4.6-p2": { + "magento/magento2-base": "2.4.6-p2", + "magento/magento2-ee-base": "2.4.6-p2", + "magento/magento2-b2b-base": "1.3.5-p2", + "magento/inventory-metapackage": "1.2.6-p2", + "magento/module-page-builder": "2.2.4", + "magento/page-builder-commerce": "1.7.3-p2", + "magento/security-package": "1.1.5-p2", + "magento/security-package-ee": "1.0.1-p2", + "magento/security-package-b2b": "1.0.3-p2", + "paypal/module-braintree-core": "4.5.0-p1" + }, + "2.4.6-p1": { + "magento/magento2-base": "2.4.6-p1", + "magento/magento2-ee-base": "2.4.6-p1", + "magento/magento2-b2b-base": "1.3.5-p1", + "magento/inventory-metapackage": "1.2.6-p1", + "magento/module-page-builder": "2.2.4", + "magento/page-builder-commerce": "1.7.3-p1", + "magento/security-package": "1.1.5-p1", + "magento/security-package-ee": "1.0.1-p1", + "magento/security-package-b2b": "1.0.3-p1", + "paypal/module-braintree-core": "4.5.0" + }, + "2.4.6": { + "magento/magento2-base": "2.4.6", + "magento/magento2-ee-base": "2.4.6", + "magento/magento2-b2b-base": "1.3.5", + "magento/inventory-metapackage": "1.2.6", + "magento/module-page-builder": "2.2.4", + "magento/page-builder-commerce": "1.7.3", + "magento/security-package": "1.1.5", + "magento/security-package-ee": "1.0.1", + "magento/security-package-b2b": "1.0.3", + "paypal/module-braintree-core": "4.5.0" + }, + "2.4.5-p15": { + "magento/magento2-base": "2.4.5-p15", + "magento/magento2-ee-base": "2.4.5-p15", + "magento/magento2-b2b-base": "1.3.4-p15", + "magento/inventory-metapackage": "1.2.5-p15", + "magento/module-page-builder": "2.2.3-p15", + "magento/page-builder-commerce": "1.7.2-p15", + "magento/security-package": "1.1.4-p15", + "magento/security-package-ee": "1.0.0-p15", + "magento/security-package-b2b": "1.0.2-p15", + "paypal/module-braintree-core": "4.4.0-p12" + }, + "2.4.5-p14": { + "magento/magento2-base": "2.4.5-p14", + "magento/magento2-ee-base": "2.4.5-p14", + "magento/magento2-b2b-base": "1.3.4-p14", + "magento/inventory-metapackage": "1.2.5-p14", + "magento/module-page-builder": "2.2.3-p14", + "magento/page-builder-commerce": "1.7.2-p14", + "magento/security-package": "1.1.4-p14", + "magento/security-package-ee": "1.0.0-p14", + "magento/security-package-b2b": "1.0.2-p14", + "paypal/module-braintree-core": "4.4.0-p12" + }, + "2.4.5-p13": { + "magento/magento2-base": "2.4.5-p13", + "magento/magento2-ee-base": "2.4.5-p13", + "magento/magento2-b2b-base": "1.3.4-p13", + "magento/inventory-metapackage": "1.2.5-p13", + "magento/module-page-builder": "2.2.3-p13", + "magento/page-builder-commerce": "1.7.2-p13", + "magento/security-package": "1.1.4-p13", + "magento/security-package-ee": "1.0.0-p13", + "magento/security-package-b2b": "1.0.2-p13", + "paypal/module-braintree-core": "4.4.0-p12" + }, + "2.4.5-p12": { + "magento/magento2-base": "2.4.5-p12", + "magento/magento2-ee-base": "2.4.5-p12", + "magento/magento2-b2b-base": "1.3.4-p12", + "magento/inventory-metapackage": "1.2.5-p12", + "magento/module-page-builder": "2.2.3-p12", + "magento/page-builder-commerce": "1.7.2-p12", + "magento/security-package": "1.1.4-p12", + "magento/security-package-ee": "1.0.0-p12", + "magento/security-package-b2b": "1.0.2-p12", + "paypal/module-braintree-core": "4.4.0-p12" + }, + "2.4.5-p11": { + "magento/magento2-base": "2.4.5-p11", + "magento/magento2-ee-base": "2.4.5-p11", + "magento/magento2-b2b-base": "1.3.4-p11", + "magento/inventory-metapackage": "1.2.5-p11", + "magento/module-page-builder": "2.2.3-p11", + "magento/page-builder-commerce": "1.7.2-p11", + "magento/security-package": "1.1.4-p11", + "magento/security-package-ee": "1.0.0-p11", + "magento/security-package-b2b": "1.0.2-p11", + "paypal/module-braintree-core": "4.4.0-p10" + }, + "2.4.5-p10": { + "magento/magento2-base": "2.4.5-p10", + "magento/magento2-ee-base": "2.4.5-p10", + "magento/magento2-b2b-base": "1.3.4-p10", + "magento/inventory-metapackage": "1.2.5-p10", + "magento/module-page-builder": "2.2.3-p10", + "magento/page-builder-commerce": "1.7.2-p10", + "magento/security-package": "1.1.4-p10", + "magento/security-package-ee": "1.0.0-p10", + "magento/security-package-b2b": "1.0.2-p10", + "paypal/module-braintree-core": "4.4.0-p10" + }, + "2.4.5-p9": { + "magento/magento2-base": "2.4.5-p9", + "magento/magento2-ee-base": "2.4.5-p9", + "magento/magento2-b2b-base": "1.3.4-p9", + "magento/inventory-metapackage": "1.2.5-p9", + "magento/module-page-builder": "2.2.3-p8", + "magento/page-builder-commerce": "1.7.2-p9", + "magento/security-package": "1.1.4-p9", + "magento/security-package-ee": "1.0.0-p9", + "magento/security-package-b2b": "1.0.2-p9", + "paypal/module-braintree-core": "4.4.0-p8" + }, + "2.4.5-p8": { + "magento/magento2-base": "2.4.5-p8", + "magento/magento2-ee-base": "2.4.5-p8", + "magento/magento2-b2b-base": "1.3.4-p8", + "magento/inventory-metapackage": "1.2.5-p8", + "magento/module-page-builder": "2.2.3-p8", + "magento/page-builder-commerce": "1.7.2-p8", + "magento/security-package": "1.1.4-p8", + "magento/security-package-ee": "1.0.0-p8", + "magento/security-package-b2b": "1.0.2-p8", + "paypal/module-braintree-core": "4.4.0-p8" + }, + "2.4.5-p7": { + "magento/magento2-base": "2.4.5-p7", + "magento/magento2-ee-base": "2.4.5-p7", + "magento/magento2-b2b-base": "1.3.4-p7", + "magento/inventory-metapackage": "1.2.5-p7", + "magento/module-page-builder": "2.2.3-p5", + "magento/page-builder-commerce": "1.7.2-p7", + "magento/security-package": "1.1.4-p7", + "magento/security-package-ee": "1.0.0-p7", + "magento/security-package-b2b": "1.0.2-p7", + "paypal/module-braintree-core": "4.4.0-p2" + }, + "2.4.5-p6": { + "magento/magento2-base": "2.4.5-p6", + "magento/magento2-ee-base": "2.4.5-p6", + "magento/magento2-b2b-base": "1.3.4-p6", + "magento/inventory-metapackage": "1.2.5-p6", + "magento/module-page-builder": "2.2.3-p5", + "magento/page-builder-commerce": "1.7.2-p6", + "magento/security-package": "1.1.4-p6", + "magento/security-package-ee": "1.0.0-p6", + "magento/security-package-b2b": "1.0.2-p6", + "paypal/module-braintree-core": "4.4.0-p2" + }, + "2.4.5-p5": { + "magento/magento2-base": "2.4.5-p5", + "magento/magento2-ee-base": "2.4.5-p5", + "magento/magento2-b2b-base": "1.3.4-p5", + "magento/inventory-metapackage": "1.2.5-p5", + "magento/module-page-builder": "2.2.3-p5", + "magento/page-builder-commerce": "1.7.2-p5", + "magento/security-package": "1.1.4-p5", + "magento/security-package-ee": "1.0.0-p5", + "magento/security-package-b2b": "1.0.2-p5", + "paypal/module-braintree-core": "4.4.0-p2" + }, + "2.4.5-p4": { + "magento/magento2-base": "2.4.5-p4", + "magento/magento2-ee-base": "2.4.5-p4", + "magento/magento2-b2b-base": "1.3.4-p4", + "magento/inventory-metapackage": "1.2.5-p4", + "magento/module-page-builder": "2.2.3-p4", + "magento/page-builder-commerce": "1.7.2-p4", + "magento/security-package": "1.1.4-p4", + "magento/security-package-ee": "1.0.0-p4", + "magento/security-package-b2b": "1.0.2-p4", + "paypal/module-braintree-core": "4.4.0-p2" + }, + "2.4.5-p3": { + "magento/magento2-base": "2.4.5-p3", + "magento/magento2-ee-base": "2.4.5-p3", + "magento/magento2-b2b-base": "1.3.4-p3", + "magento/inventory-metapackage": "1.2.5-p3", + "magento/module-page-builder": "2.2.3-p1", + "magento/page-builder-commerce": "1.7.2-p3", + "magento/security-package": "1.1.4-p3", + "magento/security-package-ee": "1.0.0-p3", + "magento/security-package-b2b": "1.0.2-p3", + "paypal/module-braintree-core": "4.4.0-p1" + }, + "2.4.5-p2": { + "magento/magento2-base": "2.4.5-p2", + "magento/magento2-ee-base": "2.4.5-p2", + "magento/magento2-b2b-base": "1.3.4-p2", + "magento/inventory-metapackage": "1.2.5-p2", + "magento/module-page-builder": "2.2.3-p1", + "magento/page-builder-commerce": "1.7.2-p2", + "magento/security-package": "1.1.4-p2", + "magento/security-package-ee": "1.0.0-p2", + "magento/security-package-b2b": "1.0.2-p2", + "paypal/module-braintree-core": "4.4.0-p1" + }, + "2.4.5-p1": { + "magento/magento2-base": "2.4.5-p1", + "magento/magento2-ee-base": "2.4.5-p1", + "magento/magento2-b2b-base": "1.3.4-p1", + "magento/inventory-metapackage": "1.2.5-p1", + "magento/module-page-builder": "2.2.3-p1", + "magento/page-builder-commerce": "1.7.2-p1", + "magento/security-package": "1.1.4-p1", + "magento/security-package-ee": "1.0.0-p1", + "magento/security-package-b2b": "1.0.2-p1", + "paypal/module-braintree-core": "4.4.0-p1" + }, + "2.4.5": { + "magento/magento2-base": "2.4.5", + "magento/magento2-ee-base": "2.4.5", + "magento/magento2-b2b-base": "1.3.4", + "magento/inventory-metapackage": "1.2.5", + "magento/module-page-builder": "2.2.3", + "magento/page-builder-commerce": "1.7.2", + "magento/security-package": "1.1.4", + "magento/security-package-ee": "1.0.0", + "magento/security-package-b2b": "1.0.2", + "paypal/module-braintree-core": "4.4.0" + }, + "2.4.4-p16": { + "magento/magento2-base": "2.4.4-p16", + "magento/magento2-ee-base": "2.4.4-p16", + "magento/magento2-b2b-base": "1.3.3-p16", + "magento/inventory-metapackage": "1.2.4-p16", + "magento/module-page-builder": "2.2.2-p16", + "magento/page-builder-commerce": "1.7.1-p16", + "magento/security-package": "1.1.3-p16", + "magento/security-package-b2b": "1.0.1-p16", + "paypal/module-braintree-core": "4.3.0-p13" + }, + "2.4.4-p15": { + "magento/magento2-base": "2.4.4-p15", + "magento/magento2-ee-base": "2.4.4-p15", + "magento/magento2-b2b-base": "1.3.3-p15", + "magento/inventory-metapackage": "1.2.4-p15", + "magento/module-page-builder": "2.2.2-p15", + "magento/page-builder-commerce": "1.7.1-p15", + "magento/security-package": "1.1.3-p15", + "magento/security-package-b2b": "1.0.1-p15", + "paypal/module-braintree-core": "4.3.0-p13" + }, + "2.4.4-p14": { + "magento/magento2-base": "2.4.4-p14", + "magento/magento2-ee-base": "2.4.4-p14", + "magento/magento2-b2b-base": "1.3.3-p14", + "magento/inventory-metapackage": "1.2.4-p14", + "magento/module-page-builder": "2.2.2-p14", + "magento/page-builder-commerce": "1.7.1-p14", + "magento/security-package": "1.1.3-p14", + "magento/security-package-b2b": "1.0.1-p14", + "paypal/module-braintree-core": "4.3.0-p13" + }, + "2.4.4-p13": { + "magento/magento2-base": "2.4.4-p13", + "magento/magento2-ee-base": "2.4.4-p13", + "magento/magento2-b2b-base": "1.3.3-p13", + "magento/inventory-metapackage": "1.2.4-p13", + "magento/module-page-builder": "2.2.2-p13", + "magento/page-builder-commerce": "1.7.1-p13", + "magento/security-package": "1.1.3-p12", + "magento/security-package-b2b": "1.0.1-p13", + "paypal/module-braintree-core": "4.3.0-p13" + }, + "2.4.4-p12": { + "magento/magento2-base": "2.4.4-p12", + "magento/magento2-ee-base": "2.4.4-p12", + "magento/magento2-b2b-base": "1.3.3-p12", + "magento/inventory-metapackage": "1.2.4-p12", + "magento/module-page-builder": "2.2.2-p12", + "magento/page-builder-commerce": "1.7.1-p12", + "magento/security-package": "1.1.3-p12", + "magento/security-package-b2b": "1.0.1-p12", + "paypal/module-braintree-core": "4.3.0-p9" + }, + "2.4.4-p11": { + "magento/magento2-base": "2.4.4-p11", + "magento/magento2-ee-base": "2.4.4-p11", + "magento/magento2-b2b-base": "1.3.3-p11", + "magento/inventory-metapackage": "1.2.4-p11", + "magento/module-page-builder": "2.2.2-p11", + "magento/page-builder-commerce": "1.7.1-p11", + "magento/security-package": "1.1.3-p11", + "magento/security-package-b2b": "1.0.1-p11", + "paypal/module-braintree-core": "4.3.0-p9" + }, + "2.4.4-p10": { + "magento/magento2-base": "2.4.4-p10", + "magento/magento2-ee-base": "2.4.4-p10", + "magento/magento2-b2b-base": "1.3.3-p10", + "magento/inventory-metapackage": "1.2.4-p10", + "magento/module-page-builder": "2.2.2-p9", + "magento/page-builder-commerce": "1.7.1-p10", + "magento/security-package": "1.1.3-p10", + "magento/security-package-b2b": "1.0.1-p10", + "paypal/module-braintree-core": "4.3.0-p9" + }, + "2.4.4-p9": { + "magento/magento2-base": "2.4.4-p9", + "magento/magento2-ee-base": "2.4.4-p9", + "magento/magento2-b2b-base": "1.3.3-p9", + "magento/inventory-metapackage": "1.2.4-p9", + "magento/module-page-builder": "2.2.2-p9", + "magento/page-builder-commerce": "1.7.1-p9", + "magento/security-package": "1.1.3-p9", + "magento/security-package-b2b": "1.0.1-p9", + "paypal/module-braintree-core": "4.3.0-p9" + }, + "2.4.4-p8": { + "magento/magento2-base": "2.4.4-p8", + "magento/magento2-ee-base": "2.4.4-p8", + "magento/magento2-b2b-base": "1.3.3-p8", + "magento/inventory-metapackage": "1.2.4-p8", + "magento/module-page-builder": "2.2.2-p7", + "magento/page-builder-commerce": "1.7.1-p8", + "magento/security-package": "1.1.3-p8", + "magento/security-package-b2b": "1.0.1-p8", + "paypal/module-braintree-core": "4.3.0-p1" + }, + "2.4.4-p7": { + "magento/magento2-base": "2.4.4-p7", + "magento/magento2-ee-base": "2.4.4-p7", + "magento/magento2-b2b-base": "1.3.3-p7", + "magento/inventory-metapackage": "1.2.4-p7", + "magento/module-page-builder": "2.2.2-p7", + "magento/page-builder-commerce": "1.7.1-p7", + "magento/security-package": "1.1.3-p7", + "magento/security-package-b2b": "1.0.1-p7", + "paypal/module-braintree-core": "4.3.0-p1" + }, + "2.4.4-p6": { + "magento/magento2-base": "2.4.4-p6", + "magento/magento2-ee-base": "2.4.4-p6", + "magento/magento2-b2b-base": "1.3.3-p6", + "magento/inventory-metapackage": "1.2.4-p6", + "magento/module-page-builder": "2.2.2-p6", + "magento/page-builder-commerce": "1.7.1-p6", + "magento/security-package": "1.1.3-p6", + "magento/security-package-b2b": "1.0.1-p6", + "paypal/module-braintree-core": "4.3.0-p1" + }, + "2.4.4-p5": { + "magento/magento2-base": "2.4.4-p5", + "magento/magento2-ee-base": "2.4.4-p5", + "magento/magento2-b2b-base": "1.3.3-p5", + "magento/inventory-metapackage": "1.2.4-p5", + "magento/module-page-builder": "2.2.2-p5", + "magento/page-builder-commerce": "1.7.1-p5", + "magento/security-package": "1.1.3-p5", + "magento/security-package-b2b": "1.0.1-p5", + "paypal/module-braintree-core": "4.3.0-p1" + }, + "2.4.4-p4": { + "magento/magento2-base": "2.4.4-p4", + "magento/magento2-ee-base": "2.4.4-p4", + "magento/magento2-b2b-base": "1.3.3-p4", + "magento/inventory-metapackage": "1.2.4-p4", + "magento/module-page-builder": "2.2.2-p2", + "magento/page-builder-commerce": "1.7.1-p4", + "magento/security-package": "1.1.3-p4", + "magento/security-package-b2b": "1.0.1-p4", + "paypal/module-braintree-core": "4.3.0" + }, + "2.4.4-p3": { + "magento/magento2-base": "2.4.4-p3", + "magento/magento2-ee-base": "2.4.4-p3", + "magento/magento2-b2b-base": "1.3.3-p3", + "magento/inventory-metapackage": "1.2.4-p3", + "magento/module-page-builder": "2.2.2-p2", + "magento/page-builder-commerce": "1.7.1-p3", + "magento/security-package": "1.1.3-p3", + "magento/security-package-b2b": "1.0.1-p3", + "paypal/module-braintree-core": "4.3.0" + }, + "2.4.4-p2": { + "magento/magento2-base": "2.4.4-p2", + "magento/magento2-ee-base": "2.4.4-p2", + "magento/magento2-b2b-base": "1.3.3-p2", + "magento/inventory-metapackage": "1.2.4-p2", + "magento/module-page-builder": "2.2.2-p2", + "magento/page-builder-commerce": "1.7.1-p2", + "magento/security-package": "1.1.3-p2", + "magento/security-package-b2b": "1.0.1-p2", + "paypal/module-braintree-core": "4.3.0" + }, + "2.4.4-p1": { + "magento/magento2-base": "2.4.4-p1", + "magento/magento2-ee-base": "2.4.4-p1", + "magento/magento2-b2b-base": "1.3.3-p1", + "magento/inventory-metapackage": "1.2.4-p1", + "magento/module-page-builder": "2.2.2", + "magento/page-builder-commerce": "1.7.1", + "magento/security-package": "1.1.3-p1", + "magento/security-package-b2b": "1.0.1-p1", + "paypal/module-braintree-core": "4.3.0" + }, + "2.4.4": { + "magento/magento2-base": "2.4.4", + "magento/magento2-ee-base": "2.4.4", + "magento/magento2-b2b-base": "1.3.3", + "magento/inventory-metapackage": "1.2.4", + "magento/module-inventory-catalog": "1.2.2", + "magento/module-inventory-low-quantity-notification": "1.2.1", + "magento/module-page-builder": "2.2.2", + "magento/page-builder-commerce": "1.7.1", + "magento/security-package": "1.1.3", + "magento/security-package-b2b": "1.0.1", + "paypal/module-braintree": "4.3.0", + "magento/adobe-stock-integration": "2.1.3", + "magento/google-shopping-ads": "4.0.1", + "magento/adobe-ims": "2.1.3", + "temando/module-shipping": "2.0.0" + }, + "2.4.3-p3": { + "magento/magento2-base": "2.4.3-p3", + "magento/magento2-ee-base": "2.4.3-p3", + "magento/magento2-b2b-base": "1.3.2-p3", + "magento/inventory-metapackage": "1.2.3-p2", + "magento/module-inventory-low-quantity-notification": "1.2.0-p2", + "magento/module-page-builder": "2.2.1-p3", + "magento/page-builder-commerce": "1.7.0-p3", + "magento/security-package": "1.1.2" + }, + "2.4.3-p2": { + "magento/magento2-base": "2.4.3-p2", + "magento/magento2-ee-base": "2.4.3-p2", + "magento/magento2-b2b-base": "1.3.2-p2", + "magento/inventory-metapackage": "1.2.3-p1", + "magento/module-inventory-low-quantity-notification": "1.2.0-p2", + "magento/module-page-builder": "2.2.1-p2", + "magento/page-builder-commerce": "1.7.0-p2", + "magento/security-package": "1.1.2", + "paypal/module-braintree": "4.2.5", + "magento/adobe-stock-integration": "2.1.2-p2", + "magento/google-shopping-ads": "4.0.1", + "magento/adobe-ims": "2.1.2", + "temando/module-shipping": "2.0.0", + "klarna/m2-payments": "8.3.6", + "dotmailer/dotmailer-magento2-extension-package": "4.12.0", + "yotpo/magento2-module-yotpo-reviews-bundle": "3.2.0" + }, + "2.4.3-p1": { + "magento/magento2-base": "2.4.3-p1", + "magento/magento2-ee-base": "2.4.3-p1", + "magento/magento2-b2b-base": "1.3.2-p1", + "magento/inventory-metapackage": "1.2.3-p1", + "magento/module-inventory-low-quantity-notification": "1.2.0-p1", + "magento/module-page-builder": "2.2.1-p1", + "magento/page-builder-commerce": "1.7.0-p1", + "magento/security-package": "1.1.2", + "klarna/m2-payments": "8.3.6", + "vertexinc/product-magento-module": "4.2.2", + "amzn/amazon-pay-and-login-magento-2-module": "4.2.2", + "dotmailer/dotmailer-magento2-extension-package": "4.12.0", + "yotpo/magento2-module-yotpo-reviews-bundle": "3.2.0", + "temando/module-shipping": "2.0.0", + "paypal/module-braintree": "4.2.5", + "magento/adobe-stock-integration": "2.1.2-p1", + "magento/google-shopping-ads": "4.0.1", + "magento/adobe-ims": "2.1.2", + "magento/page-builder": "1.7.0-p1", + "dotmailer/dotmailer-magento2-extension-enterprise-package": "4.12.0", + "vertexinc/product-magento-module-commerce": "4.2.2" + }, + "2.4.3": { + "magento/magento2-base": "2.4.3", + "magento/magento2-ee-base": "2.4.3", + "magento/magento2-b2b-base": "1.3.2", + "magento/inventory-metapackage": "1.2.3", + "magento/module-inventory-low-quantity-notification": "1.2.0", + "magento/module-page-builder": "2.2.1", + "magento/page-builder-commerce": "1.7.0", + "magento/security-package": "1.1.2" + }, + "2.4.2-p2": { + "magento/magento2-base": "2.4.2-p2", + "magento/magento2-ee-base": "2.4.2-p2", + "magento/magento2-b2b-base": "1.3.1-p2", + "magento/inventory-metapackage": "1.2.2", + "magento/module-page-builder": "2.2.0", + "magento/page-builder-commerce": "1.6.0", + "magento/security-package": "1.1.1" + }, + "2.4.2-p1": { + "magento/magento2-base": "2.4.2-p1", + "magento/magento2-ee-base": "2.4.2-p1", + "magento/magento2-b2b-base": "1.3.1-p1", + "magento/inventory-metapackage": "1.2.2", + "magento/module-page-builder": "2.2.0", + "magento/page-builder-commerce": "1.6.0", + "magento/security-package": "1.1.1", + "vertex/product-magento-module": "4.2.0", + "klarna/m2-payments": "8.2.1", + "amzn/amazon-pay-and-login-magento-2-module": "4.2.0", + "dotmailer/dotmailer-magento2-extension-package": "4.10.1", + "yotpo/magento2-module-yotpo-reviews-bundle": "3.1.3", + "temando/module-shipping": "2.0.0", + "paypal/module-braintree": "4.2.1", + "magento/adobe-stock-integration": "2.1.1", + "magento/google-shopping-ads": "4.0.1" + }, + "2.4.2": { + "magento/magento2-base": "2.4.2", + "magento/magento2-ee-base": "2.4.2", + "magento/magento2-b2b-base": "1.3.1", + "magento/inventory-metapackage": "1.2.2", + "magento/module-page-builder": "2.2.0", + "magento/page-builder-commerce": "1.6.0", + "magento/security-package": "1.1.1" + }, + "2.4.1-p1": { + "magento/magento2-base": "2.4.1-p1", + "magento/magento2-ee-base": "2.4.1-p1", + "magento/magento2-b2b-base": "1.3.0-p1", + "magento/inventory-metapackage": "1.2.1", + "magento/module-page-builder": "2.1.1", + "magento/page-builder-commerce": "1.5.1", + "magento/security-package": "1.1.1" + }, + "2.4.1": { + "magento/magento2-base": "2.4.1", + "magento/magento2-ee-base": "2.4.1", + "magento/magento2-b2b-base": "1.3.0", + "magento/inventory-metapackage": "1.2.1", + "magento/module-page-builder": "2.1.1", + "magento/page-builder-commerce": "1.5.0", + "magento/security-package": "1.1.0" + }, + "2.4.0-p1": { + "magento/magento2-base": "2.4.0-p1", + "magento/magento2-ee-base": "2.4.0-p1", + "magento/magento2-b2b-base": "1.2.0-p1", + "magento/inventory-metapackage": "1.2.0-p1", + "magento/module-page-builder": "2.1.0", + "magento/page-builder-commerce": "1.4.1", + "magento/security-package": "1.0.0" + }, + "2.4.0": { + "magento/magento2-base": "2.4.0", + "magento/magento2-ee-base": "2.4.0", + "magento/magento2-b2b-base": "1.2.0", + "magento/inventory-metapackage": "1.2.0", + "magento/module-page-builder": "2.0.0", + "magento/page-builder-commerce": "1.4.0", + "magento/security-package": "1.0.0" + }, + "2.3.7-p4": { + "magento/magento2-base": "2.3.7-p4", + "magento/magento2-ee-base": "2.3.7-p4", + "magento/magento2-b2b-base": "1.1.7-p4", + "magento/inventory-composer-metapackage": "1.1.7-p1", + "magento/module-page-builder": "1.3.4-p2", + "magento/page-builder-commerce": "1.3.4-p2" + }, + "2.3.7-p3": { + "magento/magento2-base": "2.3.7-p3", + "magento/magento2-ee-base": "2.3.7-p3", + "magento/magento2-b2b-base": "1.1.7-p3", + "magento/inventory-composer-metapackage": "1.1.7", + "magento/module-page-builder": "1.3.4-p2", + "magento/page-builder-commerce": "1.3.4-p2", + "klarna/m2-payments": "7.7.1", + "vertexinc/product-magento-module": "3.5.2", + "amzn/amazon-pay-and-login-magento-2-module": "3.9.2", + "dotmailer/dotmailer-magento2-extension-package": "4.4.2", + "yotpo/magento2-module-yotpo-reviews-bundle": "3.1.0-p3", + "temando/module-shipping": "2.0.0", + "magento/google-shopping-ads": "4.0.1", + "magento/adobe-stock-integration": "1.0.3-p2", + "msp/recaptcha": "2.2.3", + "msp/twofactorauth": "3.1.3", + "magento/module-paypal-recaptcha": "1.0.1" + }, + "2.3.7-p2": { + "magento/magento2-base": "2.3.7-p2", + "magento/magento2-ee-base": "2.3.7-p2", + "magento/magento2-b2b-base": "1.1.7-p2", + "magento/inventory-composer-metapackage": "1.1.7", + "magento/module-page-builder": "1.3.4-p1", + "magento/page-builder-commerce": "1.3.4-p1", + "klarna/m2-payments": "7.7.1", + "vertexinc/product-magento-module": "3.5.2", + "amzn/amazon-pay-and-login-magento-2-module": "3.9.2", + "dotmailer/dotmailer-magento2-extension-package": "4.4.2", + "yotpo/magento2-module-yotpo-reviews-bundle": "3.1.0-p3", + "temando/module-shipping": "2.0.0", + "magento/google-shopping-ads": "4.0.1", + "magento/adobe-stock-integration": "1.0.3-p1", + "msp/recaptcha": "2.2.3", + "msp/twofactorauth": "3.1.3", + "magento/module-paypal-recaptcha": "1.0.1" + }, + "2.3.7-p1": { + "magento/magento2-base": "2.3.7-p1", + "magento/magento2-ee-base": "2.3.7-p1", + "magento/magento2-b2b-base": "1.1.7-p1", + "magento/inventory-composer-metapackage": "1.1.7", + "magento/module-page-builder": "1.3.4", + "magento/page-builder-commerce": "1.3.4" + }, + "2.3.7": { + "magento/magento2-base": "2.3.7", + "magento/magento2-ee-base": "2.3.7", + "magento/magento2-b2b-base": "1.1.7", + "magento/inventory-composer-metapackage": "1.1.7", + "magento/module-page-builder": "1.3.4", + "magento/page-builder-commerce": "1.3.4" + }, + "2.3.6-p1": { + "magento/magento2-base": "2.3.6-p1", + "magento/magento2-ee-base": "2.3.6-p1", + "magento/magento2-b2b-base": "1.1.6-p1", + "magento/inventory-composer-metapackage": "1.1.6", + "magento/module-page-builder": "1.3.3-p1", + "magento/page-builder-commerce": "1.3.3-p1", + "dotmailer/dotmailer-magento2-extension-package": "4.4.1-p1" + }, + "2.3.6": { + "magento/magento2-base": "2.3.6", + "magento/magento2-ee-base": "2.3.6", + "magento/magento2-b2b-base": "1.1.6", + "magento/inventory-composer-metapackage": "1.1.6", + "magento/module-page-builder": "1.3.3", + "magento/page-builder-commerce": "1.3.3", + "dotmailer/dotmailer-magento2-extension-package": "4.4.1" + }, + "2.3.5-p2": { + "magento/magento2-base": "2.3.5-p2", + "magento/magento2-ee-base": "2.3.5-p2", + "magento/magento2-b2b-base": "1.1.5-p2", + "magento/inventory-composer-metapackage": "1.1.5-p1", + "magento/module-page-builder": "1.3.2", + "magento/page-builder-commerce": "1.3.2", + "dotmailer/dotmailer-magento2-extension-package": "4.4.0" + }, + "2.3.5-p1": { + "magento/magento2-base": "2.3.5-p1", + "magento/magento2-ee-base": "2.3.5-p1", + "magento/magento2-b2b-base": "1.1.5-p1", + "magento/inventory-composer-metapackage": "1.1.5", + "magento/module-page-builder": "1.3.1", + "magento/page-builder-commerce": "1.3.1", + "dotmailer/dotmailer-magento2-extension-package": "4.4.0" + }, + "2.3.5": { + "magento/magento2-base": "2.3.5", + "magento/magento2-ee-base": "2.3.5", + "magento/magento2-b2b-base": "1.1.5", + "magento/inventory-composer-metapackage": "1.1.5", + "magento/module-page-builder": "1.3.0", + "magento/page-builder-commerce": "1.3.0", + "dotmailer/dotmailer-magento2-extension-package": "4.4.0" + }, + "2.3.4-p2": { + "magento/magento2-base": "2.3.4-p2", + "magento/magento2-ee-base": "2.3.4-p2", + "magento/magento2-b2b-base": "1.1.4-p2", + "magento/inventory-composer-metapackage": "1.1.4", + "magento/module-page-builder": "1.2.2", + "magento/page-builder-commerce": "1.2.2" + }, + "2.3.4-p1": { + "magento/magento2-base": "2.3.4-p1", + "magento/magento2-ee-base": "2.3.4-p1", + "magento/magento2-b2b-base": "1.1.4-p1", + "magento/inventory-composer-metapackage": "1.1.4", + "magento/module-page-builder": "1.2.1", + "magento/page-builder-commerce": "1.2.1" + }, + "2.3.4": { + "magento/magento2-base": "2.3.4", + "magento/magento2-ee-base": "2.3.4", + "magento/magento2-b2b-base": "1.1.4", + "magento/inventory-composer-metapackage": "1.1.4", + "magento/module-page-builder": "1.2.0", + "magento/page-builder-commerce": "1.2.0" + }, + "2.3.3-p2": { + "magento/magento2-base": "2.3.3-p2", + "magento/magento2-ee-base": "2.3.3-p2", + "magento/magento2-b2b-base": "1.1.3-p2", + "magento/inventory-composer-metapackage": "1.1.3", + "magento/module-page-builder": "1.1.1", + "magento/page-builder-commerce": "1.1.1" + }, + "2.3.3": { + "magento/magento2-base": "2.3.3", + "magento/magento2-ee-base": "2.3.3", + "magento/magento2-b2b-base": "1.1.3", + "magento/inventory-composer-metapackage": "1.1.3", + "magento/module-page-builder": "1.1.0", + "magento/page-builder-commerce": "1.1.0" + }, + "2.3.2-p2": { + "magento/magento2-base": "2.3.2-p2", + "magento/magento2-ee-base": "2.3.2-p2", + "magento/magento2-b2b-base": "1.1.2-p2", + "magento/inventory-composer-metapackage": "1.1.2", + "magento/module-page-builder": "1.0.3", + "magento/page-builder-commerce": "1.0.3" + }, + "2.3.2-p1": { + "magento/magento2-base": "2.3.2-p1", + "magento/magento2-ee-base": "2.3.2-p1", + "magento/magento2-b2b-base": "1.1.2", + "magento/inventory-composer-metapackage": "1.1.2", + "magento/module-page-builder": "1.0.2", + "magento/page-builder-commerce": "1.0.2" + }, + "2.3.2": { + "magento/magento2-base": "2.3.2", + "magento/magento2-ee-base": "2.3.2", + "magento/magento2-b2b-base": "1.1.2", + "magento/inventory-composer-metapackage": "1.1.2", + "magento/module-page-builder": "1.0.1", + "magento/page-builder-commerce": "1.0.1" + }, + "2.3.1": { + "magento/magento2-base": "2.3.1", + "magento/magento2-ee-base": "2.3.1", + "magento/magento2-b2b-base": "1.1.1", + "magento/inventory-composer-metapackage": "1.0.3", + "magento/module-page-builder": "1.0.0", + "magento/page-builder-commerce": "1.0.0" + }, + "2.3.0": { + "magento/magento2-base": "2.3.0", + "magento/magento2-ee-base": "2.3.0", + "magento/magento2-b2b-base": "1.1.0" + } } diff --git a/patches-info.json b/patches-info.json new file mode 100644 index 00000000..b73c83ce --- /dev/null +++ b/patches-info.json @@ -0,0 +1 @@ +{"version":"1.1.73","patches":[{"id":"AC-14985","releases":["2.4.8-p1","2.4.8"],"description":"Fixes the SMTP mail send with tls and 2.4.8.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-email"]},{"id":"AC-15223","releases":["2.4.8-p1","2.4.8"],"description":"Fixes an issue in 2.4.8 storefront where, after switching stores, the page is served from cache and does not reflect the selected store.","categories":["Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-page-cache"]},{"id":"AC-14984","releases":["2.4.6-p11","2.4.6-p10"],"description":"Fixes the \"Invalid frame type 21\" error on RabbitMQ SSL connection after minor upgrade 2.4.6-p9 -> 2.4.6-p10.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework-amqp"]},{"id":"AC-15210","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3"],"description":"Migrate USPS integration from outdated Web Tools APIs to new RESTful USPS APIs.","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-shipping","magento\/module-usps"]},{"id":"LYNX-839","releases":["2.4.8"],"description":"Remove customer group\/segments\/promo rules information exposure through the GraphQL","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule","magento\/module-catalog-rule-graph-ql","magento\/module-customer","magento\/module-customer-graph-ql","magento\/module-sales-rule","magento\/module-sales-rule-graph-ql","magento\/module-customer-segment","magento\/module-customer-segment-graph-ql"]},{"id":"AC-13283","releases":["2.4.6-p8"],"description":"Revert PlaceOrder backwards incompatible changes included in 2.4.6-p8.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"B2B-2674","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Add caching capability to the customAttributeMetadata GraphQL query","categories":["Performance","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-eav-graph-ql"]},{"id":"B2B-2598","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Add caching capability to the availableStores, countries, country, currency, and storeConfig GraphQL queries","categories":["Performance","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-directory-graph-ql","magento\/module-store","magento\/module-store-graph-ql"]},{"id":"BUNDLE-3375","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1"],"description":"The fix adds all the necessary fields to fulfill the 3DS VISA mandate requirements when using Braintree as a payment gateway.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["paypal\/module-braintree-core"]},{"id":"ACSD-59280","require":{"ACSD-55031":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the error \"Call to undefined method ReflectionUnionType::getName()\" happening when installing 2.4.4-pX versions.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-25602","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes issue with PayPal Payflow Pro payment method and treating cookies as SameSite=Lax by default in the Chrome 80 browser and API response redirect to customer login page","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-payment","magento\/module-paypal","magento\/module-website-restriction"]},{"id":"MDVA-30052","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2"],"description":"Fixes the issue with private content (local storage) not being populated correctly, which resulted in performance problems.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-directory","magento\/module-store"]},{"id":"MDVA-26694","replacedWith":"MDVA-26694-V2 for 2.4.0-p1, 2.4.0, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with product and catalog caches expiring daily, though being scheduled to expire differently.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"MDVA-26694-V2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with product and catalog caches expiring daily, though being scheduled to expire differently.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"MDVA-30131","releases":["2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue with layered navigation, where the 'No' value for boolean type product attributes was not included in layered navigation if Elasticsearch was used as a search engine.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"MDVA-27825","replacedWith":"MDVA-34879 for 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where exporting of big amounts of data failed because of memory leak.","categories":["Performance","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-eav"]},{"id":"MDVA-29085","releases":["2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the B2B issue where no required new company emails are sent out if a company is created by API.","categories":["B2B","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-29835","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where gift card orders contained two codes instead one.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card"]},{"id":"MDVA-29344","releases":["2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where Page Builder gets stuck after copying text from a header element to a text element.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MC-35514","releases":["2.4.0-p1","2.4.0"],"description":"Fixes the issue where merchants could not add ordered products to a package from the Admin Create Package page and save the package.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-shipping"]},{"id":"MC-35984","releases":["2.4.0-p1","2.4.0"],"description":"Fixes the issue where merchants could not interact with any page elements on the Returns page after creating a shipping label for a Return Merchandise Authorization (RMA).","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-rma"]},{"id":"MDVA-30195","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where cron jobs fail if database name is too long, resulting in categories not being updated on the frontend.","categories":["Cron"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-30106","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where during checkout, payments are not loaded with \u201cCannot read property \u2018length\u2019 of null \u201d error in JS console.","categories":["Order\/Checkout","Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-ui"]},{"id":"MDVA-28656","releases":["2.4.0-p1","2.4.0","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"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.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-30209","releases":["2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the customer group was changed to default if customer updated their account information.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-30123","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where attribute option labels are not translated correctly for GraphQL queries.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-29996","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where after enabling category permission, the category page is not getting cached by Full Page Cache.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-permissions"]},{"id":"MDVA-30164","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where customers records cannot be exported from the Customers grid, if custom customer attributes exist.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-30444","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where no confirmation email is sent for orders placed using GraphQL.","categories":["GraphQL","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"MDVA-30490","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where products comparison throws the 500 error page, if one of the products has an empty short description.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-30232","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where it is not possible to re-order if the original order contains a gift card.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-29965","releases":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where customers get Invalid Form Key error when adding a product to the cart.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-30008","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the B2B issue where it is not possible to place orders through Admin API for a product which is in a public catalog.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-22469","releases":["2.3.3-p2","2.3.3","2.3.2-p2"],"description":"Fixes the issue where after upgrading to Magento 2.3.3, Page Builder is not working in the Admin panel and some JS and CSS files are not loading.","categories":["Content"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-page-builder"]},{"id":"MDVA-28191","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where no payment methods are loaded during order creation via Magento Admin panel.","categories":["Payments","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-29959","releases":["2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where restricted admin user with 'Companies' permissions is not allowed to delete company account.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company","magento\/module-company-credit"]},{"id":"MDVA-30265","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where shipment tracking link stops working after Invoice creation.","categories":["Order\/Checkout","Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-28409","releases":["2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where the 'sales_clean_quotes' cron job fails with out-of-memory error when the number of expired quotes in the database is huge.","categories":["Cron","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-30593","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where quotes, that expired according to the Quote Lifetime setting, are not cleaned up.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-30107","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where store switcher doesn't work as expected if different base URLs are used for store views.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-store"]},{"id":"MDVA-28763","replacedWith":"MDVA-28763-V2 for 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where product image is getting duplicated after updating product information using REST API more than once.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-eav"]},{"id":"MDVA-28763-V2","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where product image is getting duplicated after updating product information using REST API more than once.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-eav"]},{"id":"MDVA-30284","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where Catalog Search indexer fails due to the following Elasticsearch error: `limit of total fields in index has been exceeded`.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"MDVA-29042","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where Catalog permissions were changed to `Allow` automatically after new product was added to the shared catalog.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-30428","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where customers cannot add a product to wishlist if this product is assigned to a custom inventory source.","categories":["Inventory","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-wishlist","magento\/module-inventory-catalog"]},{"id":"MDVA-28661","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where an error is thrown in the `Company Users` company account section after company admin is changed.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-28993","releases":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Implements the \"Minimum should match\" functionality and partial search for Elasticsearch engine. Solves issues with hyphens in search queries.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog-graph-ql","magento\/module-catalog-search","magento\/module-elasticsearch","magento\/module-elasticsearch-6"]},{"id":"MDVA-30102","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where Redis cache grows up quickly since layout caches don't have TTL.","categories":["Cache"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-30599","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where guest quotes created using API are incorrectly marked as quotes for logged in customers.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-persistent","magento\/module-quote"]},{"id":"MDVA-29446","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where the price of not applicable shipping method is shown as zero during checkout.","categories":["Order\/Checkout","Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"MDVA-30357","require":{"MCLOUD-3025":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"]},"releases":["2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue with wrong image URLs are created when generating a sitemap by cron.","categories":["Cron"],"origin":"Adobe Commerce Support","components":["magento\/module-sitemap"]},{"id":"MDVA-30565","releases":["2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where \"No such entity with cartid = 0\" error is displayed for guest customer on storefront checkout if persistent shopping cart is enabled.","categories":["Order\/Checkout","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-persistent"]},{"id":"MDVA-29787","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where target rule for related products does not work when 'is one of' condition is used to define products to be displayed.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"MDVA-30977","replacedWith":"MDVA-30977-V2 for 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue with random products missing from categories after reindex.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search","magento\/module-catalog","magento\/module-indexer","magento\/module-inventory-configurable-product-indexer","magento\/module-inventory-indexer"]},{"id":"MDVA-30977-V2","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with random products missing from categories after reindex.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-search","magento\/module-catalog-rule","magento\/module-indexer","magento\/module-inventory-configurable-product-indexer","magento\/module-inventory-indexer"]},{"id":"MDVA-28202","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where Layered Navigation doesn't filter configurable products correctly when MSI is used.","categories":["Catalog Search","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-inventory-configurable-product"]},{"id":"MDVA-28300","replacedWith":"MDVA-28300 for 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0. Use MDVA-33975 for 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where GraphQL request doesn't reflect the price changes from catalog price rules.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["app\/code"]},{"id":"MDVA-31006","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where duplicated orders appear after placing an order using Paypal Express payment.","categories":["Payments","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MDVA-30972","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where custom order status was changed to Processing after partial shipment creation using WebApi.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-30594","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where an order with multiple addresses could not be saved during checkout when FPT is configured.","categories":["Order\/Checkout","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-tax"]},{"id":"MDVA-29148","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue when creating a product via an API call, the product custom attribute of \"\\Magento\\Eav\\Model\\Entity\\Attribute\\Backend\\ArrayBackend\" (like Multiselect) type does not use its default value if no value was provided in the payload.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-eav"]},{"id":"MDVA-30837","releases":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Added a configuration setting \"Include Tax to Amount\": Yes\/No in Free Shipping method configuration. When \"Include Tax to Amount\" is set to Yes Minimum Order Amount is calculated as = Subtotal + Tax. When \"Include Tax to Amount\" is set to No Minimum Order Amount is calculated as = Subtotal","categories":["Shipping","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-offline-shipping","magento\/module-quote","magento\/module-tax"]},{"id":"MDVA-25028","require":{"MDVA-31006":["2.3.2-p2","2.3.2-p1","2.3.2"]},"releases":["2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue when orders that are placed using PayPal Payflow Pro are not set to Suspected Fraud status when fraud filters are triggered.","categories":["Payments","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal","magento\/module-sales"]},{"id":"MDVA-31224","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Improves the performance of the `catalog_product_price` re-index operation for bundle products.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"MDVA-31321","require":{"MAGECLOUD-4847":["2.3.3"]},"releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes a blank page (error) when \"Show All\" is selected. Elasticsearch returns large list of product ids. In this scenario the order by clause gets converted to an incorrect SQL format.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"MDVA-30815","require":{"MCLOUD-5684":["2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"MDVA-31321":["2.3.2-p2","2.3.2-p1","2.3.2"],"MAGECLOUD-4847":["2.3.3"]},"releases":["2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where when you changed how many search results should be displayed on the search results page, Magento displayed a blank page. Elasticsearch now correctly displays results from category pages when you change the number of search results viewed per page.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"MDVA-30782","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue when Dynamic Block was displayed regardless of cart rule.","categories":["Shopping Cart","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-banner"]},{"id":"MDVA-31021","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where performance issues exists in module-catalog-import-export\/Model\/Import\/Product\/Option.php. If there are more than ~100k records in catalog_product_option table, a new CSV with single product takes less than 10 sec to validate.","categories":["Performance","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"MDVA-31007","replacedWith":"MDVA-31007-V2 for 2.4.0-p1, 2.4.0, 2.3.5-p2, 2.3.5-p1, 2.3.5","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where custom address attributes are not correctly displayed in the order details page in the my account area and in the backend.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-customer-custom-attributes"]},{"id":"MDVA-31007-V2","replacedWith":"MDVA-31007-V3 for 2.4.0-p1, 2.4.0, 2.3.5-p2, 2.3.5-p1, 2.3.5","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where custom address attributes are not correctly displayed in the order details page in the my account area and in the backend.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-customer-custom-attributes"]},{"id":"MDVA-31007-V3","replacedWith":"MDVA-31007-V4 for 2.4.1, 2.4.0-p1, 2.4.0, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.4.1","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where custom address attributes are not correctly displayed in the order details page in the my account area and in the backend.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-customer","magento\/module-customer-custom-attributes"]},{"id":"MDVA-31007-V4","releases":["2.4.1","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where custom address attributes are not correctly displayed in the order details page in the my account area and in the backend.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-customer","magento\/module-customer-custom-attributes","magento\/module-negotiable-quote","magento\/module-purchase-order"]},{"id":"MDVA-29389","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with Advanced Reporting where the analytics_collect_data cronjob says: \"Port must be configured within host parameter (like localhost:3306)\".","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-analytics"]},{"id":"MDVA-31343","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue with the removed body class \"page-layout-category-full-width\" when a category is scheduled.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog-staging"]},{"id":"MDVA-30945","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where you receive a fatal error message when updating carts \"Call to a member function getValue() on null in module-configurable-product CartItemProcessor.php\".","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"MDVA-31242","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where a wrong currency sign is displayed in Credit Memo grid.","categories":["Price\/Tax","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-31295","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where reward points are not calculated when a partial order is completed and items are taxed.","categories":["Customer","Order\/Checkout","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-reward"]},{"id":"MDVA-30112","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where if the number of orders exceeds the \"bunch-size\" value, Magento considers the orders with \"pending\" status as inconsistencies.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configuration","magento\/module-inventory-reservation-cli"]},{"id":"MDVA-31150","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the store credit and gift card balances are not returned by the GET Invoice Rest API call, when the invoice was posted by Rest API call and the order was partially paid by store credit and gift card accounts.","categories":["Web API","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-balance","magento\/module-gift-card-account"]},{"id":"MDVA-29954","releases":["2.4.1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the \"New Company Registration Request\" and \"You've been linked to a company\" emails are sent from the wrong address.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-28357","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Replaces the standard analyzer with a custom analyzer with keyword tokenizer for the SKU field in the ElasticSearch index, to make wildcard search queries work with SKUs containing a hyphen (\"-\").","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"MDVA-30963","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where products filtering results set to only contain values specified for 'All store views' scope in Admin, include products with values overridden on the store view level.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-31363","replacedWith":"MDVA-31363 for 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2. Use MDVA-33975 for 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where the Cart Price Rule with coupon does not apply via GraphQL when 'Fixed amount discount for whole cart' action is used.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"MDVA-30889","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where an error occurs after invoicing a bundle with virtual and simple products as options.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-source-selection"]},{"id":"MDVA-31791","require":{"MDVA-27239":["2.3.4-p2","2.3.4-p1","2.3.4"]},"releases":["2.4.0-p1","2.4.0","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Improves the performance of the product page in cases when target rules or linked products are used.","categories":["Performance","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule","magento\/module-catalog"]},{"id":"MDVA-31168","replacedWith":"MDVA-31168-V2 for 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the product export CSV file does not appear, and there is a memory allocation error.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable-import-export"]},{"id":"MDVA-31168-V2","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the product export CSV file does not appear, and there is a memory allocation error.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable-import-export"]},{"id":"MDVA-32313","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where configurable products could be added to the wishlist with the wrong configuration options.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-wishlist"]},{"id":"MDVA-31759","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where products are not updated with `dropdown` and `textarea` attribute values during CSV import.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"MDVA-32012","replacedWith":"MDVA-33393 for 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where zip codes in Korea and Argentina cannot be validated.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-directory"]},{"id":"MDVA-31640","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where a special price cannot be updated via REST API.","categories":["Web API","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-staging","magento\/module-staging"]},{"id":"MDVA-28651","replacedWith":"MDVA-28651-V2 for 2.4.1-p1, 2.4.1, 2.4.0, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.1-p1","2.4.1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where there are performance problems with loading negotiable quotes via REST API.","categories":["B2B","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote","magento\/module-quote"]},{"id":"MDVA-28651-V2","releases":["2.4.1-p1","2.4.1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where there are performance problems with loading negotiable quotes via REST API.","categories":["B2B","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote","magento\/module-quote"]},{"id":"MC-38509","releases":["2.4.1","2.3.6"],"description":"Fixes the issue where the `Create an Account` button stays disabled after correcting invalid data in the `Create New Customer Account` form.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-31399","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Adds the \"Subtotal (Incl. Tax)\" option to price rule conditions.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-31236","releases":["2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where Magento Admins with custom resource access are not able to set up 2FA or log in.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-two-factor-auth"]},{"id":"MDVA-30845","releases":["2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where the \"Sorry, no quotes are available for this order at this time\" error is displayed when failing to connect to UPS XML\/USPS\/DHL, and no other shipping method is available.","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-dhl","magento\/module-ups","magento\/module-usps"]},{"id":"MDVA-32133","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where media gallery is not loading from Page Builder in certain cases.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MDVA-12304","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Increases the maximum number of cookies from 50 to 200.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-32632","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where orders appear in the payment system, but not in Magento.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-sales-rule"]},{"id":"MDVA-32449","releases":["2.4.1-p1","2.4.1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the order history loads very slowly or does not load at all.","categories":["B2B","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"MDVA-32739","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where enabling Asynchronous Email Notifications sends out old sales emails.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-30858","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with PayPal Settlement reports not being available under Reports > Sales > PayPal Settlement as expected.","categories":["Payments","Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MCP-87","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Improved indexation time for category product and stock indexers for large profiles.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-inventory"]},{"id":"MDVA-33106","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the rescheduled product changes are erased after the cron 'run' command is executed.","categories":["Catalog\/Product","Cron"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"MDVA-19391","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where analytics_collect_data is throwing an error due to NULL description records in the catalog_category_entity_text table.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder-analytics"]},{"id":"MDVA-20376","replacedWith":"MDVA-25785 for 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue with the 'No such entity with customerId = 1' error in the exception.log for logged in customers after order placement.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"MDVA-23764","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the bug in JsFooterPlugin.php that affects the display of dynamic blocks.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-theme","magento\/module-banner"]},{"id":"MDVA-13203","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the 'Integrity constrain violation search_tmp_* table' error appears after a full reindex.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-23426","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where notification emails sent by Magento contain a blank body with content being added as attachment.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-22150","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where customers with a configurable product in cart and a coupon applied, cannot login if that configurable product is disabled in Admin.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"MDVA-32545","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where invoices are not sent out automatically when creating orders from Admin.","categories":["Emails","Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-32714","replacedWith":"MDVA-33975 for 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where customer group price is not working in GraphQL product query.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-customer","magento\/module-customer-graph-ql"]},{"id":"MDVA-31969","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue with duplicated images after product import from a .csv file.","categories":["Import\/Export","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"MDVA-33382","replacedWith":"MDVA-33382-V2 for 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issues with indexers invalidation after products removal from a category.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"MDVA-33382-V2","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issues with indexers invalidation after products removal from a category.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"MDVA-28511","releases":["2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where it is not possible to complete PayPal checkout, if the Name field contains certain characters (like accented capital letters).","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-payment"]},{"id":"MDVA-31519","replacedWith":"MDVA-32632 for 2.3.5-p2, 2.3.5-p1, 2.3.5","releases":["2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue with wait timeouts in guest checkout when a site-wide sales rule is in use.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-33281","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where there is a fatal error in 'inventory:reservation:list-inconsistencies' because of wrong SKU parameter type.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-reservation-cli","magento\/module-inventory-sales","magento\/module-inventory-sales-api","magento\/module-inventory-shipping"]},{"id":"MDVA-24201","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where prices do not reflect the scheduled cart price rule until manually re-indexed.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-indexer"]},{"id":"MDVA-32694","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where an admin user cannot add a product to a negotiable quote, if it is related to a not default store.","categories":["B2B","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"MDVA-33516","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where editing a bundle product in a requisition list leads to an error.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle-requisition-list"]},{"id":"MDVA-33975","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes multiple issues related to price calculation in GraphQL requests.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-catalog-rule-graph-ql","magento\/module-customer","magento\/module-customer-graph-ql","magento\/module-quote-graph-ql","magento\/module-sales-rule","magento\/module-customer-segment"]},{"id":"MDVA-33559","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue of PayPal Payflow Pro payment failing with redirect parameter list format error.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MDVA-34023","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the error \"No such entity with addressId\" displays randomly on visitors' browsers.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-persistent","magento\/module-persistent-history"]},{"id":"MDVA-32759","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where Shared Catalogs are deleting existing tier pricing.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-33482","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where generating a Credit Memo against a partial invoice results in tax for the total order instead of tax for that partial invoice.","categories":["Order\/Checkout","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-33393","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the error \"Provided countryId does not exist\".","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-directory"]},{"id":"MDVA-33632","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Provides a fix where the exception message \"This product is out of stock\" is now displayed to admin user when trying to re-order an out of stock product.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-34469","releases":["2.4.1-p1","2.4.1"],"description":"Fixes the issue where GraphQL mutations on a customer's cart fail when using multiple store views.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql","magento\/module-customer-balance-graph-ql","magento\/module-gift-card-account-graph-ql"]},{"id":"MDVA-33976","releases":["2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the bundle product is shown Out Of Stock on the storefront after removing the second option from the bundle product.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"MDVA-33894","require":{"MDVA-34943":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes multiple issues for Quick Order functionality including adding and removing multiple products and SKU case sensitivity.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-quick-order","magento\/module-advanced-checkout"]},{"id":"MDVA-39923","require":{"MDVA-33894":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where searching by SKU in B2B quick order functionality returns case-sensitive results.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-27664","replacedWith":"MDVA-34192 for 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue in the customer registration form causing an error to display: \"ERROR - The Date of Birth should not be greater than today\".","categories":["Customer"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-customer","magento\/module-ui"]},{"id":"MDVA-34879","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where exporting of big amounts of data failed because of memory leak.","categories":["Performance","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-customer-import-export","magento\/module-eav"]},{"id":"MDVA-33970","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where there is the wrong currency sign in the Credit Memo when the price attribute's scope is set to website.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-33992","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue of B2B special pricing displaying incorrectly during checkout.","categories":["B2B","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"MDVA-34100","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where a company account cannot be created from the company structure page.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-33453","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where Page Builder Products content type preview breaks if matching products have different prices for each website.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-widget","magento\/module-page-builder"]},{"id":"MDVA-32634","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue when url_path of the category assigned to all store remains unchanged after moving the category in the hierarchy.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite"]},{"id":"MDVA-33344","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where hard coded rma_item entity default attribute set ID is used instead of the value from the database.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-rma"]},{"id":"MDVA-34192","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where it is impossible to modify\/specify customer date of birth using dd\/mm\/yyyy format.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-ui","lib\/web","magento\/module-customer"]},{"id":"MDVA-34847","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes store IDs type conversion to integer for SQL condition in Admin collections for Admin User with custom permissions.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws"]},{"id":"MDVA-34886","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where search does not return results if 'weight' product attribute is configured as searchable.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"MDVA-34012","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the \"Use default value\" checkbox gets cleared, after the scheduled changes are applied. The issue appears once the scheduled changes are no longer in effect.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-staging"]},{"id":"MDVA-35064","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where URL rewrites are not generated for configurable products created via API.","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite","magento\/module-store"]},{"id":"MDVA-34943","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where quick order caches the previously entered SKUs.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-quick-order"]},{"id":"MDVA-35197","releases":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where there's an error when adding to cart using GraphQL, if previously added products become out of stock.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"MDVA-34850","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the out-of-stock options of a configurable product are not displayed, instead of being displayed as struck-through.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product"]},{"id":"MDVA-34867","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where values for a condition field set for a scheduled update are not being saved.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule-staging"]},{"id":"MDVA-35092","replacedWith":"MDVA-35092-V2 for 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where users are not able to add Vimeo videos due to deprecated Vimeo API","categories":["Content"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-product-video"]},{"id":"MDVA-35092-V2","releases":["2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where users are not able to add Vimeo videos due to deprecated Vimeo API","categories":["Content"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-product-video"]},{"id":"MDVA-32655","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the incorrect 'in progress' message status to the correct 'complete' message for consumer 'quoteItemCleaner' after deleting several products.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-scalable-checkout"]},{"id":"MDVA-34102","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the quantity of Default Stock is zero for disabled products on the Product Grid and Edit Product pages in the Admin area.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-sales-admin-ui"]},{"id":"MDVA-35286","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where there is an error if a customer has bundled products in the cart and switches from Multiple Addresses checkout to Onepage checkout.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-multishipping"]},{"id":"MDVA-35312","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1"],"description":"Fixes response code 500 when an empty GraphQL request.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-graph-ql"]},{"id":"MDVA-34189","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes 503 first byte timeout on visual merchandiser queries when loading the Admin Category page.","categories":["Performance","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser"]},{"id":"MDVA-34695","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes negative children_count after deleting categories.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-33614","releases":["2.4.0-p1"],"description":"Fixes the issue where Page Builder throws the following error: 'An error has occurred while initiating Page Builder. Please consult with your technical support contact.'","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder","magento\/module-page-builder-admin-analytics"]},{"id":"MDVA-35356","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with incorrect store credit return after partially invoiced order cancellation.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-balance"]},{"id":"MDVA-33289","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where raw JavaScript code is displayed in the billing address UI during checkout if Google Tag Manager is enabled.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-purchase-order"]},{"id":"MDVA-35982","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where admin users restricted to a specific website cannot create a shipment for the order placed on same website.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws"]},{"id":"MDVA-35155","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where is impossible to buy a bundle product, if the option title was changed.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle-import-export"]},{"id":"MDVA-35910","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where it is impossible to create a new customer account after disabling the Login as Customer functionality.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-login-as-customer-assistance"]},{"id":"MDVA-34474","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with adding a product to the requisition list using API.","categories":["B2B","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list"]},{"id":"MDVA-34591","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with an incorrect cart rule discount calculation for 'Maximum Qty Discount is Applied To\" and \"Discount Qty Step (Buy X)'.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-33704","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the 'In store pickup' shipping option doesn't show up, though being configured to be available.","categories":["Order\/Checkout","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-inventory-in-store-pickup-frontend"]},{"id":"MDVA-34928","releases":["2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where the page loader is displayed indefinitely after the store credit is removed from the payment.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-35254","replacedWith":"MDVA-35254-V2 for 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issues with CAPTCHA during checkout.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-captcha"]},{"id":"MDVA-35254-V2","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issues with CAPTCHA during checkout.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-captcha"]},{"id":"MDVA-35569","require":{"MDVA-34469":["2.4.1-p1","2.4.1"]},"releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where the 'fixed product taxes' field is not being populated in GraphQL response when state is specified.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql","magento\/module-weee-graph-ql"]},{"id":"MDVA-35847","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the B2B issue where the Company Users form breaks if a custom customer attribute is used.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-31307","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where there are Out of memory errors on certain categories due to problems with dynamic CSP whitelisting for cached blocks.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-csp"]},{"id":"MDVA-36170","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"This fixes the issue where the GraphqQL query is not caching by using the category cache tag.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-33168","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue when updating a product attribute via API all other attributes change to an empty value.","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-19640","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where Advanced Reporting is not showing any data.","requirements":"The following SQL query has to be applied to update records in the cron_schedule table: UPDATE core_config_data SET path = REPLACE(path, \"crontab\/default\/jobs\/analytics\", \"crontab\/analytics\/jobs\/analytics\") WHERE path LIKE \"crontab\/default\/jobs\/analytics%\";","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-analytics"]},{"id":"MDVA-11189","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue when after importing a .csv file to update product stock, rows from the cataloginventory_stock table are deleted. ","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory"]},{"id":"MDVA-26639","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2"],"description":"Fixes the issue where if a new order confirmation email template is created, the order items are missing in the order mail.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-sales","magento\/theme-frontend-luma"]},{"id":"MDVA-15546","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"This fixes the issue where after creating an order a \"Column 'entity_id' where clause is ambiguous\" error displays in the exception log.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout-staging"]},{"id":"MDVA-21095","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue when a query INSERT INTO search_tmp will not end after mass attribute value update.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search"]},{"id":"MDVA-23845","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2"],"description":"Fixes the issue where email templates cannot be previewed after JavaScript minification is enabled.","categories":["Emails","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-email"]},{"id":"MDVA-22026","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where importing products from .csv file including images from external URLs fails.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"MDVA-22383","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where saving a product takes a long time and the page breaks.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"MC-41359","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.3.6-p1"],"description":"Fixes the issue with missed SameSite cookie parameters settings.","categories":["Other"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-cookie","magento\/module-page-cache"]},{"id":"MDVA-34665","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue with missing bundled products on category pages.","categories":["Catalog\/Product","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-elasticsearch","magento\/module-customer-segment","magento\/module-inventory-cache","magento\/module-inventory-catalog","magento\/module-inventory-indexer","magento\/module-inventory-catalog-api"]},{"id":"MDVA-36615","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with incorrect product count in admin product grid.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-sales","magento\/module-sales-rule"]},{"id":"MDVA-36464","replacedWith":"MDVA-36464-V3 for 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","releases":["2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the email notification configuration is not working at store-view level.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-36464-V3","replacedWith":"MDVA-36464-V4 for 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the email notification configuration is not working at store-view level.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-sales"]},{"id":"MDVA-36464-V4","replacedWith":"MDVA-36464-V5 for 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the email notification configuration is not working at store-view level.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-sales","magento\/module-purchase-order"]},{"id":"MDVA-36464-V5","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the email notification configuration is not working at store-view level.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-sales","magento\/module-purchase-order"]},{"id":"MDVA-36138","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where the shipping price is not adjusted and full shipping price is shown to customers if not all items in the cart qualify for the free shipping cart rule.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote","magento\/module-shipping"]},{"id":"MDVA-36424","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where media images, attached to page builder elements, disappear when the content is being edited repeatedly, if the backend base URL is different from the storefront base URL.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MDVA-35984","require":{"MDVA-30428":["2.3.5-p2","2.3.5-p1","2.3.5"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue with incorrect product quantity and sellable quantity, after creating multiple concurrent shipments for the same product.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory","magento\/module-inventory-catalog","magento\/module-inventory-indexer","magento\/module-inventory-source-deduction-api"]},{"id":"MDVA-25785","releases":["2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with the 'No such entity with customerId = 1' error in the exception.log for logged in customers after order placement.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"MDVA-36718","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the old custom options remain after being changed via API.","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-35773","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue with the Grand Total not being shown as zero on the Invoice for orders with 100% discount.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-36833","replacedWith":"MDVA-36833-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with search results showing random numbers of products per page after excluding some products from shared catalog.","categories":["B2B","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-indexer","magento\/module-shared-catalog"]},{"id":"MDVA-36833-V2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with search results showing random numbers of products per page after excluding some products from shared catalog.","categories":["B2B","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-indexer","magento\/module-shared-catalog"]},{"id":"MDVA-37182","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue with getting incorrect search results in both Elasticsearch version 6 and version 7.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"MDVA-36253","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the wrong subtotal shows in the mini cart after item deletion.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-multishipping","magento\/module-tax"]},{"id":"MDVA-36853","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with no images appear when loading large media galleries.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-cms"]},{"id":"MDVA-37478","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where Magento throws error when creating a partial invoice for order placed with payment method 'Payment on Account' through REST API.","categories":["Order\/Checkout","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-company-credit"]},{"id":"MDVA-37362","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where configurable product option values and variant attribute values were empty in GraphQL response.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product"]},{"id":"MDVA-37288","replacedWith":"MDVA-37288-V2 for 2.4.2","releases":["2.4.2"],"description":"Fixes the issue where wrong tier prices were returned after GraphQL request.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-customer-graph-ql"]},{"id":"MDVA-37288-V2","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where wrong tier prices were returned after GraphQL request.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-customer-graph-ql","magento\/module-quote"]},{"id":"MDVA-37225","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the upload process is stuck during quick order creation when there is an integer value in imported SKUs.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-checkout"]},{"id":"MDVA-37224","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where customers cannot pay for negotiable quote with PayFlow Pro, with another product in the cart.","categories":["B2B","Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal","app\/code","magento\/module-negotiable-quote"]},{"id":"MDVA-36286","require":{"MDVA-33453":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where Page Builder products widget preview breaks if the same SKU has a different position in subcategories.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MDVA-30186","require":{"MDVA-30123":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where attribute options are sorted by option value instead of attribute item count, in GraphQL response.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-visual-merchandiser"]},{"id":"MDVA-37779","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with adding a configurable product to cart via GraphQL when website ID does not coincide with store ID.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql"]},{"id":"MDVA-36832","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where images duplicate on pages when view width is 768px.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MDVA-37874","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where 'Fixed discount amount for whole cart' is incorrectly applied to a bundle product containing more than one option.","categories":["Price\/Tax","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-37913","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where downloadable links disappear if the downloadable product gets updated via API.","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable"]},{"id":"MDVA-34330","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where orders in the Orders grid are not filtered according to admin timezone.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-37916","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where the customer is not taken to the Payment Confirmation page when using Paypal Payment Advanced method.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MDVA-37082","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue when saving the custom stock of grouped products causes the product to show out of stock in the frontend.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-grouped-product-indexer"]},{"id":"MDVA-36572","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"replacedWith":"MDVA-36572 for 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5. Use ACSD-46541 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","description":"Fixes the issue when Credit Memo updates no longer cause duplicate product reservation updates in the database.","categories":["Inventory","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-sales"]},{"id":"MDVA-38132","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue when the Admin panel is unreachable due to a \"too many redirects\" error.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-backend"]},{"id":"MDVA-38270","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue with missing Gift card information in the order total in GraphQL.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-graph-ql","magento\/module-gift-card-account-graph-ql"]},{"id":"MDVA-38468","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the error when saving CMS pages - Item with the same ID 'PAGE_ID' already exists.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-store","magento\/module-versions-cms"]},{"id":"MDVA-34680","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where Customer Account created time is not filtered correctly in customers grid.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-37068","replacedWith":"MDVA-37068-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the incorrect tax rate displays when the shopping cart has only virtual products.","categories":["Shopping Cart","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-tax"]},{"id":"MDVA-37068-V2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the incorrect tax rate displays when the shopping cart has only virtual products.","categories":["Shopping Cart","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-quote","magento\/module-tax"]},{"id":"MDVA-38608","replacedWith":"MDVA-38608-V2 for 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where temporary tables are not deleted when the reindex is not finished successfully.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"MDVA-38608-V2","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where temporary tables are not deleted when the reindex is not finished successfully.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"MDVA-38308","require":{"MDVA-35092-V2":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"]},"releases":["2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issues related to adding Vimeo videos to products.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-38799","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where downloadable products weren't saved after creating a staging update.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable","magento\/module-downloadable-staging"]},{"id":"MDVA-37592","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue when sorting by price doesn't work correctly for products with a zero price assigned to shared catalog.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-elasticsearch"]},{"id":"MDVA-38827","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2"],"description":"Fixes the issue where customers receive an order shipment email containing an error message.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-36021","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the 'Call to a member function getId()' error is displayed on the order details page in the Admin.","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-34948","releases":["2.4.0-p1","2.4.0","2.3.6-p1","2.3.6"],"description":"Fixes the issue with\u00a0long-running queries, like GET_LOCK.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-message-queue"]},{"id":"MDVA-39305","replacedWith":"MDVA-39305-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where registered customers aren't able to log in with enabled Google ReCaptcha.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-version-2-checkbox","magento\/module-re-captcha-version-2-invisible","magento\/module-re-captcha-version-3-invisible","magento\/module-re-captcha-customer","magento\/module-re-captcha-frontend-ui","magento\/module-customer","magento\/module-customer-custom-attributes"]},{"id":"MDVA-39305-V2","deprecated":true,"replacedWith":"MDVA-39305-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1. Use MDVA-39305-V3 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1"],"description":"Fixes the issue where a form can be submitted before Google ReCAPTCHA fully loads.","categories":["Customer","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-contact","magento\/module-re-captcha-customer","magento\/module-re-captcha-frontend-ui","magento\/module-re-captcha-newsletter","magento\/module-re-captcha-review","magento\/module-re-captcha-send-friend","magento\/module-re-captcha-ui","magento\/module-contact","magento\/module-customer","magento\/module-newsletter","magento\/module-review","magento\/module-send-friend","magento\/framework","magento\/module-customer-custom-attributes","magento\/module-invitation"]},{"id":"MDVA-39305-V3","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1"],"description":"Fixes the issue where a form can be submitted before Google ReCAPTCHA fully loads. Also fixes the error \"Call to a member function isDisabled() on null\" when blocks are used in non-default locations on a CMS page.","categories":["Customer","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-customer","magento\/module-re-captcha-frontend-ui","magento\/module-re-captcha-contact","magento\/module-re-captcha-newsletter","magento\/module-re-captcha-review","magento\/module-re-captcha-send-friend","magento\/module-re-captcha-ui","magento\/module-customer","magento\/framework","magento\/module-contact","magento\/module-newsletter","magento\/module-review","magento\/module-send-friend","magento\/module-customer-custom-attributes","magento\/module-invitation"]},{"id":"MDVA-37897","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with an incorrect redirect when a customer tries to add products with options from the Recently Viewed widget.","categories":["Catalog\/Product","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-38929","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the invoice with FPT shows a wrong Grand Total when the order is paid from the store credit.","categories":["Order\/Checkout","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-balance"]},{"id":"MDVA-37364","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the custom customer attribute of date type breaks the customer's grid UI.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-ui"]},{"id":"MDVA-39195","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where 'Add to Cart' button was inactive on the category page when redirect to cart enabled.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-37115","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where an unnecessary \"Only 0 left\" notice is shown on the configurable product page.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product-frontend-ui"]},{"id":"MDVA-39521","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the user is not able to set shipping addresses on the cart with an empty telephone number via GraphQL.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-quote-graph-ql"]},{"id":"MDVA-39384","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the custom customer attribute for a company user is not saved.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-39043","releases":["2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where the admin user with limited access gets an error when trying to add the 'Products' widget to the CMS page.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MDVA-39966","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with deploying incorrect locales.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-deploy","setup\/src"]},{"id":"MDVA-38852","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the catalog inventory by design locks tables for updates that significantly decrease performance in cases with several parallel orders.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-customer","magento\/module-eav","magento\/module-customer-custom-attributes"]},{"id":"MDVA-39986","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the user is not able to place an order in the Admin on MacOS using the Safari browser.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-38447","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes two issues; where the 'Not visible individually' configurable child products are returned in GraphQL response and optimize MySQL query for GraphQL products query with category filter.","categories":["Performance","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-40134","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the GraphQL does not return related products when the Shared Catalog is enabled.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-permissions-graph-ql"]},{"id":"MDVA-39935","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the GraphQL returns configurable child products disabled at the website level.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql"]},{"id":"MDVA-40262","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where GraphQL search queries are not shown in popular search terms in the admin.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-40601","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where users get an error when trying to get information about category changed by scheduled update through GraphQL.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-37234","require":{"MDVA-35197":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"MDVA-34469":["2.4.1-p1","2.4.1"]},"releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where adding an item to the cart multiple times (parallel request) for the same SKU creates a duplicate line item for the same cart ID.","categories":["Shopping Cart","Order\/Checkout","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql","magento\/module-quote"]},{"id":"MDVA-33606","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where users get a \u201cUnique constraint violation\u201d error when saving a CMS page assigned to a hierarchy.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-versions-cms"]},{"id":"MDVA-31590","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where users are not able to update attributes in bulk using MySQL async queues.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-asynchronous-operations"]},{"id":"MDVA-36309","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"require":{"MDVA-31343":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"]},"description":"Fixes the issue where product search by attributes is slow in the admin grids.","categories":["Admin","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search","magento\/module-catalog-staging"]},{"id":"MDVA-40399","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where partial invoices for the same order can not be created simultaneously via REST API.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-40101","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where items are not removed from the mini cart after a successful order placement using PayPal Express Checkout.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal","magento\/module-quote"]},{"id":"MDVA-40401","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where coupon usage value changes even if placing an order fails.","categories":["Shopping Cart","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-40537","releases":["2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where users get an error when creating a store view, if several CMS pages with the same URL key exist.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-cms-url-rewrite"]},{"id":"MDVA-37725","deprecated":true,"releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where asynchronous order emails sent from non-default websites contain logo URLs from the default website.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-email"]},{"id":"MDVA-39482","replacedWith":"MDVA-40747 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where a product goes out of stock if imported with \"0\" quantity when backorders enabled.","categories":["Import\/Export","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"MDVA-40747","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where a product goes out of stock if imported with \"0\" quantity when backorders enabled.","categories":["Import\/Export","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export","magento\/module-inventory-import-export"]},{"id":"MDVA-40435","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue with an incorrect discount on bundle products with dynamic prices when applied via GraphQL.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MC-42528","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the `categoryList` GraphQL query returns both assigned and unassigned categories.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-catalog-permissions","magento\/module-catalog-permissions-graph-ql","magento\/module-catalog-staging-graph-ql"]},{"id":"MDVA-29400","releases":["2.4.0-p1","2.4.0","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with duplicated orders placed with PayPal Express Checkout.","categories":["Order\/Checkout","Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MDVA-26005","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where it is impossible to select a category in a category tree for Cart Price rule conditions.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-25631","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Improves performance for editing and saving customer segments that contain large number of customers.","categories":["Performance","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-segment"]},{"id":"MDVA-41236","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where it is impossible to create a new or an edit existing scheduled update for a product, if the End Date has been previously removed.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"MDVA-41046","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where simple products with custom options are available for assigning to configurable\/grouped products.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-grouped-product"]},{"id":"MDVA-40545","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue when in case of multiple nodes having the CSM page assigned, on the store front the links and breadcrumbs for the first node only will be displayed in all cases.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-versions-cms"]},{"id":"MDVA-41164","releases":["2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where an admin user is not able to save or edit a Company with a file or image type custom customer attribute.","categories":["B2B","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-company"]},{"id":"MDVA-39229","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue which causes the following error to appear after updating Catalog rule Staging Update start time: \"Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted.\"","categories":["Cron"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"MDVA-40619","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the CMS pages hierarchy changes cause issues in CMS page inline edit and result in 500 error.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-versions-cms"]},{"id":"MDVA-41061","replacedWith":"MDVA-41061-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where stock status resets to salable when a product is saved from Admin.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-inventory-catalog","magento\/module-inventory-configurable-product","magento\/module-inventory-configuration","magento\/module-inventory-indexer","magento\/module-inventory-sales"]},{"id":"MDVA-41061-V2","replacedWith":"MDVA-41061-V3 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where stock status resets to salable when a product is saved from Admin.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-inventory-catalog","magento\/module-inventory-configurable-product","magento\/module-inventory-configuration","magento\/module-inventory-indexer","magento\/module-inventory-sales"]},{"id":"MDVA-41061-V3","replacedWith":"MDVA-41061-V4 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where stock status resets to salable when a product is saved from Admin.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-inventory-catalog","magento\/module-inventory-configurable-product","magento\/module-inventory-configuration","magento\/module-inventory-indexer","magento\/module-inventory-sales"]},{"id":"MDVA-41061-V4","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where stock status resets to salable when a product is saved from Admin.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-inventory","magento\/module-configurable-import-export","magento\/module-configurable-product","magento\/module-inventory-catalog","magento\/module-inventory-configurable-product","magento\/module-inventory-configuration","magento\/module-inventory-indexer","magento\/module-inventory-sales"]},{"id":"MDVA-31763","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where catalog price rules are reverted (or not applied) until manual reindex.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule-configurable"]},{"id":"MDVA-37748","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a GraphQL query returns products not assigned to a shared catalog.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["app\/code","magento\/module-catalog-permissions-graph-ql","magento\/module-customer-segment","magento\/module-shared-catalog-graph-ql"]},{"id":"MDVA-40550","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue with missing products on the frontend during reindexing.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog","magento\/module-indexer"]},{"id":"MDVA-40120","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where GraphQL sorting by DESC\/ASC doesn't work with products having the same relevance or price.","categories":["Catalog\/Product","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-41399","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where admin users are unable to access the \"Manage Shopping Cart\" page if a customer adds a product to the wishlist.","categories":["Customer","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-wishlist"]},{"id":"MDVA-40609","require":{"MDVA-34665":["2.4.2-p2","2.4.2-p1","2.4.2"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where disabled products data is absent in the `cataloginventory_stock_status` index table, displaying incorrect disabled product quantities.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog","magento\/module-inventory-indexer"]},{"id":"MDVA-39031","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where adding a product to the cart via GraphQL is possible even if it is not assigned to the target website.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote","magento\/module-quote-graph-ql"]},{"id":"MDVA-41597","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where users get an error when adding more than one configurable product to the cart using GraphQL.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql"]},{"id":"MDVA-27456","releases":["2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where users get an error when trying to load Swagger.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["dotmailer\/dotmailer-magento2-extension"]},{"id":"MDVA-32776","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where stock status is not updated when an order is placed but not shipped.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-indexer"]},{"id":"MDVA-30862","replacedWith":"MDVA-30862 for 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6. Use MDVA-31343 for 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4","releases":["2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue with incorrect order date on the printed PDF invoice.","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-39711","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where admin users cannot access the customers grid after deleting website.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-40311","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2"],"description":"Fixes the issue where admin users get the error message \"Invalid security or form key. Please refresh the page\" after login to the admin if custom admin path is configured and secret key is enabled.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-backend"]},{"id":"MDVA-41631","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where users get an error when trying to retrieve order information without an optional \"telephone\" value through GraphQL.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-graph-ql"]},{"id":"MDVA-27239","releases":["2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where cross-sell products are not displayed.","categories":["Shopping Cart","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-target-rule"]},{"id":"MDVA-41215","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where users get the 500 error after setting the \"mage-messages\" cookie, if it already exists but there are no new messages.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-theme"]},{"id":"MDVA-41139","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where configurable products become Out of Stock after product import, when a simple's product qty=0 for one of its sources.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-import-export"]},{"id":"MDVA-42326","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where customers get an error on checkout after a session timeout even if persistent shopping cart is enabled.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-persistent"]},{"id":"MDVA-42341","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the \u201ccategoryList\u201d GraphQL query does not filter results if a request has the Store header.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"MDVA-38393","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where Catalog rules stop working for a configurable product if its simple product is re-named.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule-configurable"]},{"id":"MDVA-39153","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a discount amount is calculated incorrectly during reorder in the Admin.","categories":["Shopping Cart","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-sales-rule"]},{"id":"MDVA-38346","require":{"MDVA-36615":["2.4.2-p2","2.4.2-p1","2.4.2"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where date filters are not working properly when the Magento timezone is different from the local environment timezone.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-cms","magento\/module-sales"]},{"id":"MDVA-42657","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the admin user is unable to select categories in the customer segment conditions.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-segment"]},{"id":"MDVA-42806","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a \u201cNew company registration\u201d email is sent each time an existing company is updated via REST API.","categories":["B2B","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MDVA-37984","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where visual merchandiser \u201cMatch product by rule\u201d functionality does not correctly filter products with staging updates.","categories":["Admin","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser"]},{"id":"MDVA-40488","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"require":{"MDVA-41061-V4":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"]},"description":"Fixes the issue where configurable products with out-of-stock child products are not shown in their correct price range.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-inventory-configurable-product"]},{"id":"MDVA-42507","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the full-page cache is cleaned after applying staging update for the cart rule.","categories":["Performance","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"MDVA-39163","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where shipping methods are not available when a new user is registered, and products in the cart are from the guest session.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"MDVA-38626","require":{"MDVA-37224":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where the admin user is not able to place an order on the backend using the PayPal Payflow Pro payment.","categories":["Admin","Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MDVA-38666","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where the admin user is not able to change the configurable product options in the customer\u2019s cart.","categories":["Admin","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-customer","magento\/module-quote"]},{"id":"MDVA-38526","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the admin user is not able to access the SWAT tool.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-swat"]},{"id":"MDVA-38728","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Fixes the issue where mass attribute update creates URL rewrite for Default Store only after changing \"Product visibility\".","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite"]},{"id":"MDVA-43091","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where ordering a bundle product from admin in the backend gives the error \"You cannot use decimal quantity for this product\".","categories":["Admin","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory"]},{"id":"MDVA-40816","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where inventory data doesn\u2019t show on the product grid when the product\u2019s SKU contains special characters.","categories":["Admin","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog-admin-ui","magento\/module-inventory-sales-admin-ui"]},{"id":"MDVA-41305","replacedWith":"MDVA-41305-V2 for 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where GraphQL mutation doesn\u2019t return configurable product options after adding it to the wishlist.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql","magento\/module-wishlist-graph-ql"]},{"id":"MDVA-41305-V2","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where GraphQL mutation doesn\u2019t return configurable product options after adding it to the wishlist.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql","magento\/module-wishlist-graph-ql","magento\/module-catalog","magento\/module-quote-graph-ql"]},{"id":"MDVA-39181","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where related product rules show products from categories not defined in the rule conditions.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"MDVA-42584","replacedWith":"MDVA-41061-V4 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","require":{"MDVA-40488":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"]},"releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where configurable stock status in the backend is not updated after changing qty and stock status via Import or API.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product","magento\/module-configurable-import-export","magento\/module-configurable-product"]},{"id":"MDVA-40175","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where \"Click to change shipping method\" doesn\u2019t show radio buttons to select shipping methods in admin during reorder.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-42768","deprecated":true,"releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"replacedWith":"MDVA-42768 for 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4. Use MDVA-42768-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","description":"Fixes the issue where Configurable product displays regular price as 0 when \"Display Out-of-Stock\" is Yes.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product"]},{"id":"MDVA-42768-V2","require":{"MDVA-40488":["2.4.2-p2","2.4.2-p1","2.4.2"],"MDVA-43862":["2.4.2-p2","2.4.2-p1","2.4.2"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where Configurable product displays regular price as 0 when \"Display Out-of-Stock\" is Yes.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-configurable-product","magento\/module-configurable-product-graph-ql","magento\/module-inventory-catalog"]},{"id":"MDVA-43201","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where an error occurs in customer login when using DOB attribute with certain locales.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-42790","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where product price attributes cannot be updated for a specific website via REST API.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-41350","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where an exception is thrown when an admin user with restricted access adds a product outside their role scope by SKU in an order.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-checkout"]},{"id":"MDVA-42269","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.3.7-p4","2.3.7-p3"],"description":"Fixes the issue where an admin user cannot log in to Admin due to the \"TypeError: strtotime() expects parameter 1 to be string, null given\" error.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-security"]},{"id":"MDVA-40830","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the store credit is applied multiple times during order placement.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-balance"]},{"id":"MDVA-42237","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a configurable product special price is not updated after changes in its subproduct price.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-42520","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the tax rate is applied twice if \"Enable Cross Border Trade\" is used.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"MDVA-39713","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the user is able to edit the start time for an active scheduled update.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule-staging","magento\/module-sales-rule-staging","magento\/module-staging"]},{"id":"MDVA-42410","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where coupon reports display only default base currency.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-reports"]},{"id":"MDVA-41136","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the expiration date of the \"mage-cache-sessid\" is not extended, resulting in customer data cleanup.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-39993","replacedWith":"MDVA-39993-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"require":{"MDVA-41061-V4":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"MDVA-40488":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"]},"description":"Fixes the issue where inventory changes done through API do not reflect on the product page on the frontend.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"MDVA-39993-V2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"require":{"MDVA-41061-V4":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"MDVA-40488":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"]},"description":"Fixes the issue where inventory changes done through API do not reflect on the product page on the frontend.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"MDVA-42855","replacedWith":"MDVA-42855-V2 for 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where new customer address is not saved to address book during checkout.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout-staging"]},{"id":"MDVA-42855-V2","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where new customer address is not saved to address book during checkout.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-quote","magento\/module-checkout-staging","magento\/module-async-order"]},{"id":"MDVA-42645","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where admin cannot refund reward points if store credit functionality is disabled.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-balance","magento\/module-reward"]},{"id":"MDVA-43414","releases":["2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the PHP fatal error that occurs when running the \"inventory.reservations.updateSalabilityStatus\" queue consumer on numerical SKUs.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-indexer"]},{"id":"MDVA-41628","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where existing restricted admin users get access to the new resources when new modules are added.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-authorization"]},{"id":"MDVA-43348","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where gift card GraphQL request shows an error if gift_card_options contain \"uid\".","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card-graph-ql"]},{"id":"MDVA-39546","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the start date for staging update could be set to an earlier date than the current date during editing.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"MDVA-42950","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where videos don't play on the product page.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-product-video"]},{"id":"MDVA-42689","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where Adobe Commerce throws an Integrity Constraint Violation error while updating product categories during import.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite"]},{"id":"MDVA-41229","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where images available on the backend do not display on the frontend after configurable products import.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-swatches"]},{"id":"MDVA-43731","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where \"Search Synonyms\" no longer work when value is added in \"Minimum Terms to Match\".","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch","magento\/module-search"]},{"id":"MDVA-43232","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where sorting products in visual merchandiser by Special Price To Bottom\/Top causes an error while saving category.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser"]},{"id":"MDVA-43726","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where Catalog price rule based on store-level attribute match fails to apply after partial reindex.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"MDVA-42969","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the Related Product Rule works only when Customer Segment is set to All.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-segment","magento\/module-target-rule"]},{"id":"MDVA-39605","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where Redis cache TTL (expiration date) has a wrong value.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"MDVA-43862","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where the customer can\u2019t update cart items because of a GraphQL UpdateCartItems mutation error.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql"]},{"id":"MDVA-43824","releases":["2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue where an error appears on canceling orders with a discount.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"MDVA-43451","replacedWith":"MDVA-43451 for 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10. Use ACSD-57570 for 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the error \u201cThe store that was requested wasn\u2019t found. Verify the store and try again.\u201d appears while configuring a shared catalog for a specific website.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-43491","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Fixes the issue where the base image label doesn\u2019t update when importing products for a multi-store website.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"MDVA-43601","require":{"MDVA-38608-V2":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue with missing triggers after full reindex.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"MDVA-42046","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where an incorrect value is assigned to a product attribute with a date input field while updating a product.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-staging"]},{"id":"MDVA-43935","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where Upsell product is shown twice.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"MDVA-44188","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where system issued emails with \u201c.-\u201c in addresses are not sent.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-42283","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where the date-time format in the admin order grid for the French locale is invalid.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"MDVA-43983","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where products 'Not Visible Individually' still appear in Catalog Advanced Search Results.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search"]},{"id":"MDVA-44100","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where all FPTs are assigned to the last product in the shopping cart and reset for other products.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-weee"]},{"id":"MDVA-43605","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where order data returns negative values for row totals when using Rest API.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-43102","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the salable quantity is not updated correctly when a refund was done via REST API.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-inventory"]},{"id":"MDVA-43178","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2"],"description":"Fixes the issue where a customer token for a custom store cannot be retrieved in GraphQL.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-login-as-customer-graph-ql"]},{"id":"MDVA-43859","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the error \"No such entity with customerId =\" is logged when a deleted customer tries to log in.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-44147","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a GraphQL request doesn't return Requisition Lists.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list-graph-ql"]},{"id":"MDVA-44505","require":{"MDVA-40830":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"]},"releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issues where GraphQL Applying Reward Points does not update Grand Total and where store credit is applied multiple times during the order placement.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-reward-graph-ql"]},{"id":"MDVA-40961","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where an additional item can't be added to the cart when the minimum qty of the item is already in the cart.","categories":["Inventory","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","magento\/module-catalog-inventory","magento\/module-wishlist","magento\/module-bundle-requisition-list"]},{"id":"MDVA-44887","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the \"Uncaught SyntaxError: Unexpected token 'const'\" error in the Admin panel.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"MDVA-43718","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes \"The consumer isn't authorized to access %resources.\" error that appears when accessing a shared catalog from a custom integration.","categories":["Web API","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"MDVA-44660","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1"],"description":"Fixes the issue where the grave accent character [ ` ] could not be used for a customer's first and last name.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"MDVA-40896","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the \"Error: TypeError: Argument 3 passed to Magento\" error in async product bulk API.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-webapi-rest"]},{"id":"MDVA-38559","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the \/V1\/customers\/search API error for customers with more than one subscription.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-newsletter"]},{"id":"MDVA-44533","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the discount is wrongly applied to a bundle child product.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"AC-3022","deprecated":true,"releases":["2.4.4-p1","2.4.4","2.4.3-p2","2.4.3","2.4.2","2.4.1","2.4.0","2.3.7-p4","2.3.7"],"description":"Fixes the issue where DHL is not working after DHL scheme 6.0 is deprecated, update to DHL scheme to 6.2","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-dhl"]},{"id":"MDVA-44703","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where order totals in the Orders report are miscalculated for the restricted admin user.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-reports","magento\/module-admin-gws"]},{"id":"MDVA-44940","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the SQL error that occurs while saving the category from admin.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser","magento\/module-inventory-visual-merchandiser"]},{"id":"MDVA-44562","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the non-default store id for quote items is overridden by the default store id, despite the GraphQL request originating from the non-default store view.","categories":["Shopping Cart","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"MDVA-43167","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where admin order grid mass action doesn't apply for multi-page when admin user selects all orders.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MDVA-44044","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where a product is not displayed on the category page after it is assigned to a new website.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MDVA-42509","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Fixes the issue where a CSV could not be uploaded for a quick order resulting in an 'Unable to send the cookie' error.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-google-tag-manager"]},{"id":"ACSD-45241","require":{"MDVA-36572":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"]},"releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"replacedWith":"ACSD-45241 for 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5. Use ACSD-46541 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","description":"Fixes the issue where stock quantity for a virtual product is miscalculated after creating a credit memo.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-sales"]},{"id":"ACSD-43887","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where incorrect details are displayed on the checkout payment page when Purchase Orders for companies are enabled.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-purchase-order"]},{"id":"MDVA-42807","replacedWith":"MDVA-42807-V2 for 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1","releases":["2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the custom currency sign is not displayed on the store front.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-currency-symbol"]},{"id":"MDVA-42807-V2","releases":["2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where the custom currency sign is not displayed on the store front.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-currency-symbol","magento\/module-directory"]},{"id":"ACSD-45143","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the setShippingAddressesOnCart mutation doesn't allow setting numeric region code as 'region'.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-quote-graph-ql"]},{"id":"ACSD-44591","replacedWith":"ACSD-50345 for 2.4.5, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3","releases":["2.4.5","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the error that occurs when an order is placed without CAPTCHA confirmation.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-checkout","magento\/module-re-captcha-webapi-ui"]},{"id":"ACSD-50345","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where Recaptcha V2 does not reload after submitting a failed payment.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-checkout","magento\/module-re-captcha-webapi-ui"]},{"id":"ACSD-45520","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where swatch options are not pre-selected on the product detail page when a user edits configurable products from the shopping cart.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-swatches"]},{"id":"ACSD-45169","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where Visual Merchandiser doesn't display the correct stock and price for a configurable product after a staging update is applied.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-visual-merchandiser"]},{"id":"ACSD-45424","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where an incorrect reservation compensation is created after a partial refund (credit memo).","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-source-selection-api"]},{"id":"ACSD-45817","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a GraphQL product mutation for a specific store returns all configurable variants, including those not assigned to the requested store.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-configurable-product-graph-ql"]},{"id":"ACSD-46146","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fixes the issue where two order confirmation emails are sent after placing an order from Admin.","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-45255","require":{"MDVA-44703":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes an exception on the Low Stock Report page for a restricted admin user.","categories":["Admin","Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws","magento\/module-inventory-low-quantity-notification"]},{"id":"ACSD-45488","require":{"MDVA-41061-V4":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a configurable product with multiple sources is not returned to In Stock automatically.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product"]},{"id":"ACSD-45754","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Fixes the issue where Reward points are not added after applying a coupon to the cart.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"ACSD-45849","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where video metadata is lost after a staging update is applied.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-eav","magento\/module-catalog-staging","magento\/module-staging"]},{"id":"ACSD-45257","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fixes the issue where GraphQL doesn't display a cart discount correctly.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-44938","require":{"MDVA-39521":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where VAT_ID cannot be applied in a GraphQL request for a guest user.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-46213","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where category tree request is limited to 20 categories.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-45781","releases":["2.4.1-p1","2.4.1"],"description":"Fixes the issue where the store front search field is not displayed on mobile.","categories":["Catalog\/Product","Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-search"]},{"id":"ACSD-46192","deprecated":true,"releases":["2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6"],"description":"Fixes the issue with using the async\/bulk\/V1\/configurable-products\/bySku\/options endpoint.","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-webapi-async"]},{"id":"ACSD-46404","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where an admin user cannot log in after upgrading to 2.4.4.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"AC-3023","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Update DHL scheme to latest version 10.0","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-dhl","magento\/module-shipping"]},{"id":"ACSD-46520","require":{"MDVA-42645":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a user gets an incorrect order status when refunded using the store credit.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-balance"]},{"id":"ACSD-46703","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue when it is not possible to drag and drop custom options on a product edit page.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-ui"]},{"id":"ACSD-44851","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a category with subcategories is unable to open or expand.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"ACSD-46815","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a static content deployment fails after upgrading to Adobe Commerce 2.4.5 using the compact or quick strategy.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-deploy"]},{"id":"ACSD-45675","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the product export uses category names from the Default Store View scope.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-46869","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a configurable product in a cart is not updated via a PUT REST API request without changing the product quantity","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-46809","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the user gets an error when assigning a large number of product sources.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-ui"]},{"id":"ACSD-46856","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Improves performance when updating tier prices via System > Configuration > Import > Advanced Pricing.","categories":["Performance","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-pricing-import-export"]},{"id":"ACSD-46541","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where an admin user cannot create a credit memo if an order item is deleted.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-sales","magento\/module-inventory-sales-admin-ui"]},{"id":"ACSD-46581","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the estimated tax total is not updated after selecting a country in the shopping cart.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-tax"]},{"id":"ACSD-46618","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the product list widget shows incorrect cached prices for a logged-in customer.","categories":["Price\/Tax","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-widget"]},{"id":"ACSD-46674","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where custom options of an image type are displayed as HTML in customer emails.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-46988","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the GraphQL 'currency' API Request returns NULL values for a custom currency.","requirements":"Add dependency after applying the patch - composer require symfony\/intl:\"~5.4.11\"","categories":["GraphQL","Admin"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-bundle","magento\/module-configurable-product","magento\/module-quote","magento\/module-reports","magento\/module-sales"]},{"id":"ACSD-47076","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixed the issue where Venmo videos cannot be played on the Storefront.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-product-video","magento\/module-theme"]},{"id":"ACSD-45071","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"require":{"MDVA-41139":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"description":"Fixes the issue where the default source is added to the product during import.","categories":["Import\/Export","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export","magento\/module-inventory-import-export"]},{"id":"ACSD-47444","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the \"Trying to access array offset on value of type bool\" error when accessing certain non-existing category paths for known products on PHP 7.4.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite"]},{"id":"ACSD-47332","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where cron fails with an error that is only reported when running between 00:00 and 00:59 UTC.","categories":["Cron"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-47280","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where disabling the shared catalog feature on a specific scope does not work correctly.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-47106","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a value cannot be saved in a new custom attribute on a company creation page.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-47179","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where an admin with restricted access to a specific scope cannot delete product reviews.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-review"]},{"id":"ACSD-47107","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the Catalog Price Rule discount is applied to custom product options.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-47232","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where coupons with total weight conditions cannot be applied in the Admin.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-46519","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the GraphQL categoryList request returns an incorrect product_count for an anchor category.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-47027","replacedWith":"ACSD-47027 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2. Use ACSD-58054 for 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes a slow updateCompanyRole GraphQL request.","categories":["GraphQL","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-47666","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the filter function does not work in the Admin > System > Permissions > User roles > a role > Role Users grid.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-user"]},{"id":"ACSD-47497","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the Services tab is not visible in the Configuration under the Admin.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-integration"]},{"id":"ACSD-45168","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where SEO-friendly URLs are not generated for products that have \"url_key\" attributes overridden on the store-view level.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite"]},{"id":"ACSD-46865","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Shipment and Credit Memo grid is not populated when asynchronous indexing is enabled.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales","magento\/module-sales-archive"]},{"id":"ACSD-47004","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where VAT is not applied to a billing address without a VAT ID.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-47803","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where out-of-stock configurable product swatches are displayed as available.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-swatches"]},{"id":"ACSD-52399","require":{"ACSD-47803":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where all products are displayed as out-of-stock on the storefront when the \"Display Out of Stock Products\" configuration option is enabled on the Admin.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-swatches"]},{"id":"ACSD-47137","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves the loading speed of the image gallery when the pub\/media folder is very big.","categories":["Content","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-media-gallery-ui"]},{"id":"ACSD-46770","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where admin order emails are sent even when the \"Email order confirmation\" is unchecked.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-47955","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where GraphQL does not display the cart discount correctly.","categories":["Shopping Cart","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-46617","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the \"Continue to Checkout\" button is greyed out even if the subtotal is greater than the configured \"Minimum Order Amount\".","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-47079","require":{"MDVA-41061-V4":["2.4.4"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4"],"description":"Fixes the issue where composite products (bundle, grouped, and configurable) stock status are not updated when sub-product stock status changes via REST API POST \/rest\/V1\/inventory\/source-items.","categories":["Inventory","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-bundle-import-export","magento\/module-inventory-bundle-product","magento\/module-inventory-catalog","magento\/module-inventory-catalog-api","magento\/module-inventory-configurable-product","magento\/module-inventory-grouped-product","magento\/module-inventory-import-export"]},{"id":"ACSD-47336","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes \"Something went wrong.\" error when dismissing notifications in the Commerce Admin.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-asynchronous-operations"]},{"id":"ACSD-47559","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the Preview Email Template area is not fully visible.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-email"]},{"id":"ACSD-47920","releases":["2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where orders can be placed via Rest API as a guest user even when the \"Allow Guest Checkout\" is turned off.","categories":["Order\/Checkout","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-async-order"]},{"id":"ACSD-48058","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where product price reindex is not working if the bundle product is not assigned to any website.","categories":["Other","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACSD-48262","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where products are not visible on the frontend when \"Allow All Products Per Page\" setting is set to Yes.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-48293","require":{"MDVA-41061-V4":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the composite products go out of stock when the child products that were sold out are returned to stock.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","magento\/module-bundle-import-export","magento\/module-inventory-bundle-import-export","magento\/module-inventory-bundle-product","magento\/module-inventory-catalog","magento\/module-inventory-configurable-product","magento\/module-inventory-grouped-product"]},{"id":"ACSD-47520","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where customers lose reward points when a credit memo is created.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-reward"]},{"id":"ACSD-48044","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where applying multiple gift cards to a single order with multi-shipping prevents orders from being placed.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card-account"]},{"id":"ACSD-48300","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a return cannot be created if the configurable product is removed.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-rma"]},{"id":"ACSD-47910","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue of missing orders, invoices, shipments, and credit memos in respective entity grids.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-47292","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where out-of-stock bundled products are not available in the GraphQL response if the \"show out-of-stock products\" is set to Yes.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle-graph-ql","magento\/module-catalog-inventory-graph-ql","magento\/module-quote-graph-ql","magento\/module-sales"]},{"id":"ACSD-48234","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the catalog search result shows an incorrect category item count when the \"show out of stock\" option is enabled.","categories":["Catalog Search","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-elasticsearch","magento\/module-inventory-catalog","magento\/module-inventory-catalog-api","magento\/module-inventory-elasticsearch"]},{"id":"ACSD-48313","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the \"configurable_variations\" column is not parsed if the attribute value contains a comma. The same parsing algorithm is used for \"additional_attributes.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-import-export"]},{"id":"ACSD-48627","require":{"MDVA-43862":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"MDVA-40488":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the out-of-stock configurable product causes an error when sending a GraphQL request to get cart details.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-configurable-product","magento\/module-configurable-product-graph-ql","magento\/module-inventory-catalog"]},{"id":"ACSD-48417","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where an SQL error appears after creating a schedule change for a product and saving another product.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-staging"]},{"id":"ACSD-48366","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the product image is not displayed on the Back to Stock email template.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-product-alert"]},{"id":"ACSD-47988","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where product export trims HTML tags from the page builder product description.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-48212","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where product import assigns the product to the wrong source.","categories":["Import\/Export","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"ACSD-48587","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where HTML special characters in the products widget matching rules prevent them from displaying matching products.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-widget","magento\/module-page-builder"]},{"id":"ACSD-48773","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the reward points email template is taken from the wrong store.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-reward"]},{"id":"ACSD-48661","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where if the company's credit limit is larger than 999, the comma separator prevents the saving of the company due to a validation error.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company-credit"]},{"id":"ACSD-47937","require":{"ACSD-48366":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4"],"description":"Fixes the issue where price drop notifications are not always sent due to application-level caching.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["b\/c","magento\/framework","magento\/framework-amqp","magento\/module-elasticsearch","magento\/module-product-alert"]},{"id":"ACSD-48362","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the default shipping address is used instead of a new one when placing an order using a negotiable quote.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company","magento\/module-negotiable-quote"]},{"id":"ACSD-48059","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue with Visual Merchandiser where merchants cannot save the \"Match product by rule\" for the Categories attribute.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser"]},{"id":"ACSD-48216","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where AUTO_INCREMENT of the inventory_source_item table increases on the UPDATE operation.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory"]},{"id":"ACSD-47908","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the error \"A value less than or equal to 0 is expected\" when selecting the source and qty on the shipping step during checkout.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-shipping-admin-ui"]},{"id":"ACSD-49497","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where an order remains in the processing state after shipment and a partial refund is applied.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-48694","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the error \"Invalid state change requested\" prevents a customer from placing an order.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-checkout"]},{"id":"ACSD-49013","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where email confirmation is not translated to the website locale when creating customers using bulk API.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-store"]},{"id":"ACSD-48164","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where a restricted admin cannot save a website-level value.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-48404","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where \"Remember Category Pagination = Yes\" causes an error when pressing the browser's back button.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-48634","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes JS errors on a staging update page when \"Google Analytics Content Experiments\" is enabled.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-google-optimizer"]},{"id":"ACSD-49042","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a product with infinite backorder cannot be ordered from the Storefront.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-indexer","magento\/module-inventory-sales"]},{"id":"ACSD-48204","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where a catalog price rule created based on the Yes\/No attribute does not consider the selected scope.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule","magento\/module-catalog-rule-configurable"]},{"id":"ACSD-47704","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the bundled product shows the price of In Stock products only.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACSD-49370","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the \"Date Time\" product attribute has a \"FilterMatchTypeInput\" type in GraphQL schema.","categories":["GraphQL","Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-48807","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where customer Product Reviews are not filtered by storeview via GraphQL.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-review-graph-ql"]},{"id":"ACSD-49433","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the default amount is shown as subtotal in the cart for gift card with an open amount.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card"]},{"id":"ACSD-48866","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where an error occurs when requesting RSS feed for categories.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-49574","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Adds functionality to support Gift Card product updates in a cart via GraphQL.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql","magento\/module-gift-card-graph-ql"]},{"id":"ACSD-48784","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the customer segment prices are incorrectly cached between customer groups.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-page-cache"]},{"id":"ACSD-48857","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a user is unable to save changes after editing with PageBuilder.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-49065","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where quote items are not visible in the Admin if only assigned to the custom stock.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"ACSD-49179","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the Orders Report shows incorrect amounts in case of different currencies for different stores.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-reports"]},{"id":"ACSD-49286","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a product is added twice to a cart when multiple product widgets are present on the page.","categories":["Shopping Cart","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-widget"]},{"id":"ACSD-49389","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a ready-to-pick-up email is sent by API when the order is not ready for pickup.","categories":["Inventory","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-sales"]},{"id":"ACSD-49822","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where updates in the Requisition List page are not reflected on the Print Requisition List.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list"]},{"id":"ACSD-48771","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue with upgrading the column-block content type from older Page Builder versions.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-49464","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where invoices, shipments, and credit memos are not moved back from the archive when the orderId is different.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-archive"]},{"id":"ACSD-49773","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where product export fails when AWS S3 is used as remote storage.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-aws-s3"]},{"id":"ACSD-49748","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where invitations cannot be sent.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-invitation"]},{"id":"ACSD-49502","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the downloadable link is not updated properly after a staging update is applied to the downloadable product.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable-staging"]},{"id":"ACSD-49527","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where GraphQL company roles don't display pagination correctly.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-49706","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the default value is saved for a visual swatch attribute when no value is selected.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-49835","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the Use default checkbox value is not saved correctly on a store level for a multi-select attribute.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-customer-custom-attributes"]},{"id":"ACSD-49898","require":{"ACSD-46988":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the products grid throws an exception when a bundled product has a special price that exceeds 1000.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","magento\/module-catalog"]},{"id":"ACSD-50234","require":{"MDVA-40101":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue with the wrong customer name in the confirmation email if placing an order with PayPal.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"ACSD-49960","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where filtering by date does not work for the customer order grid.","categories":["Customer","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-49849","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where customer email was replaced with PayPal email when placing an order with PayPal Express via GraphQL.","categories":["Order\/Checkout","GraphQL","Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-49839","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where Shared Catalog Pricing and structure throws an error in Admin when products have single or double quotes in SKU.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-49970","replacedWith":"ACSD-49970-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes incorrect handling of GraphQL errors when New Relic reporting is turned on.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-graph-ql"]},{"id":"ACSD-49970-V2","replacedWith":"ACSD-49970-V3 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes incorrect handling of GraphQL errors when New Relic reporting is turned on.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-graph-ql"]},{"id":"ACSD-49970-V3","replacedWith":"ACSD-54095 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes incorrect handling of GraphQL errors when New Relic reporting is turned on.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-graph-ql"]},{"id":"ACSD-54095","releases":["2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes incorrect handling of GraphQL errors when New Relic reporting is turned on.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-graph-ql"]},{"id":"ACSD-50260","replacedWith":"ACSD-50260-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where GraphQL product search results are limited to 10,000 results only.","categories":["Catalog\/Product","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-catalog-search","magento\/module-elasticsearch","magento\/module-elasticsearch-7","magento\/module-elasticsearch-catalog-permissions"]},{"id":"ACSD-50260-V2","replacedWith":"ACSD-55100 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where GraphQL product search results are limited to 10,000 results only.","categories":["Catalog\/Product","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-catalog-search","magento\/module-elasticsearch","magento\/module-elasticsearch-7","magento\/module-elasticsearch-catalog-permissions"]},{"id":"ACSD-48813","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the search is not showing relevant results based on the search weight of the attributes.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search"]},{"id":"ACSD-50336","require":{"ACSD-48366":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1"],"description":"Fixes the issue where product alert emails are not sent when a product is back in stock or the price is changed.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-elasticsearch","magento\/module-product-alert"]},{"id":"ACSD-50367","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where customer address export does not work when a multi-select customer address attribute without values is created.","categories":["Import\/Export","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-import-export"]},{"id":"ACSD-49877","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where video autoplay does not work on mobile Safari when the video is linked directly to a remote video file and not a streaming service.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-49737","releases":["2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1"],"description":"Fixes the issue where a coupon is incorrectly marked as used after a failed card payment.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/framework-message-queue","magento\/module-message-queue","magento\/module-mysql-mq"]},{"id":"ACSD-50814","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where an admin user is not able to create a credit memo.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-50116","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where an admin user cannot create a URL rewrite for subcategories level 3 or lower.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-url-rewrite"]},{"id":"ACSD-49513","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where remote storage synchronization fails because of 0-byte files.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-aws-s3"]},{"id":"ACSD-46683","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the shipping price shows \"Not yet calculated\".","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/theme-frontend-blank","magento\/theme-frontend-luma"]},{"id":"ACSD-49129","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the \"content\" attribute (base64 image code) is not returned in `rest\/V1\/products\/sku\/media` product media API responses.","categories":["Catalog\/Product","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-50276","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the customer registration form doesn't work on the storefront if a multi-select customer attribute is created.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-custom-attribute-management","magento\/module-customer-custom-attributes"]},{"id":"ACSD-50527","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the error that occurs when saving a page with an empty dynamic block.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-banner-page-builder"]},{"id":"ACSD-51114","deprecated":true,"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a random product disappears from large catalogs when asynchronous indexing is enabled. Improves performance of asynchronous reindexing for large catalogs.","categories":["Catalog\/Product","Performance"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-eav"]},{"id":"ACSD-50817","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Optimizes Cron job sales_clean_quotes to run faster.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-49392","replacedWith":"ACSD-49392 for 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7. Use ACSD-57003-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the order status changes to closed after a partial refund for a bundled product.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-51036","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where race conditions during concurrent REST API calls result in an overwrite of shipping status information in the Items Ordered table.","categories":["Order\/Checkout","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-50858","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves performance for loading banners contents.","categories":["Performance","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-banner"]},{"id":"ACSD-49628","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the Page Builder's multiple errors prevent admin from saving a product without content permissions.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-51305","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where out-of-stock configurable child products are not available in the GraphQL response.","categories":["Catalog\/Product","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-related-product-graph-ql","magento\/module-catalog-staging","magento\/module-catalog-staging-graph-ql"]},{"id":"ACSD-50621","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where Tier Prices for different websites in the shared catalog are not visible when trying to edit them in a multi-website environment.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-51041","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Improves performance of price indexer.","categories":["Catalog\/Product","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-51379","replacedWith":"ACSD-51379-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7","require":{"ACSD-48857":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where changes made to page text content via Page Builder are not saved.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-51379-V2","require":{"ACSD-48857":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where changes made to page text content via Page Builder are not saved.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-49480","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where only one cart price rule is applied to the cart.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-51230","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the gift card account is deleted when a partial refund of a simple product is processed from an order.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card-account"]},{"id":"ACSD-51238","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the inventory source is removed when updating configurable products and editing the price.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-inventory-configurable-product-admin-ui"]},{"id":"ACSD-50794","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where the gift message or gift wrapping details are not updated in the database when removing it through GraphQL.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-wrapping","magento\/module-gift-wrapping-graph-ql"]},{"id":"ACSD-51528","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the x_forwarded_for column has null values in the sales_order table.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-50849","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where adding a new product to the category after clearing the cache results in a mismatch of positions and selections of the existing products.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-versions-cms","magento\/module-visual-merchandiser"]},{"id":"ACSD-51294","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where GTM\/GA price, quantity, tax, shipping, and revenue are sent as a string to Google Analytics and GTM.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-google-analytics","magento\/module-advanced-checkout","magento\/module-google-tag-manager"]},{"id":"MDVA-51204","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a fully sold product doesn't return back in stock after creating a credit memo.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configuration","magento\/module-inventory-configuration-api","magento\/module-inventory-source-deduction-api"]},{"id":"ACSD-51291","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where restricted admin with access to one website can add images\/videos to the product assigned to multiple websites.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-product-video","magento\/theme-adminhtml-backend","magento\/module-admin-gws"]},{"id":"ACSD-49973","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves performance of fetching bundled products through GraphQL.","categories":["GraphQL","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","magento\/module-bundle-graph-ql","magento\/module-catalog-inventory","magento\/module-inventory-catalog","magento\/module-inventory-catalog-search","magento\/module-inventory-catalog-search-bundle-product","magento\/module-inventory-catalog-search-configurable-product"]},{"id":"ACSD-50478","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the JS issue for the rollback action in the Backups grid. Fixes the database rollback command for a case when the DB dump contains triggers and a \"delimiter\" SQL command.","categories":["Admin","Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-backend","magento\/module-backup"]},{"id":"ACSD-50512","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the \"Error: The downloadable link isn't related to the product. Verify the link and try again.\" error that happens when updating the start date for a downloadable product staging update.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"ACSD-50949","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the price filter in Advanced search doesn't return proper results when used along the SKU filter.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-search"]},{"id":"ACSD-51645","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the error thrown when saving a new Cart Price Rule if the extension Magento_OfflineShipping is disabled.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-50895","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where Google Analytics 3 GTM tags are not fired if Google Analytics 4 GTM is not configured.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-google-tag-manager"]},{"id":"ACSD-51102","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a catalog rule that is applied to a large number of products is not correctly indexed when the rule is enabled by a scheduled update.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-indexer","magento\/module-catalog-rule-staging"]},{"id":"ACSD-50368","deprecated":true,"releases":["2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes an issue where the customer's group_id is ignored when a customer is created via Async REST API or Async Bulk REST API.","categories":["Customer","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-51497","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where a customer can't sort a catalog page by a Custom Attribute of the dropdown type.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"ACSD-51408","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the order item status is incorrectly set to \"Backordered\".","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory"]},{"id":"ACSD-51735","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the order item status is incorrectly set to \"Ordered\" when the product stock is 0.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-sales"]},{"id":"ACSD-51792","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where a page does not have the impression event when Google Tag Manager 4 is enabled.","categories":["Other"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-theme"]},{"id":"ACSD-51471","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where an admin user cannot save a scheduled update for a bundled product that uses a simple product that itself has a scheduled update.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-staging"]},{"id":"ACSD-51700","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the error that happens when switching store views on a downloadable product edit page in Admin.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable"]},{"id":"ACSD-51120","releases":["2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where GraphQL GET requests cache is not cleared for CMS pages that contain CMS blocks that are updated via a staging update.","categories":["Content","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-cms","magento\/module-cms-staging"]},{"id":"ACSD-51240","replacedWith":"ACSD-55628 for 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the uploaded file is missing if the registration is done via the company registration form.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-customer-custom-attributes","magento\/module-company"]},{"id":"ACSD-51907","releases":["2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a restricted admin user cannot create a credit memo with an offline refund.","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws"]},{"id":"ACSD-52148","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where Google V3 reCAPTCHA Admin login fails occasionally.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-user"]},{"id":"ACSD-51431","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where an indexer status is \"working\" even if there are no new entries in the changelog.","categories":["Performance","Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-51892","releases":["2.4.6-p1","2.4.6"],"description":"Fixes the performance issue where config files load multiple times.","categories":["Performance","Admin"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-52277","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where an admin user is not redirected properly after selecting a store view when creating a new order in Admin.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-50813","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where Admin was not able to add bundled products containing a slash in the SKU with the 'Add Products by SKU' functionality to the admin order.","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-checkout"]},{"id":"ACSD-51630","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a large amount of system messages slows the downloading of admin pages.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-asynchronous-operations"]},{"id":"ACSD-51853","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1"],"description":"Fixes the issue where copied text styles are not applied when using the Page Builder.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-52160","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the product validation result against the cart price rule was not properly evaluated based on the rule condition 'If an item is FOUND\/NOT FOUND in the cart with All\/Any of these conditions true'.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-51636","releases":["2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the company admin can't add new users from the customer account section despite having all necessary roles and permissions.","categories":["B2B","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-login-as-customer-logging"]},{"id":"ACSD-51739","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where an error is returned when the structure_id is requested in a CompanyTeam GraphQL request.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-51857","replacedWith":"ACSD-60590 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the slow performance of the aggregate_sales_report_bestsellers_data cron report on large sales_order and sales_order_item database tables was due to the way the main data query was written.","categories":["Cron","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-48448","require":{"MDVA-40399":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where there is a race condition issue happening during the order cancellations, which cause duplicated entry in the inventory_reservation table.","categories":["Order\/Checkout","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-52689","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where images can't be uploaded to Amazon S3 storage using REST API.","categories":["Web API","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-aws-s3"]},{"id":"ACSD-51899","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the default shipping address on the checkout shipping step is auto-populated with a previously selected in-store pickup address.","categories":["Order\/Checkout","Shipping","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-frontend"]},{"id":"ACSD-52041","deprecated":true,"releases":["2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"replacedWith":"ACSD-52041-V2 for 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","description":"Fixes the issue where the error message: [ERROR] Page Builder was rendering for 5 seconds without releasing locks. in Chrome browser when saving content edited with Page Builder.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-require-js","magento\/module-page-builder"]},{"id":"ACSD-52041-V2","releases":["2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the error message: [ERROR] Page Builder was rendering for 5 seconds without releasing locks. in Chrome browser when saving content edited with Page Builder.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-52095","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the \"manage_stock\" value was incorrectly set to 0 in the CSV file after product export.","categories":["Inventory","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-51358","require":{"ACSD-50512":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"ACSD-48070":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where removing a scheduled update without an end date leads to removing other scheduled updates for the same entity.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"ACSD-48070","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where editing a scheduled update triggers an exception.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-staging"]},{"id":"ACSD-51890","replacedWith":"ACSD-55112 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the Submit review button can be clicked multiple times without Google reCAPTCHA v3 validation.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-frontend-ui"]},{"id":"ACSD-51984","replacedWith":"ACSD-54776 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where unchecked \"Use Default Value\" and non-default product field values are not saved for the second website, store, and store view.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-52398","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the error: The requested qty is not available, when trying to update the quantity of a bundled product in the cart on the storefront.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory"]},{"id":"ACSD-52786","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where a catalog rule condition \"SKU is\" applies to all products starting with the given SKU.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"ACSD-52921","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where an internal error occurs if requesting cart details from GraphQL when there is an out-of-stock configurable product in the cart.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-51683","replacedWith":"ACSD-57643 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where a customizable option can't be added to the cart using GraphQL.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-52133","deprecated":true,"releases":["2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where a customer account cannot be saved after an upgrade.","requirements":"Deprecated due to a conflict with security patch APSB25-08.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-eav"]},{"id":"ACSD-52202","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the salable qty of default stock wrongly changes to 0 when a non-default stock is changed to 0 qty on order fulfillment.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"ACSD-51265","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with catalog_product_price reindexing performance when there are too many bundled products in the system.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACSD-52831","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where customers cannot place negotiable quote orders when Google reCAPTCHA v3 Invisible is enabled.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-51845","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where subsequent products with tier prices and different attribute sets cannot be updated via asynchronous bulk REST API.","categories":["Catalog\/Product","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-eav"]},{"id":"ACSD-52815","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the input for the quantity field of a non-default source supports only up to 6 digits, unlike 8 for a default stock.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-indexer"]},{"id":"ACSD-51149","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where Scheduled ImportExport with enabled Catalog Permissions invalidates indexers and then cache flushes by cron.","categories":["Cron","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-permissions"]},{"id":"ACSD-50815","require":{"ACSD-49898":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"ACSD-46988":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where decimal quantity for a simple product cannot be used for a new Bundle product option.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACSD-53239","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the Inventory indexer cleans all caches in the Update on Schedule mode.","categories":["Inventory","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-cache"]},{"id":"ACSD-50887","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the product attribute property \"Use in Search Results Layered Navigation\" can be set to \"Yes\" without the \"Use in search\" option set to \"Yes\".","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-search","magento\/module-layered-navigation"]},{"id":"ACSD-51846","deprecated":true,"releases":["2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2"],"description":"Fixes the \"Internal Error\" issue that happens because not all levels of REST API payload are validated.","categories":["Web API"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-elasticsearch"]},{"id":"ACSD-52906","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the X-Magento-Vary cookie is set incorrectly for logged-in customers that belong to the same customer segment causing improper caching for some pages.","categories":["Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-customer-segment"]},{"id":"ACSD-52736","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where a Cart Price Rule that includes requirements for configurable product quantity does not work as expected.","requirements":"After applying the patch, the cart rule conditions using the \"Quantity\" attribute must be removed and added again.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-47875","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where admin users are not able to add a product to a customer cart from the Admin for a particular store view scope with Inventory management.","categories":["Shopping Cart","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-store","magento\/module-inventory-catalog"]},{"id":"ACSD-53176","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where Related Product Rule with \"is one of\" condition does not match products.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"ACSD-51666","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the error \"The session has expired, please login again.\" that happens after a customer tries to log in.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-52613","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where caches and indexes are refreshed even when no updates are made to Inventory_source items by rest API.","categories":["Inventory","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-bundle-product-indexer","magento\/module-inventory-cache","magento\/module-inventory-catalog","magento\/module-inventory-catalog-search","magento\/module-inventory-indexer"]},{"id":"ACSD-51884","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the product image cache path becomes incorrect after running the resize command.","categories":["Catalog\/Product","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-53628","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the CSV sales order report shows incorrect special characters.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-backend"]},{"id":"ACSD-49843","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the link on product download is not available after the ordered item is auto invoiced by online payment method with the Payment Action = Sale setting enabled.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-downloadable"]},{"id":"ACSD-53148","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where two parallel requests in GraphQL for adding the same configurable product to the cart resulted in two separate items on the cart with the same product SKU.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql"]},{"id":"ACSD-47054","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where preview reindex runs reindex for all stores, causing slowness.","categories":["Catalog\/Product","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-staging","magento\/module-catalog-staging-graph-ql"]},{"id":"ACSD-52606","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the error message \"Your order is not ready for pickup\" is displayed when the user clicks \"Notify Order is Ready for Pickup\".","categories":["Order\/Checkout","Shipping","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-sales"]},{"id":"ACSD-51574","replacedWith":"ACSD-51574-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the image is not updated on the frontend after replacing it with another image with the same name.","categories":["Cache","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-51574-V2","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the image is not updated on the frontend after replacing it with another image with the same name.","categories":["Cache","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-53728","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the product EAV indexer is taking longer to complete.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-53979","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the JS issue that occurs on the homepage if the welcome message contains a single quote.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-theme"]},{"id":"ACSD-52085","deprecated":true,"require":{"ACSD-49286":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where a configurable product with a special price is not visible in the product's carousel.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-widget","magento\/module-configurable-product","magento\/module-page-builder"]},{"id":"ACSD-53795","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with invalid data type in indexer_update_all_views cron job.","categories":["Cron"],"origin":"Adobe Commerce Support","components":["magento\/framework-message-queue"]},{"id":"ACSD-52143","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixed the issue where custom options are removed after product import.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-53750","releases":["2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the \"Broken pipe or closed connection\" error during multi-threaded catalog_product_price reindex.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework-amqp","magento\/module-indexer"]},{"id":"ACSD-53098","replacedWith":"ACSD-53098-V2 for 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where products assigned to a shared catalog are not appearing on the storefront when a partial index is executed.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","magento\/module-catalog","magento\/module-indexer","magento\/module-catalog-permissions","magento\/module-shared-catalog"]},{"id":"ACSD-53098-V2","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where products assigned to a shared catalog are not appearing on the storefront when a partial index is executed.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","magento\/module-catalog","magento\/module-indexer","magento\/module-catalog-permissions","magento\/module-shared-catalog"]},{"id":"ACSD-54018","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the performance issues with the Product List Widget that uses a non-global attribute in the widget condition.","categories":["Catalog\/Product","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-widget","magento\/module-rule"]},{"id":"ACSD-54111","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the product thumbnail images are not displayed on the storefront when the aspect ratio of the watermark image does not match the product image.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-47669","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes \"Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails\" error when importing products CSV.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-53347","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue where the price indexer takes too much time to execute.","categories":["Performance","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-52287","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue with incorrect order status in the archived order grid when asynchronous grid indexing is enabled.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-archive"]},{"id":"ACSD-52929","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Fixes the issue with redundant requests to reindex default source items when the inventory indexer is configured in async mode.","categories":["Performance","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-indexer"]},{"id":"ACSD-53824","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where UpdateMultiselectAttributesBackendTypes migration data patch exceeds database transaction size limit during setup:upgrade.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-53704","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where reward points balance history is miscalculated after reward points expiration.","categories":["Customer","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-reward"]},{"id":"ACSD-53583","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves partial reindex performance for \"Category Products\" and \"Product Categories\" indexers.","requirements":"Do not install if you have Live Search. Check KB article for more details.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog-search","magento\/module-elasticsearch"]},{"id":"ACSD-54026","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes an incorrect error message for an updateCompanyRole GraphQL request for a non-authorized user.","categories":["GraphQL","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-54106","require":{"MDVA-43731":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1"],"description":"Fixes the issue where category product sorting by name for Turkish accented characters is incorrect.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"ACSD-52219","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where Admin grids saved filters don't work as expected when frequently switching between bookmark views.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-ui"]},{"id":"ACSD-54342","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes an incorrect error message \"Error in data structure: values are mixed\" when importing a CSV file without valid data.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-import-export"]},{"id":"ACSD-54660","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Added a new input attribute 'sort' to sort customer orders in GraphQL by 'sort_field' and 'sort_direction'.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-graph-ql"]},{"id":"ACSD-54776","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where unchecked \"Use Default Value\" and non-default product field values are not saved for the second website, store, and store view.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-staging"]},{"id":"ACSD-53998","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2"],"description":"Fixes the issue where a Dynamic Block based on a Customer Segment doesn't work correctly after logging out from a customer account.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-53204","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes \"The product can't be saved.\" error when making concurrent requests to add images to the product gallery using the rest\/V1\/products\/\/media endpoint.","categories":["Catalog\/Product","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-47657","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Added a caching mechanism for AWS credentials. A credentials provider now uses the Magento cache to cache credentials retrieved from AWS for EC2 configuration.","categories":["Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-aws-s3"]},{"id":"ACSD-54680","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where it is not possible to process a B2B Quote submitted for a product with Multiple Assigned Sources.","categories":["B2B","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote","magento\/module-negotiable-quote-weee"]},{"id":"ACSD-54040","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5"],"description":"Fixes the issue where the \"Created\" field is blank in order details when B2B modules are enabled.","categories":["B2B","Customer","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-54319","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the product price shows zero in the \"Product in Cart\" report.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-reports"]},{"id":"ACSD-53378","replacedWith":"ACSD-53378-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Improves checkout page load time for customers who have large address books.","categories":["Order\/Checkout","Performance","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-checkout-address-search","magento\/module-company","magento\/module-shared-catalog"]},{"id":"ACSD-53378-V2","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Improves checkout page load time for customers who have large address books.","categories":["Order\/Checkout","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-checkout-address-search","magento\/module-company","magento\/module-shared-catalog"]},{"id":"ACSD-52657","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the minicart is not updated on the secondary storeview, which uses a subdomain.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","magento\/module-customer","magento\/module-page-cache"]},{"id":"ACSD-53414","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where a restricted admin user can see CMS pages outside of their permissions scope.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws"]},{"id":"ACSD-54472","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where customers of a rejected company can still authenticate, and customers of a blocked and a rejected company can still place orders, added additional validation for GraphQL endpoints.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company","magento\/module-company-graph-ql","magento\/module-negotiable-quote-graph-ql"]},{"id":"ACSD-52801","replacedWith":"ACSD-52801 for 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4. Use ACSD-62332 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Adds the option to do a partial match when searching for products in GraphQL.","categories":["Catalog Search","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-graph-ql","magento\/module-graph-ql"]},{"id":"ACSD-55004","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the validator crashes while uploading an import file larger than the value configured in `php.ini `.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-import-export"]},{"id":"ACSD-54989","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5"],"description":"Fixes the issue where a company admin cannot place an order when \"Enable Purchase Orders\" is set to \"Yes\" and \"Purchase Order\" is set to \"No\".","categories":["B2B","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-company","magento\/module-purchase-order"]},{"id":"ACSD-54007","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the error \"Undefined array key \"_scope\"\" on importing customer data.","categories":["Import\/Export","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-import-export"]},{"id":"ACSD-55031","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the 'Type \"mixed\" cannot be nullable' error during compilation.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-54961","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a restricted admin user cannot mass update Product Review status.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-review"]},{"id":"ACSD-55256","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where only the first image is successfully displayed in the image slider.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-product-video"]},{"id":"ACSD-54376","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue that occurs in the shopping cart when a product is removed from the shared catalog after it has already been added to the cart.","categories":["B2B","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote-shared-catalog"]},{"id":"ACSD-53722","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the bundled product options price changes to $0 when scheduled updates for different scopes become active.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","magento\/module-bundle-staging","magento\/module-catalog-staging"]},{"id":"ACSD-53643","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the order has an incorrect total when placing a purchase order with disabled or out-of-stock products. It is fixed by hiding the \"Place Order\" button for such purchase orders.","categories":["B2B","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-purchase-order"]},{"id":"ACSD-54067","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a product video doesn't play on a mobile device.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"ACSD-55414","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Improves performance when the MariaDB tries to cast the EAV entity_id from string to integer.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-51819","releases":["2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where multiple orders can be placed with the same quote ID.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-quote","magento\/module-quote-graph-ql","magento\/module-async-order"]},{"id":"ACSD-53118","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the Cart Price Rule is applied using coupon code while the product has an empty attribute.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-rule","magento\/module-advanced-sales-rule"]},{"id":"ACSD-54324","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where GraphQL requisition_lists request does not consider pagination settings and returns all results.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list-graph-ql"]},{"id":"ACSD-53658","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where Recently Viewed product data is not updated properly in the store view.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-54626","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where you can't create a new purchase order rule (createPurchaseOrderApprovalRule) with the \"NUMBER_OF_SKUS\" attribute via GraphQL.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-purchase-order-rule"]},{"id":"ACSD-53845","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the MySQL connection timeout issue when consumer max_messages = 0.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-54890","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where aggregate_sales_report_bestsellers_data causes MySQL errors due to \/tmp disk being out of space.","categories":["Reports","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-reports"]},{"id":"ACSD-55112","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where the Submit review button can be clicked multiple times without Google reCAPTCHA v3 validation.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-frontend-ui"]},{"id":"ACSD-54264","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5"],"description":"Fixes the issue where the error message \"You cannot update the requested attribute. Row ID: store_id\" appears when a customer tries to check out with a negotiable quote from another store view.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-54418","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the issue where a fixed amount of discount is incorrectly applied to each child product of the dynamically priced bundle.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-55238","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes saving the empty product Meta Description.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-54966","replacedWith":"ACSD-54966-V2 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where a coupon code with a limited-use per customer can't be reused if the previous order failed.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-54966-V2","releases":["2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where a coupon code with a limited-use per customer can't be reused if the previous order failed or canceled.","categories":["Price\/Tax","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule","magento\/module-multicoupon"]},{"id":"ACSD-54060","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a restricted admin can't save a product if it's a child of another product assigned to a different scope.","categories":["Admin","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule","magento\/module-catalog-rule-configurable","magento\/module-configurable-product"]},{"id":"ACSD-48910","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixed the issue where a bundle product assigned to multiple sources goes out-of-stock after an order is invoiced and shipped, even if it still has a non-zero quantity.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-bundle-product","magento\/module-inventory-configurable-product","magento\/module-inventory-grouped-product"]},{"id":"ACSD-55381","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes an internal server error when querying configurable_product_option_uid and configurable_product_option_value_uid fields from a B2B Requisition list via GraphQL.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-requisition-list-graph-ql"]},{"id":"ACSD-55628","releases":["2.4.7-p3","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2"],"description":"Fixes uploading a file on the company registration form and replacing a file for a customer attribute on the Storefront.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-customer-custom-attributes","magento\/module-company"]},{"id":"ACSD-54972","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the canonical category URL doesn't update after changing the category URL.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-53636","require":{"MDVA-41061-V4":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"]},"releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the regular price is not displayed on product listing pages for configurable products that have child products with special prices.","categories":["Catalog\/Product","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-configurable-product"]},{"id":"ACSD-54885","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue with the multiple address checkout when the admin user is using the \"Login as Customer\" functionality.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-multishipping"]},{"id":"ACSD-55610","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a partially canceled order has an incorrect discount amount.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-55334","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes translations for labels through Translation dictionaries in GraphQL response.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-54739","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where product stock status condition is not applied for related product rules.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-inventory","magento\/module-target-rule","magento\/module-inventory-catalog"]},{"id":"ACSD-53925","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the admin is unable to save CMS block with Product Carousel when catalog_product_price dimensions-mode is set to website.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACSD-52714","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the date filter is not working in the admin grid when the date format is set as \"Y-m-d\".","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-ui"]},{"id":"ACSD-55055","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Improves performance of loading product attributes in cart price rules in the shopping cart.","categories":["Performance","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-53790","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where Multiple RMAs for a single product can be created via REST API.","categories":["Web API","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-rma"]},{"id":"ACSD-56090","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the GraphQL request is responding with all stores data rather than the specifically requested store data.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-54983","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where getting the company user UID with GraphQL request is not possible when the user status is set to inactive.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-53309","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where tax is not fully applied in the \"Regular Price\" label when the customizable option is selected.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-55305","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the \"Edit company user\" popup on the myAccount > Company Structure page freezes with a loader on the screen.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-56790","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where a user is redirected to the Admin Dashboard when sorting category products using the \"Move out of Stock to bottom\" option and the `Invalid security or form key. Please refresh the page` error appears on top of the screen.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-visual-merchandiser"]},{"id":"ACSD-56280","replacedWith":"ACSD-63283 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where ordering items from the gift registry leads to an exception.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-registry"]},{"id":"ACSD-56246","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where data is removed from the custom multi-select attribute when a scheduled update for a product becomes active.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-eav"]},{"id":"ACSD-56193","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the Varnish\/Fastly cache is not updated when a scheduled block is used in the category description using Page Builder.","categories":["GraphQL","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-graph-ql-cache"]},{"id":"ACSD-56158","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the \"cart\" query returns the total tax value for each tax rule.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-56023","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where widget content is not updating on the CMS page when cache is enabled.","categories":["Catalog\/Product","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-55427","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the admin user cannot unassign a product from a shared catalog from the product page in the backend.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-55352","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where after creating a partial credit memo with customer reward points, the order status changes to `closed` and credit memo options disappear from the admin order page.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-55231","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where you cannot add products to a cart using the quick order functionality.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-54283","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where Products\/Categories not assigned to the Shared Catalog for the Default (General Group) are still included in the XML Sitemap.","categories":["Other","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-sitemap","magento\/module-url-rewrite","magento\/module-catalog-permissions"]},{"id":"ACSD-56886","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where a configurable product becomes out of stock when one of two child products is disabled by a scheduled update.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"ACSD-56616","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where bundled products display as in stock on the storefront when their simple products are out of stock.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-bundle-product","magento\/module-inventory-indexer"]},{"id":"ACSD-56515","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where admin with website level permissions cannot add or edit the dynamic block.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-banner"]},{"id":"ACSD-56447","releases":["2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where adding the same product to the cart via parallel REST API requests results in two separate items in the cart.","categories":["Order\/Checkout","Shopping Cart","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-56415","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the performance of the partial price indexing is slowed down due to a DELETE query when the database has a lot of partial price data to index.","categories":["Catalog\/Product","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-54965","replacedWith":"ACSD-54965-V2 for 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","require":{"ACSD-50849":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"ACSD-45169":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the Visual Merchandising grid does not display the correct stock when a product is assigned to custom stock only.","categories":["Admin","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser","magento\/module-inventory-visual-merchandiser"]},{"id":"ACSD-54965-V2","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"require":{"ACSD-50849":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"ACSD-45169":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"description":"Fixes the issue where the Visual Merchandising grid does not display the correct stock when a product is assigned to custom stock only.","categories":["Admin","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-visual-merchandiser","magento\/module-inventory-visual-merchandiser"]},{"id":"ACSD-52824","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where PayPal Express, Google Pay, and Apple Pay buttons are displayed for company customers when such payment methods are disabled in company settings.","categories":["Payments","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal","magento\/module-company-payment"]},{"id":"ACSD-46767","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the category page caches invalidate when the stock quantity changes, even if the product is still in stock.","categories":["Inventory","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-cache","magento\/module-inventory-catalog","magento\/module-inventory-indexer"]},{"id":"ACSD-54656","require":{"ACSD-50345":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the invisible Recaptcha fails during checkout, which prevents an order from being placed.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-re-captcha-gift-card"]},{"id":"ACSD-55100","replacedWith":"ACSD-55100 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7. Use ACSD-62332 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where GraphQL does not return more than 10k products in the search results.","requirements":"Requires 2.2.0 version of opensearch-project\/opensearch-php.","categories":["GraphQL","Catalog Search","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-catalog-search","magento\/module-elasticsearch","magento\/module-elasticsearch-7","magento\/module-open-search","magento\/module-elasticsearch-catalog-permissions"]},{"id":"ACSD-56621","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the updated first name and last name are not reflected in the greetings header section for the company admin user.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-56842","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the deferred proxies and the deferred proxy factories are missing after running setup:di:compile.","categories":["Other"],"origin":"Adobe Commerce Support","components":["setup\/src"]},{"id":"ACSD-57003","replacedWith":"ACSD-57003-V2 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6","require":{"ACSD-49392":["2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the order status is changed to Complete instead of being changed to Processing when an order is partially refunded and partially shipped.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-57003-V2","require":{"ACSD-49392":["2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the order status is changed to Complete instead of being changed to Processing when an order is partially refunded and partially shipped.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-55241","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where \"Used\" and \"Times Used\" attributes display incorrect values for generated coupons when used during checkout with multiple addresses.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-56760","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where an admin user restricted to a specific website cannot sort or add new products inside a category in case the webstore has its own Root Category.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws"]},{"id":"ACSD-56858","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where B2B company role permissions are displayed incorrectly for a restricted company admin.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-57074","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the Yes\/No custom attribute with attribute_code starting with \"price_\" does not work properly with indexing, and products with such attributes are not available on the front end.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-open-search"]},{"id":"ACSD-55566","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the mergeCart mutation fails with an \"Internal Server Error\" in GraphQL response when merging source and destination carts that have the same bundle items. ","categories":["Inventory","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-quote-graph-ql","magento\/module-checkout","magento\/module-quote-graph-ql","magento\/module-gift-wrapping-graph-ql"]},{"id":"ACSD-56546","require":{"ACSD-49973":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where configurable and bundle products display as Out of Stock on the storefront when display out of product configuration is disabled.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog-search","magento\/module-inventory-catalog-search-bundle-product","magento\/module-inventory-catalog-search-configurable-product"]},{"id":"ACSD-56635","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the imported customer is duplicated with the same email address when import is used with account sharing set to Global.","categories":["Import\/Export","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-import-export","magento\/module-customer-balance","magento\/module-customer-finance"]},{"id":"ACSD-56741","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes an error message \"Trying to access array offset on value of type null\" that displays during setup:upgrade when the database contains a custom MySQL trigger not related to the indexation mechanism and MView.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-57315","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue when a new transaction is created in PayPal Payflow Pro each time the Fetch button is clicked on the view transaction screen in the Admin.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"ACSD-57337","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where an admin user with access restrictions to specific websites is able to see companies from all websites in the Companies grid.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-57394","replacedWith":"ACSD-57394 for 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4. Use ACSD-60684 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes incorrect product sorting by multiple sort fields in GraphQL.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-57565","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the Order dashboard displays incorrect order information until the time period is updated. The dashboard now displays correct order statistics on first load.","categories":["Admin","Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-backend","magento\/module-reports"]},{"id":"ACSD-57854","deprecated":true,"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue when product GraphQL requests returned disabled categories in the category aggregations.","categories":["Catalog\/Product","Catalog Search","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-elasticsearch"]},{"id":"ACSD-58008","require":{"ACSD-50512":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where updating a scheduled update removed the previous version of the staged item if no end date is specified.","categories":["Catalog\/Product","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-staging"]},{"id":"ACSD-56979","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where product images are removed after deleting a staging update.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-57045","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where URL rewrites cause infinite page looping after \"Website Root\" is unchecked from Hierarchy.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-versions-cms","magento\/module-versions-cms-url-rewrite"]},{"id":"ACSD-57086","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where the orders placed from non-default websites with terms and conditions enabled are not processed correctly.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout-agreements"]},{"id":"ACSD-57588","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where shipping an order to multiple addresses triggers an error during region ID processing.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-57643","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where products with custom options are incorrectly added to the shopping cart via GraphQL.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-57846","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where GraphQL products search with filter for zero prices does not return any results due to an exception.","categories":["Catalog Search","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"ACSD-57941","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where product options are incorrectly assigned to the admin store instead of their respective stores.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-58054","releases":["2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where it is possible to generate customer tokens for inactive customers via API.","categories":["B2B","Web API","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-company","magento\/module-company-graph-ql","magento\/module-negotiable-quote-graph-ql"]},{"id":"ACSD-58163","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixes the issue where a Cart Price Rule doesn't apply a discount for a guest customer from the matching Customer Segment cart without a coupon code.","categories":["Customer","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-segment"]},{"id":"ACSD-58375","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the \"YouTube API Key\" configuration by setting the scope to global. The wrong configuration was causing an error when adding a YouTube video at the Store View level.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-product-video"]},{"id":"ACSD-58446","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where when deleting a team with child users or teams irrespective of their status (inactive), the system provides an uninformative error message not consistent with the UI.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-58739","replacedWith":"ACP2E-3705 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where partial reindexing throws an error. It now works correctly with big change log and when the Slave db connection with synchronous_replication is configured.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-45049","releases":["2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a customer attribute \"Is required\" setting doesn't work properly as per website scope in Admin.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-46938","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue with the performance of DB triggers recreation during setup:upgrade.","categories":["Performance"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-48210","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where updating a \"website scope\" attribute in a specific store view overrides the attribute values in the global scope.","categories":["Catalog\/Product","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-54887","releases":["2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4"],"description":"Fixes the issue where the customer shopping cart gets cleared after the customer session has expired with enabled persistent shopping cart.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-persistent","magento\/module-quote"]},{"id":"ACSD-58141","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where PHPSESSID regenerates on POST requests on the storefront area for a logged-in customer if the L2 Redis cache is enabled and the customer is updated from Admin.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-58352","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where return attribute labels for the default store view are returned via GraphQL API when a non-default store view is specified in the request header.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-eav","magento\/module-rma-graph-ql"]},{"id":"ACSD-58442","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where devices with a width of 768px are treated as mobile, causing the menu and header to load in a mobile view instead of desktop.","categories":["Other"],"origin":"Adobe Commerce Support","components":["lib\/web","magento\/module-catalog","magento\/module-product-video","magento\/module-theme","magento\/theme-frontend-blank","magento\/theme-frontend-luma","magento\/module-page-builder"]},{"id":"ACSD-58790","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes pinch-to-zoom functionality on the product detail page images in mobile view on Chrome.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"ACSD-59036","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes an exception that happens when loading product prices with both lower and upper bound equal to $0.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"ACSD-59229","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where customer group-related information is saved in the wrong segment due to the old value of the X-Magento-Vary in request.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-page-cache"]},{"id":"ACSD-59378","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where store-level URL rewrites are incorrectly updated during import.","categories":["Catalog\/Product","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-url-rewrite","magento\/module-eav"]},{"id":"ACSD-59514","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"require":{"ACSD-51379-V2":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9"]},"description":"Fixes the issue where forms in the Admin area with Page Builder throw the error \"Page Builder was rendering for 5 seconds without releasing locks.\" in the browser console after submitting the form, and changes can't be saved.","categories":["Admin","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-backend","magento\/module-page-builder"]},{"id":"ACSD-60303","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9"],"description":"Fixes the issue where an order from Admin cannot be placed if HTML minification is enabled.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-wrapping"]},{"id":"ACSD-60441","releases":["2.4.7-p1","2.4.6-p6","2.4.5-p8","2.4.4-p9"],"description":"Fixes the issue with updating customers via V1\/customers REST API endpoint when using the integration access token generated from the backend.","categories":["Web API","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-59786","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where GraphQL returns an internal server error when trying to get a Quote ID for an expired quote.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-60234","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where an incorrect amount is shown on PayPal when the discount is applied by payment method.","categories":["Payments","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"ACSD-59967","replacedWith":"ACSD-63244 for 2.4.7-p1, 2.4.7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.7-p1","2.4.7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a JavaScript error prevents Google Maps from rendering correctly.","categories":["Other"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"ACSD-63244","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a JavaScript error prevents Google Maps from rendering correctly.\nFixes the issue where there are many \"Uncaught TypeError: this._each is not a function\" errors in the console in the Admin panel.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"ACSD-60326","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where an error occurs on GraphQL query for customer return status.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-rma-graph-ql"]},{"id":"ACSD-60538","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where if a product is disabled in \"All Store Views\" and enabled only in specific store view scopes, the product attributes don't show correctly in the GraphQL response, leading to the product not being displayed properly.","categories":["GraphQL","Inventory","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product"]},{"id":"ACSD-60631","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where GraphQL returns an error when the same simple product is assigned to multiple configurable products.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product-graph-ql"]},{"id":"ACSD-60632","require":{"MDVA-42855-V2":["2.4.5-p9","2.4.5-p8"]},"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p9","2.4.5-p8"],"description":"Fixes the issue where a new address is saved each time an order placement attempt is made, regardless of whether the order is successfully created or not.","categories":["Order\/Checkout","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-webapi"]},{"id":"ACSD-60816","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the NewRelic Browser Monitoring scripts injected by the APM agent are not compliant with CSP (Content Security Policy), preventing their execution.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-backend","magento\/module-catalog","magento\/module-new-relic-reporting","magento\/module-theme"]},{"id":"ACSD-61195","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where no cart items are returned on the last page for the cart GraphQL request.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-59366","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes an error that occurs when attempting to delete a team that contains deactivated users who are not visible in the team list. While deleting a team with child users or teams irrespective of their status (inactive) via GraphQL, the system now provides an informative error message that is consistent with UI.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company","magento\/module-company-graph-ql"]},{"id":"ACSD-59865","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a Cart Price Rule doesn't cancel previously applied rules if the quantity of the product in the cart is not enough for the rules to be applied.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-59925","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue with sorting items in the media gallery by position in GraphQL.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-59952","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where an error is thrown when creating a shared catalog with a group ID that is assigned to an existing shared catalog.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-60590","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves the performance of generating Bestsellers Aggregated Daily Reports for a large volume of placed orders.","categories":["Reports","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-60673","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Cart Price Rule for multiple payment methods at checkout doesn't apply appropriately to the specific payment method.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-sales-rule"]},{"id":"ACSD-60684","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where GraphQL product sorting by multiple fields doesn't work as expected.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-60788","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where custom scripts for Google Tag Manager are not executed due to Content Security Policy (CSP) errors.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-csp","magento\/module-google-tag-manager"]},{"id":"ACSD-61322","replacedWith":"ACSD-67603 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where Products\/Categories not assigned to the Shared Catalog for the Default (General Group) are still included in the XML Sitemap.","categories":["B2B","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-sitemap","magento\/module-catalog-permissions"]},{"id":"ACSD-61366","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the setup:static-content:deploy --jobs 4 command runs with multiple jobs failing with the \"Port must be configured within host parameter\" error when the port is specified for the DB connection.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-48318","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where environment emulation nesting is not allowed. Now, the emulation starts during the send() call once the emulation stops during the getInfoBlockHtml() call.","categories":["Emails","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-59930","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Improves performance of the company's create, save, and delete flows.","categories":["B2B","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-60584","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where an access token created for the user on one website is allowed to access or change customer information on other websites.","categories":["GraphQL","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-graph-ql"]},{"id":"ACSD-60804","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where editing a customer that is linked to a deleted company causes the error \"Call to a member function getSuperUserId() on null\".","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-61133","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5"],"require":{"ACSD-54989":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5"]},"description":"Fixes the issue where sales_clean_quotes cron deletes quotes from unapproved purchase orders.","categories":["Order\/Checkout","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-sales","magento\/module-purchase-order"]},{"id":"ACSD-61528","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where retrieving roles from the Admin using GraphQL returns no results.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-61553","replacedWith":"ACSD-61553 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5. Use ACSD-63469 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where Cart Price Rule discounts are incorrectly calculated when multiple discounts with different priorities and \"Maximum Qty Discount is Applied To\" are applied to the product.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-61667","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves inventory performance for creating shipping in case of many sources with in-store pickup.","categories":["Inventory","Performance","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-sales"]},{"id":"ACSD-61969","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the user is required to type in the coupon code exactly as it is configured taking into consideration uppercase or lowercase.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-multicoupon","magento\/module-multicoupon-ui"]},{"id":"ACSD-60267","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where FPT applies correctly when adding simple products with FPT directly to the cart, but fails when selecting these products through configurable product options.","categories":["Price\/Tax","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-weee"]},{"id":"ACSD-61103","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the failure count in the customer_entity table is not reset to zero after a customer successfully logs in through API endpoints.","categories":["Customer","Web API"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-customer","magento\/module-customer-graph-ql","magento\/module-integration"]},{"id":"ACSD-61134","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Braintree Vault payment method is automatically deselected in the checkout workflow when a shopper updates their billing address by deselecting the \"My billing and shipping address are the same\" checkbox.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"ACSD-61199","deprecated":true,"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the CMS page hierarchy tab did not display a proper tree structure when editing a CMS page with an existing hierarchy, ensuring the hierarchy tree now displays correctly in the CMS page.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-versions-cms"]},{"id":"ACSD-61200","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the calculations for \"Total Amount\" and \"Total Amount Actual\" in sales are missing the \"Discount Tax Compensation Amount\" and \"Shipping Discount Tax Compensation Amount,\" causing discrepancies in the sales order data.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-61522","replacedWith":"ACSD-66093 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where it is possible to enter email addresses into the guest customer's First Name and Last Name fields and send invalid order confirmation emails.","categories":["Customer","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-quote"]},{"id":"ACSD-61756","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Improves performance of AdvancedSalesRule filters.","categories":["Shopping Cart","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-sales-rule"]},{"id":"ACSD-61799","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the total discount is incorrectly calculated when multiple cart rules with fixed discounts are applied to the quote.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-61845","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1"],"description":"Fixes the error that occurs when a request is sent with only \"text\/html\" accept header.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-62056","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where image uploading for a configurable product fails if MSI is installed.","categories":["Catalog\/Product","Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-configurable-product-admin-ui"]},{"id":"ACSD-62485","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where async.operations.all consumer stops working when a company is created.","categories":["B2B","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-58383","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where issuing a refund via the REST API with two identical requests that are executed simultaneously, creates duplicate credit memos.","categories":["Payments","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal","magento\/module-sales"]},{"id":"ACSD-58471","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where dynamic content fails to load on the product detail page, when the associated catalog price rules were scheduled.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-banner"]},{"id":"ACSD-58566","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where GraphQL returns an internal server error when querying the created_at field in the addPurchaseOrderComment mutation.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-purchase-order"]},{"id":"ACSD-58685","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where sales emails initiated while email communication was disabled, would still be sent once email communication was re-enabled.","categories":["Order\/Checkout","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-58735","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a restricted admin couldn't view the abandoned shopping carts on the customer account page in the Admin for an associated website.","categories":["Customer","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-58828","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the server-side validation message \"address is required\" appears if any required field is left empty, alongside the client-side validation message. The server-side validation won't display the message for empty required fields, and the client-side validation will handle the error notification, stating, \"This is a required field.\"","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"ACSD-60344","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where duplicate order confirmation emails are sent when using a Purchase Order with auto-approval.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-purchase-order"]},{"id":"ACSD-61348","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where wishlist items are visible via GraphQL, but not on the storefront when in a multi-website environment.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-wishlist-graph-ql"]},{"id":"ACSD-61534","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where design configuration couldn't be set using the bin\/magento config:set command, and locked values could be altered through form manipulation. Now locked values set from the CLI with --lock-env or --lock-conf can't be updated.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-theme"]},{"id":"ACSD-61785","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where updating the reward_warning_notification attribute wasn't possible via GraphQL mutation and REST API calls, aligning its behavior with reward_update_notification.","categories":["Customer","GraphQL","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-reward"]},{"id":"ACSD-62591","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixing the issue where the theme doesn't switch properly when the \"User Agent Rules\" are configured.","categories":["Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-page-cache"]},{"id":"ACSD-62793","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where datetime attributes in exported data don't include the time component. Additionally if \"Fields Enclosure\" is enabled, attribute values in the additional_attributes column will be enclosed within double-quotes.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export","magento\/module-import-export"]},{"id":"ACSD-62332","require":{"ACSD-61103":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the product listing GraphQL query was limited to a total_count of 10,000 products. Fixes the issue where Live Search sets the current page to *1* instead of page *2* in the search criteria when queried via GraphQL.","categories":["GraphQL","Catalog Search","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog-graph-ql","magento\/module-catalog-search","magento\/module-elasticsearch","magento\/module-elasticsearch-7","magento\/module-graph-ql","magento\/module-open-search","magento\/module-elasticsearch-catalog-permissions"]},{"id":"ACSD-63242","releases":["2.4.7-p3","2.4.6-p8"],"description":"Fixes the issue with slow import when adding catalog products with more than 10,000 entries.","categories":["Import\/Export","Performance"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-63062","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where incorrect cart discount calculations occur when multiple overlapping rules are applied.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote","magento\/module-sales-rule"]},{"id":"ACSD-62979","require":{"ACSD-61103":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where using the wrong Store ID in the GraphQL header causes a fatal memory error.","categories":["GraphQL","Performance"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-store"]},{"id":"ACSD-62971","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where importing stock sources with non-numeric values in the 'quantity' column results in the quantity being set to 0.","categories":["Inventory","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-import-export"]},{"id":"ACSD-62952","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Gift Registry date is displayed inaccurately on the storefront.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-registry"]},{"id":"ACSD-62872","deprecated":true,"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue with unique attribute validation where schedule updates are validated incorrectly.","categories":["Admin","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-eav"]},{"id":"ACSD-62755","replacedWith":"ACSD-62708 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11"],"description":"Fixes the issue where TinyMCE 7 requires font size and font to be specifically added within editor initialization settings.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-cms","magento\/module-page-builder"]},{"id":"ACSD-62670","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11"],"description":"Fixes the issue where the Products Ordered report export to CSV and XML throws an error.","categories":["Reports","Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-reports"]},{"id":"ACSD-62577","deprecated":true,"replacedWith":"ACSD-62577 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7. Use ACSD-68040 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue with slow performance of storefront search queries by optimizing both query and table indexes.","categories":["Performance","Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-search"]},{"id":"ACSD-68040","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the frontend search page experiences performance degradation on MariaDB 10.6 and 11.4 with many historical search requests.","categories":["Performance","Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-search"]},{"id":"ACSD-62475","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the Gift Card products are merged incorrectly in the cart.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-62428","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where \"is_out_of_stock\" is set to an incorrect value in the catalog search index when the SKU is not set as a searchable attribute.","categories":["Inventory","Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog","magento\/module-inventory-configurable-product","magento\/module-inventory-elasticsearch","magento\/module-inventory-indexer","magento\/module-inventory-sales-api"]},{"id":"ACSD-62355","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Improves loading time of configurable product edit page when configurable product is based on a lot of attributes with a lot of values.","categories":["Admin","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"ACSD-61805","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where products remain out of stock on the storefront after updating the backorder status via the REST API.","categories":["Inventory","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"ACSD-60811","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where updating order status with custom value or comment is only possible if the current status is either \"processing\" or \"fraud.\"","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-55339","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a product SKU starting with 0 trims 0, preventing the quote from being updated.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-57570","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"require":{"ACSD-51291":["2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"description":"Fixes the issue where a restricted admin user with access to a particular store cannot always see all shared catalogs to which the products are assigned or can see customers that cannot save, leading to inconsistencies in the system.","categories":["B2B","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog","magento\/module-admin-gws","magento\/module-support","magento\/module-customer","magento\/module-user"]},{"id":"ACSD-58325","require":{"ACSD-54342":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the Import button is available even after a validation error.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export","magento\/module-import-export","magento\/module-import-csv","magento\/module-import-csv-api","magento\/module-scheduled-import-export"]},{"id":"ACSD-59083","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where some database update operations result in 'Base table or view not found' error if the mview update is running at the same time.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-scalable-oms"]},{"id":"ACSD-61622","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1"],"description":"Fixes the issue where FedEx's account specific rates are missing in the response.","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-fedex"]},{"id":"ACSD-61895","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the categories GraphQL query returns categories with allow permission even if the root category doesn't have allow permission.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-permissions-graph-ql"]},{"id":"ACSD-62212","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the \"Forgot Password\" email content is not translated to the store view's language.","categories":["Customer","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-store-graph-ql"]},{"id":"ACSD-62481","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the customer's shopping cart gets empty even if Persistence is enabled.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-persistent"]},{"id":"ACSD-62629","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where a product list used in Widgets does not respect category condition.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"ACSD-62635","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where multi-store related products do not display properly in the GraphQL product query.","categories":["GraphQL","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-related-product-graph-ql"]},{"id":"ACSD-62671","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the GraphQL request does not return up-to-date address information on the first attempt.","categories":["GraphQL","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-graph-ql"]},{"id":"ACSD-62689","replacedWith":"ACP2E-3689 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the customer is unable to add Categories in Related Product Rules and Widgets after depth 4.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-62708","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11"],"description":"Fixes the issue where TinyMCE 7 editor font size in the admin shows PT and not PX. Now, you can also set the font size in PX instead of PT.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-cms","magento\/module-page-builder"]},{"id":"ACSD-62758","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where product videos do not render correctly on the Configurable Product's details page if the URL contains selected options.","categories":["Catalog\/Product","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-product-video","magento\/module-swatches"]},{"id":"ACSD-62951","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Credit Memo email is sent without including items and totals.","categories":["Order\/Checkout","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-62965","releases":["2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where a LocalizedException message is not included in the order placement GraphQL response.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-graph-ql","magento\/module-quote-graph-ql","magento\/module-async-order-graph-ql"]},{"id":"ACSD-63286","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"require":{"ACSD-62332":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"description":"Fixes the issue where products assigned to a shared catalog via API do not appear on the storefront until a manual reindex is executed.","categories":["Catalog\/Product","Web API","B2B"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","magento\/module-catalog","magento\/module-indexer","magento\/module-catalog-permissions","magento\/module-catalog-staging","magento\/module-elasticsearch-catalog-permissions","magento\/module-staging","magento\/module-shared-catalog"]},{"id":"ACSD-63326","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the admin is redirected to a broken page after placing an order from the backend.","categories":["Admin","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-48570","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the reset password page couldn't be reached by clicking the Admin reset password link when \"Add Store Code to URLs\" was enabled, which previously resulted in the login page or a 404 page being displayed.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-user"]},{"id":"ACSD-62118","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the sales_order_tax_item table isn't fully updated when B2B orders are placed using the Purchase Order method.","categories":["B2B","Price\/Tax","Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-purchase-order"]},{"id":"ACSD-63067","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where all product quantities are incorrectly highlighted, and the message \"Please specify the quantity of product(s).\" is displayed for all products in a grouped product when only one quantity is incorrect.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["lib\/web"]},{"id":"ACSD-63090","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where shopping cart items are removed when a product is deleted, after being added to the cart.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote"]},{"id":"ACSD-63182","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where an error occurs when saving a product after duplicating a bundle product with MSI enabled.","categories":["Catalog\/Product","Inventory","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-bundle-product"]},{"id":"ACSD-63283","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where ordering items from the gift registry causes an exception and where gift registry updates include items that don't belong to the registry.","categories":["Other","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-registry"]},{"id":"ACSD-63299","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the special price for a configurable product doesn't display on the storefront.","categories":["Catalog\/Product","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"ACSD-63325","replacedWith":"ACSD-63325 for 2.4.7. Use ACSD-67941 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where a \"Syntax Error: Unexpected \" error occurs when submitting an empty GraphQL request.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-graph-ql"]},{"id":"ACSD-67941","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1"],"description":"Fixes the issue where GraphQL requests with unknown filter names cause PHP exception logs.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-customer-graph-ql","magento\/module-graph-ql","magento\/theme-frontend-blank","magento\/theme-frontend-luma"]},{"id":"ACSD-63329","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the default values for attributes with \"Date\" or \"Date and Time\" input types aren't set when creating products via the REST API.","categories":["Catalog\/Product","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-eav"]},{"id":"ACSD-63572","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the CatalogRule indexer temporary tables aren't cleaned up if the indexer process is terminated.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-rule"]},{"id":"ACSD-63578","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where clicking the \"Delete\" button in \"Add to Order by SKU\" in the Admin doesn't remove the SKU.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-advanced-checkout"]},{"id":"ACSD-63454","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the default value for a dropdown and multi-select attributes is not saved properly in the database.","categories":["Admin","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-eav","magento\/module-swatches"]},{"id":"ACSD-63574","releases":["2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes an issue where adding a Bundle Product Listing to a block via the Page Builder resulted in an error.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACSD-63793","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue when Import Processes are interfering with Each Other in different browser tabs.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-import-export"]},{"id":"ACSD-63870","releases":["2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a company customer wasn't logged out properly when the company status changes during the customer active session.","categories":["Order\/Checkout","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout","magento\/module-theme"]},{"id":"ACSD-64112","replacedWith":"ACSD-64112 for 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5. Use ACP2E-3705 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes an issue where the indexer_update_all_views cron execution fails when MAGE_INDEXER_THREADS_COUNT is set.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-indexer","magento\/module-catalog-permissions"]},{"id":"ACSD-64113","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixed the issue causing errors in the admin when uploading images with a relatively small width compared to their height (or vice versa) via the media gallery.","categories":["Admin","Content"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-64212","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where an order is not associated with a customer account when the account is created via GraphQL after the order is placed.","categories":["GraphQL","Customer","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-graph-ql","magento\/module-quote-graph-ql"]},{"id":"ACSD-63469","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixed the issue where fixed-amount discounts for the whole cart were not being applied properly when more than one rule was applied.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-63323","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the 'Select All' option doesn't work when adding products to a category. Additionally, it ensures that pagination and the record count label function correctly when adding products to a category via the popup grid.","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser"]},{"id":"ACSD-63992","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes an issue where a cart price rule with a coupon and a condition based on a shipping method cannot be correctly applied through the Admin UI.","categories":["Shopping Cart","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales","magento\/module-sales-rule","magento\/module-multicoupon-ui","magento\/module-inventory-in-store-pickup-sales-admin-ui"]},{"id":"ACSD-64111","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes an error when setting nested conditions for a Product component in Page Builder.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-rule"]},{"id":"ACSD-64137","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where searching for pickup locations by zip code did not work properly for Dutch localization.","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-directory"]},{"id":"ACSD-64149","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a customer segment with a date range condition can be saved when only one of the dates is edited.","categories":["Customer","Admin"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACP2E-3689","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes multiple issues with category tree display on deeper levels and reflecting anchor\/non-anchor relationships.","categories":["Catalog\/Product","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACP2E-3705","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes an issue where the indexer_update_all_views cron execution fails when MAGE_INDEXER_THREADS_COUNT is set.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-indexer","magento\/module-catalog-permissions"]},{"id":"ACSD-63883","releases":["2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Requisition List returns an incorrect items_count in the GraphQL response.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-grouped-requisition-list","magento\/module-requisition-list","magento\/module-requisition-list-graph-ql"]},{"id":"ACSD-63974","releases":["2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the Requisition list page takes too much time to load when there are too many items, by adding a pagination feature to the Requisition list grid on the Storefront, that displays only portions of records that are limited to the number of records per page, instead of all the records at once.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list"]},{"id":"ACSD-64178","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the attribute set edit page loads slowly if there are thousands of product attributes.","categories":["Catalog\/Product","Performance","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-configurable-product"]},{"id":"ACSD-64209","releases":["2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the cron scheduler retrieves all negotiable quotes without excluding those with the status \"ordered\", causing an email or emails to be triggered.","categories":["B2B","Cron","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-64431","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"The \"placeOrder\" mutation that contains the coupon code information in the request no longer throws an internal error, but instead shows that the order was placed successfully.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-graph-ql","magento\/module-sales-rule-graph-ql"]},{"id":"ACSD-64467","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the WYSIWYG editor appears empty after saving a category description on the store view level.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-ui"]},{"id":"ACSD-64546","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a generic error message occurs in the UI and an \"Array to string conversion\" exception is stored in the logs during UPS shipping label creation, ensuring that the actual error is displayed in the UI and the correct error message is stored in the logs.","categories":["Shipping"],"origin":"Adobe Commerce Support","components":["magento\/module-shipping"]},{"id":"ACSD-64684","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a validation error occurs when editing and saving a gift card with a value greater than 999 due to the comma (thousand separator) in the number \"one thousand\" (1,000).","categories":["Catalog\/Product","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card"]},{"id":"ACSD-63406","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9"],"description":"Fixes the issue where expired persistent quotes are not cleared by any cron job when the 'persistent_clear_expired' cron job runs.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-persistent"]},{"id":"ACSD-63520","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where images added through Configurations in the admin panel do not adhere to the maximum upload size limit.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"ACSD-64523","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where it was possible to create new products without a name through the import process (admin or API), which would break the admin interface and result in invalid products.","categories":["Catalog\/Product","Import\/Export","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-import-export"]},{"id":"ACSD-64532","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2"],"description":"Fixes the issue where an ENV variable set to \"false\" is treated as a string \"false\" instead of a boolean false.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-64592","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the claim link from the email for a gift card in non-default stores always redirected the gift card claim to the default website.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card"]},{"id":"ACSD-64732","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where 3rd party controllers were not cached correctly with customer segments.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-segment"]},{"id":"ACSD-65164","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the error message \"Some of the selected item options are not currently available\" occurs when reordering a configurable product with a single selected checkbox custom option.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-64627","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8"],"description":"Fixes the issue where custom customer attributes can't be saved when adding or editing users within the Company Structure.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-64753","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the pre-selected store in \"Pickup in Store\" doesn't update when the shipping address changes, even if it is outside the store's radius.","categories":["Inventory"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-frontend"]},{"id":"ACSD-65195","releases":["2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the GraphQL mutation `createCompany` throws an error for a country without a required region.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACP2E-3838","require":{"ACSD-63244":["2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9"]},"releases":["2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9"],"description":"Fixes the issue where Page Builder CORS errors prevent saving changes in the Admin panel in production mode.","categories":["Content","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-csp"]},{"id":"ACP2E-3841","replacedWith":"ACP2E-3841 for 2.4.8-p3, 2.4.8-p2, 2.4.8-p1, 2.4.8. Use ACP2E-4050 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where cart price rules for multi-shipping products do not apply correctly when subselect conditions are used and free shipping is enabled.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-63139","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where product export fails when product attributes contain thousands of option values.","categories":["Import\/Export","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-65100","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where removing the values for Maximum Width and Maximum Height in the Media Gallery Image Optimization configuration causes an error during the image optimization process.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-media-gallery-renditions"]},{"id":"ACSD-65127","releases":["2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where enabling JavaScript minification in production mode caused TinyMCE 6 to generate errors in the browser console, affecting functionality and user experience.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-store"]},{"id":"ACSD-65787","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5"],"description":"Fixes the issue where the SchemaBuilder class crashes during schema creation or updates due to an undefined array key 'column' when processing table data.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-65223","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9"],"description":"Fixes the issue where manually selected terms and agreements for B2B purchase orders result in an error.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout-agreements-purchase-order","magento\/module-purchase-order","app\/code"]},{"id":"ACSD-65540","releases":["2.4.8","2.4.7-p5","2.4.6-p10"],"description":"Fixes the issue where an SQL syntax error occurs due to the absence of the REGEXP_LIKE function when updating the company_structure table.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-65684","require":{"ACSD-65540":["2.4.8","2.4.7-p5","2.4.6-p10"]},"releases":["2.4.8","2.4.7-p5","2.4.6-p10"],"description":"Fixes the performance issue where upgrading the Magento_Company module after updating to B2B 1.5.2 took an excessively long time when processing a large number of records (~100,000+) in the company_structure table.","categories":["B2B","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACP2E-3753","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where product alert emails in a multi-store setup were always sent using the default theme, regardless of the store or theme configuration.","categories":["Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-product-alert"]},{"id":"ACSD-64118","require":{"ACSD-55100":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"ACSD-64178":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"]},"releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where concurrent requests to save and update the same product result in data inconsistency or duplicated products.","categories":["Catalog\/Product","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-64813","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where it took a long time to unassign categories in a B2B shared catalog.","categories":["B2B","Web API","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-65202","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the \"My Account\" page doesn't display recent orders from other store views within the same store.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-65254","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where email notifications were not sent to customers after updating their email addresses on their accounts using the `updateCustomerEmail` GraphQL mutation.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-customer-graph-ql"]},{"id":"ACSD-65331","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the selected store in \"Pick in Store\" was cleared after repeatedly navigating back to the checkout page.","categories":["Inventory","Shipping","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-in-store-pickup-frontend","magento\/module-inventory-in-store-pickup-quote"]},{"id":"ACSD-65822","require":{"ACSD-58685":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where bundle and configurable product quantities don't display correctly in the \"Shopping Cart\" section under Customer Activities.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-66093","releases":["2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where email addresses could be entered into the guest customer's First and Last Name fields, resulting in invalid order confirmation emails.","categories":["Customer","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-quote"]},{"id":"ACP2E-3789","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where updating a product via WebAPI duplicated media files when a media ID was provided","categories":["Catalog\/Product","Content","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACP2E-3918","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where checkout failed for logged-in company customers using in-store pickup without a default billing address.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-purchase-order"]},{"id":"ACSD-65750","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the GraphQL \"route\" query returned products out of order in Page Builder Products content types.","categories":["Content","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-65775","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where the REST API order details returned incorrect \"base_row_total\" and \"row_total\" values when multiple quantities of the same item were ordered.","categories":["Order\/Checkout","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-65777","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where the \"types\" field was missing for product image types in the `MediaGallery` GraphQL request.","categories":["GraphQL","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql"]},{"id":"ACSD-65848","replacedWith":"ACSD-67643 for 2.4.8-p3, 2.4.8-p2, 2.4.8-p1, 2.4.8","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where the total product count in a category was calculated using a sub-select, by refactoring the method to use a join instead.","categories":["Performance","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-65913","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where OpenSearch threw an illegal_argument_exception for categories with products having the same price.","categories":["Catalog Search"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"ACSD-66041","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where Ireland (IE) postcodes were not searchable for pickup locations due to a missing CountryID.","categories":["GraphQL","Shipping","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-directory","magento\/module-inventory-in-store-pickup"]},{"id":"ACSD-66212","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10"],"description":"Fixes the issue where importing a customer CSV file twice caused failures on the second and subsequent attempts.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-company-customer-import-export"]},{"id":"ACSD-65935","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the `customerOrders` GraphQL query returned an internal server error when a product was deleted.","categories":["Order\/Checkout","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-rma","magento\/module-rma-graph-ql"]},{"id":"ACSD-66049","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3"],"description":"Fixes the issue where non-English storefronts display incorrect pricing due to the ICU library version.","categories":["Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-directory"]},{"id":"ACSD-66084","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where `row_total_incl_tax` is returned as a near-zero residual value in the order API response instead of 0.00 for fully discounted items.","categories":["Order\/Checkout","Web API","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-66118","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where updating the store view code clears Design Configuration settings if the configuration cache is not refreshed.","categories":["Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-backend"]},{"id":"ACSD-66139","require":{"ACSD-55100":["2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"ACSD-62965":["2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"]},"releases":["2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where GraphQL calls to place an order for a non-existent or inactive cart returned an UNDEFINED error code.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql","magento\/module-async-order-graph-ql"]},{"id":"ACSD-66301","releases":["2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9"],"description":"Fixes the issue where moving products from an order back to the cart in the Admin results in quantity mismatch.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-66434","replacedWith":"ACSD-66434-V2 for 2.4.8-p1, 2.4.8, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8","releases":["2.4.8-p1","2.4.8","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8"],"description":"Fixes the issue where customer ID was missing from company GraphQL queries.","categories":["B2B","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-66434-V2","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8"],"description":"Fixes the issue where customer ID was missing from company GraphQL queries.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company-graph-ql"]},{"id":"ACSD-66441","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where the storefront displays incorrect index data in layered navigation when indexing configurable products for a multi-store setup.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product"]},{"id":"ACSD-58131","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the presence of a 0-byte image in the media gallery prevented all images in the directory from being displayed or selected.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-cms"]},{"id":"ACSD-62146","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the selected billing address disappears on the checkout payment page when address search is enabled and \"Number of Customer Addresses Limit\" is set to 1.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout-address-search"]},{"id":"ACSD-62415","replacedWith":"ACSD-67102 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue when Adobe Commerce backend loads categories very slowly.","categories":["Admin","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-67102","replacedWith":"ACSD-68064 for 2.4.7-p8, 2.4.7-p7, 2.4.7-p6, 2.4.7-p5, 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue when Adobe Commerce backend loads categories very slowly.","categories":["Admin","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-68064","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where creating scheduled updates results in duplicate entries in environments with a high number of nested categories.","categories":["Admin","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-65938","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where gift card emails were sent even when the invoice creation failed.","categories":["Catalog\/Product","Order\/Checkout","Emails"],"origin":"Adobe Commerce Support","components":["magento\/module-gift-card"]},{"id":"ACSD-66072","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where related products were not returned via GraphQL on the Product Detail Page due to an internal server error when \"Related Product Rules\" were configured.","categories":["Catalog\/Product","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"ACSD-66082","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where it was not possible to update the swatch image of a product through product import.","categories":["Import\/Export","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACSD-66179","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11"],"description":"Fixes the issue where canceling an invoice created with the \"Not Capture\" payment type resulted in a 404 error page.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-66233","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where admin users were unable to add products to a category due to the Add Product popup failing to load.","categories":["Content","Admin","Inventory","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-visual-merchandiser","magento\/module-inventory-visual-merchandiser"]},{"id":"ACSD-66417","releases":["2.4.7"],"description":"Fixes an issue where the sales order grid throws an error when trying to filter orders by date.","categories":["Payments","Admin"],"origin":"Adobe Commerce Support","components":["paypal\/module-braintree-core"]},{"id":"ACSD-66506","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8"],"description":"Fixes the backend error that occurred when previously assigned products of a Shared Catalog were deleted and new products were assigned.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-66865","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where saving catalog price rules invalidated indexers and provides alternative to reindex only affected products.","categories":["Catalog\/Product","Performance","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog","magento\/module-catalog-rule","magento\/module-catalog-search","magento\/module-indexer"]},{"id":"ACSD-66889","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes deprecated line of code with proper structure to ensure successful completion of inventory indexer process.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch-catalog-permissions"]},{"id":"ACSD-66963","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where the estimateTotals mutation returned null for discounts when a discount code was applied to a cart containing virtual products.","categories":["GraphQL","Shopping Cart","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-66965","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8"],"description":"Fixes the issue with the Requisition List Page Print Option that caused an error.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list"]},{"id":"ACSD-67039","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9"],"description":"Fixes the issue where customer records were not saved due to validation of the rp_token system attribute and diacritics validation is now applied only to the resulting customer email.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-customer","magento\/module-eav"]},{"id":"ACP2E-3731","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where product exports with \"Catalog, Search\" visibility incorrectly include records from other store views in multi-store environments.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export"]},{"id":"ACP2E-3767","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the last bundle option in a bundle product can not be removed.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle"]},{"id":"ACP2E-3964","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixed the issue where child products of configurable products could not be listed via the REST API when a video was set in the gallery.","categories":["Catalog\/Product","Content","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-configurable-product","magento\/module-product-video"]},{"id":"ACP2E-3977","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the \"Cap Reward Points Balance At\" field can not be empty when \"Rewards Points Balance Redemption Threshold\" is set, causing a validation error.","categories":["Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-reward"]},{"id":"ACP2E-4050","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where cart price rules fail to apply correctly for multi-shipping products when bundle product is used and sub-select conditions are used with free shipping is enabled.","categories":["Shipping","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-56226","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where READ queries at the slave node return outdated data when the 'synchronous_replication' flag is enabled.","categories":["Performance","Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-permissions","magento\/module-resource-connections"]},{"id":"ACSD-57477","require":{"ACSD-59865":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"]},"releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where sales rule processing causes slow performance on cart-related requests.","categories":["Order\/Checkout","GraphQL","Shopping Cart","Performance"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-quote","magento\/module-quote-graph-ql","magento\/module-sales-rule"]},{"id":"ACSD-58108","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the missing joining table name in the original fetching table caused errors with custom module extension SQL in the order grid.","categories":["Order\/Checkout","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-65983","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10"],"description":"Fixes the issue where reconfiguring a bundled product quote in the Admin backend throws an error.","categories":["B2B","Admin","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-66149","require":{"ACSD-58383":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the IPN handler returns a 500 error for unsupported or unknown IPN types.","categories":["Payments"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"ACSD-66153","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where a page returns a 500 error due to an incorrect layout structure being cached.","categories":["Cache","Content"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-66302","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where wishlist items are incorrectly filtered by store ID instead of being filtered by website.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-wishlist-graph-ql"]},{"id":"ACSD-66311","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9"],"description":"Fixes the issue where the Companies grid loads slowly for admin users with restricted websites access.","categories":["B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-66404","require":{"ACSD-53583":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"]},"releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the cron job fails to clear changelog tables, causing Galera Cluster crashes when handling large amounts of data.","requirements":"The patch depends on ACSD-53583. Do not install it on versions earlier than 2.4.7 if you are using Live Search. Refer to the KB article related to ACSD-53583 for more details.","categories":["Cron"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-indexer","magento\/module-theme","setup\/src"]},{"id":"ACSD-66952","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where cache is cleared on each PLP or Cart visit, causing performance overhead when a Target rule is set.","categories":["Price\/Tax","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-target-rule"]},{"id":"ACSD-67264","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where bundle and downloadable product page layouts are inconsistent across devices.","categories":["Catalog\/Product","Content"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","magento\/module-downloadable","magento\/module-wishlist"]},{"id":"ACSD-67347","releases":["2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11"],"description":"Fixes the issue where order fails with *Cannot acquire a lock* error when coupons with special characters are used and file locking is enabled.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule"]},{"id":"ACSD-66120","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where GraphQL incorrectly displayed discount percentages and base prices when catalog prices were configured to include tax.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-graph-ql","magento\/module-catalog-rule","magento\/module-tax"]},{"id":"ACSD-66157","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue when the special price doesn't take effect for websites created in different time zones.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-staging"]},{"id":"ACSD-67659","releases":["2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes an issue causing translated error messages to return an UNDEFINED error code.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-async-order-graph-ql","magento\/framework","magento\/module-graph-ql","magento\/module-quote-graph-ql"]},{"id":"ACSD-67030","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixed the issue where simple products are unassigned from a configurable product when edited by a limited role admin.","categories":["Admin","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-admin-gws-configurable-product"]},{"id":"ACSD-67166","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes duplicate execution of the cataloginventory_stock_status query when loading a quote on the storefront, causing redundant DB calls.","categories":["Inventory","Performance"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-catalog"]},{"id":"ACSD-67250","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.6-p9"],"description":"The Shared Catalog save operation now updates only affected items, improving performance by eliminating unnecessary operations on unaffected data.","categories":["Performance","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog-import-export","magento\/module-negotiable-quote-shared-catalog","magento\/module-shared-catalog"]},{"id":"ACSD-67289","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes an issue where the regular price doesn't display when a special price is applied.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-67686","releases":["2.4.6-p13","2.4.6-p12","2.4.5-p15","2.4.5-p14","2.4.4-p16","2.4.4-p15"],"description":"Fixes the issue where a \"Syntax Error: Unexpected \" error occurs when submitting an empty GraphQL request.","categories":["GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-graph-ql"]},{"id":"ACSD-60624","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where Upload Image doesn't work for empty content in Image, Banner, and Slider sections in PageBuilder.","categories":["Content"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"ACSD-67089","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the pagination issue in the `inventory\/export-stock-salable-qty` API, which incorrectly limits `total_count` to the page size.","categories":["Inventory","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-export-stock"]},{"id":"ACSD-67093","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where retrieving orders through GraphQL using the date range filter returns incorrect results.","categories":["GraphQL","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-graph-ql"]},{"id":"ACSD-67459","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5"],"description":"Fixes the issue where products with descriptions longer than 65,536 characters cannot be imported.","categories":["Import\/Export"],"origin":"Adobe Commerce Support","components":["magento\/module-import-export"]},{"id":"ACSD-67603","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where sitemap generation for products with image inclusion enabled experiences long processing times.","categories":["Other","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-sitemap","magento\/module-catalog-permissions"]},{"id":"ACSD-67643","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where duplicate entries are created during scheduled updates in environments with a high number of nested categories.","categories":["Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-67652","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where bundle product status is returned as out-of-stock in GraphQL calls even with child and parent products in stock.","categories":["Inventory","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-graph-ql"]},{"id":"ACSD-67904","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where orders can't be placed if the city name contains digits (0-9), ampersand (&), period (.), or parentheses ().","categories":["Customer","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-customer"]},{"id":"ACSD-66807","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where the report_viewed_product_index table shows an incorrect count of product page views.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-reports"]},{"id":"ACSD-67383","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where using Login as Customer with two company admin accounts in the same session causes a \"No such entity with cartId\" error.","categories":["Admin","Customer","B2B"],"origin":"Adobe Commerce Support","components":["magento\/module-login-as-customer-frontend-ui"]},{"id":"ACSD-67518","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where advanced reporting generates duplicated header rows when the row count exceeds the batch size.","categories":["Reports"],"origin":"Adobe Commerce Support","components":["magento\/module-analytics"]},{"id":"ACSD-67639","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where creating a credit memo fails for bundle products with Dynamic Price set to No.","categories":["Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"ACSD-67696","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where media_gallery entries do not return in the Cart GraphQL product node after a cache flush.","categories":["Catalog\/Product","GraphQL","Cache"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"ACSD-67946","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the issue where cart updates show duplicate error banners.","categories":["Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-checkout"]},{"id":"ACSD-68011","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9"],"description":"Fixes the issue where non-existent SKUs can be assigned to a shared catalog via the \/V1\/sharedCatalog\/:id\/assignProducts REST API.","categories":["B2B","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-68118","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6"],"description":"Fixes the issue where the customerCart GraphQL query returns product attribute values that do not reflect the store header, causing inconsistent localization.","categories":["GraphQL","Shopping Cart"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-68092","require":{"ACP2E-3767":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"]},"releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixes the issue where bundle product options are lost after multiple saves due to improper synchronization between scheduled updates and base product data.","categories":["Admin","Catalog\/Product"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle","setup\/src","magento\/module-bundle-staging"]},{"id":"ACSD-67424","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8"],"description":"Fixes the issue where the updated_at value in the GET \/carts\/search REST API response does not match the value shown in the Admin Panel when using Negotiable Quotes.","categories":["B2B","Web API"],"origin":"Adobe Commerce Support","components":["magento\/module-negotiable-quote"]},{"id":"ACSD-67187","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9"],"description":"Fixes the issue where admin users restricted to non-default websites see the error \"Please create at least a public shared catalog to proceed\" and cannot access the \"Add New Company\" button on the Company grid.","categories":["B2B","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"ACSD-67171","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where B2B users see an Access Denied page when their session expired or was removed during checkout.","categories":["B2B","Order\/Checkout","Customer"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"ACSD-67908","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where JS files fail to merge properly in multi-store setups.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-68190","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where discounts don't apply, applied discounts don't display correctly in the GraphQL cart view response, and non-coupon discounts are removed on removing a coupon discount.","categories":["Shopping Cart","Price\/Tax","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/module-sales-rule","magento\/module-advanced-rule","magento\/module-advanced-sales-rule"]},{"id":"ACSD-68206","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7"],"description":"Fixes the error when using the GraphQL Application server with the Rate Limiting feature with PHP Redis extension installed.","categories":["Cache","GraphQL"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"ACSD-68356","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8"],"description":"Fixed the issue where a GraphQL cart query returned an incorrect discount amount for virtual quotes.","categories":["GraphQL","Price\/Tax"],"origin":"Adobe Commerce Support","components":["magento\/module-quote-graph-ql"]},{"id":"ACSD-68391","releases":["2.4.8-p3","2.4.8-p2","2.4.8-p1","2.4.8","2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10"],"description":"Fixes the issue where category-related permissions were not correctly applied in Quick Order and Requisition Lists.","categories":["B2B","Admin"],"origin":"Adobe Commerce Support","components":["magento\/module-bundle-requisition-list","magento\/module-quick-order","magento\/module-requisition-list","magento\/module-requisition-list-graph-ql"]},{"id":"ACSD-68400","releases":["2.4.7-p8","2.4.7-p7","2.4.7-p6","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes an issue where the virtual gift card quantity was not accurately reflected in the inventory reservation table.","categories":["Inventory","Order\/Checkout"],"origin":"Adobe Commerce Support","components":["magento\/module-inventory-source-selection-api"]},{"id":"MAGECLOUD-4530","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fix cron deadlocks and improve cron locking","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-cron"]},{"id":"MAGECLOUD-3054","releases":["2.3.1","2.3.0"],"description":"Add Zookeeper and flock locks","categories":["Other"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","setup\/src"]},{"id":"MCLOUD_6139","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Add Zookeeper and flock locks","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MAGECLOUD-3913","releases":["2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Fix Problems with Consumer Runners on Cloud Clusters","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-message-queue"]},{"id":"MAGETWO-98833","releases":["2.3.1","2.3.0"],"description":"Google chart API used by Magento dashboard scheduled to be turned off","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-backend"]},{"id":"MAGECLOUD-2822","releases":["2.3.1","2.3.0"],"description":"Add the possibility to configure max execution time during static content deployment","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-deploy"]},{"id":"MAGECLOUD-2820","releases":["2.3.1","2.3.0"],"description":"Suppress PDO warnings to work around PHP bugs #63812, #74401","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MC-5964","releases":["2.3.0"],"description":"Pre-auth SQL","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog"]},{"id":"MAGECLOUD-3611","releases":["2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Multi-thread SCD","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-deploy"]},{"id":"MAGECLOUD-3806","releases":["2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"setup:upgrade returns error code if app:config:import failed","categories":["Other"],"origin":"Adobe Commerce Support","components":["setup\/src"]},{"id":"MAGECLOUD-4071","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Re-work consumers to terminate as soon as there is nothing left to process","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework-message-queue","magento\/module-message-queue"]},{"id":"MAGECLOUD-4442","releases":["2.3.3"],"description":"Backward Compatibility of new Mail Interfaces","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-email"]},{"id":"MAGECLOUD-4847","releases":["2.3.3"],"description":"Catalog Product pagination does not work on Elasticsearch 6.x","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-catalog","magento\/module-catalog-search","magento\/module-checkout","magento\/module-downloadable-graph-ql","magento\/module-eav","magento\/module-elasticsearch","magento\/module-elasticsearch-6","magento\/module-sales-rule","magento\/module-swatches"]},{"id":"MC-21820","releases":["2.3.3"],"description":"Catalog Product collection method chaining is broken","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MAGECLOUD-3392","releases":["2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Reduce q-ty of error report files","categories":["Other"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","pub\/errors"]},{"id":"PRODSECBUG-2233","releases":["2.3.1","2.3.0"],"description":"Fix XSS in order history","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-sales"]},{"id":"MAGETWO-99902","releases":["2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Pass Store View scope in the Async\/Bulk Web API","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-amqp","magento\/module-asynchronous-operations"]},{"id":"PRODSECBUG-2432","releases":["2.3.1","2.3.0"],"description":"Admin path disclosure bug","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MAGECLOUD-5069","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"FPC is getting disabled during deployments","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-page-cache"]},{"id":"MCLOUD-5650","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3"],"description":"Hold deployment config after reading from file","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MCLOUD-5684","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2"],"description":"Pagination Not working - product_list_limit=all","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-elasticsearch"]},{"id":"MCLOUD-3025","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Sitemap Generation Warnings","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-sitemap"]},{"id":"MCLOUD-5837","releases":["2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4-p1","2.3.4"],"description":"Fix load balancer issue","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MDVA-22950","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1"],"description":"Large amount of Keys Block Cache","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-swatches"]},{"id":"MCLOUD-6139_MCLOUD-6211","releases":["2.3.4-p2","2.3.4-p1","2.3.4","2.3.3-p2","2.3.3","2.3.2-p2","2.3.2-p1","2.3.2","2.3.1","2.3.0"],"description":"Redis improvements","categories":["Other"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","magento\/module-catalog","magento\/module-config","magento\/module-eav","magento\/module-theme","setup\/src"]},{"id":"MCLOUD-6211","releases":["2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Redis improvements","categories":["Other"],"origin":"Adobe Commerce Support","components":["app\/etc","magento\/framework","magento\/module-catalog","magento\/module-config","setup\/src"]},{"id":"MCLOUD-6659","releases":["2.4.0-p1","2.4.0"],"description":"Redis improvements","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MCLOUD-7845","releases":["2.4.1-p1","2.4.1"],"description":"Redis improvements","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"AC-384","releases":["2.4.3","2.3.7-p1"],"description":"Incompatible PHP Method Fix","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MCLOUD-8279","releases":["2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3"],"description":"Fixed currency displaying on product page","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-directory"]},{"id":"MCLOUD-10032","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7"],"description":"Auto increment number jumping up for catalog_product_entity_* tables","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MCLOUD-10279","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0"],"description":"Fixes the error 'The file can't be deleted. Warning!unlink: No such file or directory' when flushing JS\/CSS cache from the Admin","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MCLOUD-10604","releases":["2.4.6-p1","2.4.6"],"description":"Reduced the number of times the same deployment configurations load","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MCLOUD-11329","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fixes the issue where missed jobs unnecessarily wait for cron job locks.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-cron"]},{"id":"MCLOUD-11514","releases":["2.4.6-p13","2.4.6-p12","2.4.6-p11","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Enhanced Layout Cache Efficiency (memory usage reduced)","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework"]},{"id":"MCLOUD-12969","releases":["2.4.7-p1","2.4.7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Patch for CVE-2024-34102 - CosmicSting","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-jwt-user-token","magento\/theme-frontend-blank","magento\/theme-frontend-luma","magento\/theme-adminhtml-backend","magento\/module-encryption-key"]},{"id":"MCLOUD-13240","releases":["2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Patch for CVE-2025-24434 - Improve-web-api-async","categories":["Other"],"origin":"Adobe Commerce Support","components":["dev\/tests","magento\/module-customer","magento\/module-quote","magento\/module-webapi-async"]},{"id":"MCLOUD-13619","releases":["2.4.8","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Patch - Improve-web-api-async-performance","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-webapi-async"]},{"id":"MCLOUD-13752","releases":["2.4.8"],"description":"Patch for CVE-2025-47109 - Improve-category-view","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-catalog"]},{"id":"MCLOUD-13753","releases":["2.4.8","2.4.7-p5","2.4.7-p4","2.4.7-p3","2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p10","2.4.6-p9","2.4.6-p8","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Patch for CVE-2025-47110 - Improve-admin-cache-efficiency","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-email"]},{"id":"BUNDLE-3137","releases":["2.4.5"],"description":"Fix creating orders when Braintree is enabled","categories":["Other"],"origin":"Adobe Commerce Support","components":["paypal\/module-braintree-core"]},{"id":"MCLOUD-6923","releases":["2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p4","2.3.7-p3","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5"],"description":"Layered navigation filter is present only when product is present on the listing page with enabled Shared catalog","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-shared-catalog"]},{"id":"B2B-4051","releases":["2.4.7-p2","2.4.7-p1","2.4.7","2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4"],"description":"Fields hydration on company account create request","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"MCLOUD-11623","releases":["2.4.6-p7","2.4.6-p6","2.4.6-p5","2.4.6-p4","2.4.6-p3","2.4.6-p2","2.4.6-p1","2.4.6","2.4.5-p15","2.4.5-p14","2.4.5-p13","2.4.5-p12","2.4.5-p11","2.4.5-p10","2.4.5-p9","2.4.5-p8","2.4.5-p7","2.4.5-p6","2.4.5-p5","2.4.5-p4","2.4.5-p3","2.4.5-p2","2.4.5-p1","2.4.5","2.4.4-p16","2.4.4-p15","2.4.4-p14","2.4.4-p13","2.4.4-p12","2.4.4-p11","2.4.4-p10","2.4.4-p9","2.4.4-p8","2.4.4-p7","2.4.4-p6","2.4.4-p5","2.4.4-p4","2.4.4-p3","2.4.4-p2","2.4.4-p1","2.4.4","2.4.3-p3","2.4.3-p2","2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2"],"description":"Fixes the issue where the file generated after Requisition List export is not removed from the var\/ directory","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-requisition-list"]},{"id":"MCLOUD-13605","releases":["2.4.8","2.4.7-p5","2.4.6-p10"],"description":"Fixes the issue where an SQL syntax error occurs due to the non-existence of the REGEXP_LIKE function when attempting to update the company_structure table.","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-company"]},{"id":"PB-319","releases":["2.3.1"],"description":"Fix pagebuilder module","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"PB-320","releases":["2.3.2"],"description":"Fix pagebuilder module","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"PB-322","releases":["2.3.2-p2","2.3.2-p1"],"description":"Fix pagebuilder module","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"PB-323","releases":["2.3.3"],"description":"Fix pagebuilder module","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-page-builder"]},{"id":"MC-42674","releases":["2.3.7-p1"],"description":"Fixes issue with PayPal Express where previously placed order price is displayed","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/module-paypal"]},{"id":"MC-43048","releases":["2.4.3","2.3.7-p1"],"description":"Raise rate limits","categories":["Other"],"origin":"Adobe Commerce Support","components":["app\/etc"]},{"id":"MDVA-43443","releases":["2.4.3-p1","2.4.3","2.4.2-p2","2.4.2-p1","2.4.2","2.4.1-p1","2.4.1","2.4.0-p1","2.4.0","2.3.7-p2","2.3.7-p1","2.3.7","2.3.6-p1","2.3.6","2.3.5-p2","2.3.5-p1","2.3.5","2.3.4-p2","2.3.4","2.3.3-p2"],"description":"Parser token new fix","categories":["Other"],"origin":"Adobe Commerce Support","components":["magento\/framework","magento\/module-email"]},{"id":"magento2-33723","releases":["2.3.7"],"description":"Optimizes QuoteIdToMaskedQuoteId model. Author: @ihor-sviziev.","categories":["Performance","Shopping Cart"],"origin":"Magento OS Community","components":["magento\/module-quote"]},{"id":"magento2-34228","releases":["2.4.3"],"description":"Fixes upgrade issue from 2.4.2 to 2.4.3 for PayPal data patch. Author: @konarshankar07. ","categories":["Payments"],"origin":"Magento OS Community","components":["magento\/module-paypal"]},{"id":"magento2-34170","releases":["2.3.7"],"description":"Fixes issue with Varnish 6 when 503 error was returned and VCL error Too many restarts in logs. Author: @jonashrem","categories":["Cache"],"origin":"Magento OS Community","components":["magento\/module-page-cache"]},{"id":"magento\/magento2\/34529","releases":["2.3.7"],"description":"MC-41887: Validation Messages - CustomerData messages not showing up. Author: @Den4ik","categories":["Customer"],"origin":"Magento OS Community","components":["magento\/module-theme"]},{"id":"magento\/magento2\/34528","releases":["2.4.3"],"description":"Optimize QuoteIdToMaskedQuoteId model and fix infinite loop. Author: @ihor-sviziev","categories":["Performance","Shopping Cart"],"origin":"Magento OS Community","components":["magento\/module-quote"]},{"id":"AC-15867","releases":["2.4.8-p3","2.4.7-p8","2.4.6-p13",",2.4.5-p15","2.4.4-p16"],"description":"Fix to ensure that static.min.js and mixins.min.js are correctly loaded when CSP and SRI are enabled along with JS bundling and minification.","categories":["Order\/Checkout"],"origin":"Magento OS Community","components":["magento\/module-csp"]}]} diff --git a/patches/commerce/ACP2E-3690_2.4.7-p2.patch b/patches/commerce/ACP2E-3690_2.4.7-p2.patch new file mode 100644 index 00000000..366c823e --- /dev/null +++ b/patches/commerce/ACP2E-3690_2.4.7-p2.patch @@ -0,0 +1,76 @@ +diff --git a/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php b/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php +index 483a147c455..d3eeab45557 100644 +--- a/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php ++++ b/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php +@@ -19,17 +19,20 @@ namespace Magento\Multicoupon\Plugin\SalesOrder; + use Magento\Sales\Api\Data\OrderInterface; + use Magento\Sales\Model\Order; + use Magento\SalesRule\Model\Coupon\UpdateCouponUsages; +-use Magento\SalesRule\Model\Coupon\Usage\Processor as CouponUsageProcessor; + use Magento\SalesRule\Model\Coupon\Usage\UpdateInfoFactory; ++use Magento\SalesRule\Model\Service\CouponUsagePublisher; ++use Magento\SalesRule\Model\Coupon\Usage\Processor as CouponUsageProcessor; + + class UpdateCouponUsagesPlugin + { + /** + * @param CouponUsageProcessor $couponUsageProcessor ++ * @param CouponUsagePublisher $couponUsagePublisher + * @param UpdateInfoFactory $updateInfoFactory + */ + public function __construct( + private readonly CouponUsageProcessor $couponUsageProcessor, ++ private readonly CouponUsagePublisher $couponUsagePublisher, + private readonly UpdateInfoFactory $updateInfoFactory + ) { + } +@@ -62,21 +65,23 @@ class UpdateCouponUsagesPlugin + $isCouponAlreadyApplied = true; + } + +- $this->couponUsageProcessor->process( +- $this->updateInfoFactory->create( +- [ +- 'data' => [ +- 'applied_rule_ids' => $this->getAppliedRuleIds($order), +- 'coupon_code' => (string)$order->getCouponCode(), +- 'customer_id' => (int)$order->getCustomerId(), +- 'is_increment' => $increment, +- 'is_coupon_already_applied' => $isCouponAlreadyApplied, +- 'coupon_codes' => $order->getExtensionAttributes()->getCouponCodes() ?? [], +- ] ++ $updateInfo = $this->updateInfoFactory->create( ++ [ ++ 'data' => [ ++ 'applied_rule_ids' => $this->getAppliedRuleIds($order), ++ 'coupon_code' => (string)$order->getCouponCode(), ++ 'customer_id' => (int)$order->getCustomerId(), ++ 'is_increment' => $increment, ++ 'is_coupon_already_applied' => $isCouponAlreadyApplied, ++ 'coupon_codes' => $order->getExtensionAttributes()->getCouponCodes() ?? [], + ] +- ) ++ ] + ); + ++ $this->couponUsageProcessor->updateCustomerRulesUsages($updateInfo); ++ $this->couponUsageProcessor->updateCouponUsages($updateInfo); ++ $this->couponUsagePublisher->publish($updateInfo); ++ + return $order; + } + +diff --git a/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php b/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php +index 8a1bb5bab97..bef777986db 100644 +--- a/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php ++++ b/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php +@@ -70,7 +70,8 @@ class UpdateCouponUsagesPlugin + ] + ); + +- $this->couponUsagePublisher->publish($updateInfo); + $this->processor->updateCustomerRulesUsages($updateInfo); ++ $this->processor->updateCouponUsages($updateInfo); ++ $this->couponUsagePublisher->publish($updateInfo); + } + } diff --git a/patches/commerce/ACP2E-3705_2.4.7-p4_v2.patch b/patches/commerce/ACP2E-3705_2.4.7-p4_v2.patch new file mode 100644 index 00000000..d4aadba4 --- /dev/null +++ b/patches/commerce/ACP2E-3705_2.4.7-p4_v2.patch @@ -0,0 +1,110 @@ +diff --git a/vendor/magento/module-catalog-permissions/Model/Indexer/Category/Action/Rows.php b/vendor/magento/module-catalog-permissions/Model/Indexer/Category/Action/Rows.php +index 3ff1c34d8486..995e274951b7 100644 +--- a/vendor/magento/module-catalog-permissions/Model/Indexer/Category/Action/Rows.php ++++ b/vendor/magento/module-catalog-permissions/Model/Indexer/Category/Action/Rows.php +@@ -1,7 +1,7 @@ + helper = $helper; +@@ -114,6 +117,8 @@ public function __construct( + ??ObjectManager::getInstance()->get(ScopeConfigInterface::class); + $this->customerGroupFilter = $customerGroupFilter + ?: ObjectManager::getInstance()->get(CustomerGroupFilter::class); ++ $this->processManager = $this->processManager ++ ?: ObjectManager::getInstance()->get(ProcessManager::class); + } + + /** +@@ -128,25 +133,38 @@ public function execute(array $entityIds = [], $useIndexTempTable = false) + if ($entityIds) { + $this->entityIds = $entityIds; + $this->useIndexTempTable = $useIndexTempTable; +- $this->connection->beginTransaction(); +- try { +- if ($this->customerGroupFilter->getGroupIds()) { +- $this->customerGroupIds = $this->customerGroupFilter->getGroupIds(); +- $this->removeIndexDataByCustomerGroupIds($this->customerGroupIds); +- } else { +- $this->removeObsoleteIndexData(); ++ if ($this->processManager->isMultiThreadsExecute()) { ++ $this->processRows(); ++ } else { ++ $this->connection->beginTransaction(); ++ try { ++ $this->processRows(); ++ $this->connection->commit(); ++ } catch (\Exception $exception) { ++ $this->connection->rollBack(); ++ throw $exception; + } +- $this->reindex(); +- $this->connection->commit(); +- } catch (\Exception $exception) { +- $this->connection->rollBack(); +- throw $exception; + } + } +- + $this->cleanCache(); + } + ++ /** ++ * Prepare data and reindex rows ++ * ++ * @return void ++ */ ++ private function processRows(): void ++ { ++ if ($this->customerGroupFilter->getGroupIds()) { ++ $this->customerGroupIds = $this->customerGroupFilter->getGroupIds(); ++ $this->removeIndexDataByCustomerGroupIds($this->customerGroupIds); ++ } else { ++ $this->removeObsoleteIndexData(); ++ } ++ $this->reindex(); ++ } ++ + /** + * Remove index entries before reindexation + * diff --git a/patches/commerce/ACP2E-3918_1.5.1.patch b/patches/commerce/ACP2E-3918_1.5.1.patch new file mode 100644 index 00000000..478032f2 --- /dev/null +++ b/patches/commerce/ACP2E-3918_1.5.1.patch @@ -0,0 +1,45 @@ +diff --git a/vendor/magento/module-purchase-order/view/frontend/web/template/checkout/billing-address/details.html b/vendor/magento/module-purchase-order/view/frontend/web/template/checkout/billing-address/details.html +index 4ad454a230..cd19734afe 100644 +--- a/vendor/magento/module-purchase-order/view/frontend/web/template/checkout/billing-address/details.html ++++ b/vendor/magento/module-purchase-order/view/frontend/web/template/checkout/billing-address/details.html +@@ -1,21 +1,34 @@ + +
+- ++ ++ +
+ +
+
+-
+- ,
++
++ , ++
+
+
+ +- VAT:
++ :
+
+ + diff --git a/patches/commerce/ACP2E-3977_2.4.6-p10.patch b/patches/commerce/ACP2E-3977_2.4.6-p10.patch new file mode 100644 index 00000000..2db78c23 --- /dev/null +++ b/patches/commerce/ACP2E-3977_2.4.6-p10.patch @@ -0,0 +1,19 @@ +diff --git a/vendor/magento/module-reward/Model/System/Config/Backend/Balance.php b/vendor/magento/module-reward/Model/System/Config/Backend/Balance.php +index c3b26591b1bb..87a6431a4a2e 100644 +--- a/vendor/magento/module-reward/Model/System/Config/Backend/Balance.php ++++ b/vendor/magento/module-reward/Model/System/Config/Backend/Balance.php +@@ -28,12 +28,12 @@ public function beforeSave() + return $this; + } + +- if ($this->getFieldsetDataValue('min_points_balance') < 0) { ++ if ((int)$this->getFieldsetDataValue('min_points_balance') < 0) { + $message = __('The "Minimum Reward Points Balance" is invalid. ' + . 'The balance needs to be a positive number or left empty. Verify and try again.'); + throw new LocalizedException($message); + } +- if ($this->getFieldsetDataValue('max_points_balance') < 0) { ++ if ((int)$this->getFieldsetDataValue('max_points_balance') < 0) { + $message = __('The "Cap Reward Points Balance" is invalid. ' + . 'The balance needs to be a positive number or left empty. Verify and try again.'); + throw new LocalizedException($message); diff --git a/patches/commerce/ACSD-43887_1.3.2.patch b/patches/commerce/ACSD-43887_1.3.2.patch new file mode 100644 index 00000000..f4ca0262 --- /dev/null +++ b/patches/commerce/ACSD-43887_1.3.2.patch @@ -0,0 +1,14 @@ +diff --git a/vendor/magento/module-purchase-order/Plugin/Quote/Model/QuotePlugin.php b/vendor/magento/module-purchase-order/Plugin/Quote/Model/QuotePlugin.php +index b783dc3e5adb..2e230c870bef 100644 +--- a/vendor/magento/module-purchase-order/Plugin/Quote/Model/QuotePlugin.php ++++ b/vendor/magento/module-purchase-order/Plugin/Quote/Model/QuotePlugin.php +@@ -40,7 +40,7 @@ public function __construct( + */ + public function aroundCollectTotals(Quote $subject, \Closure $proceed) + { +- if ($this->isPurchaseOrderQuote($subject)) { ++ if ($this->isPurchaseOrderQuote($subject) && !$subject->getIsVirtual()) { + return $subject; + } + return $proceed(); + diff --git a/patches/commerce/ACSD-45255_2.4.3-p1.patch b/patches/commerce/ACSD-45255_2.4.3-p1.patch new file mode 100644 index 00000000..2ed7412b --- /dev/null +++ b/patches/commerce/ACSD-45255_2.4.3-p1.patch @@ -0,0 +1,15 @@ +diff --git a/vendor/magento/module-admin-gws/Plugin/CollectionFilter.php b/vendor/magento/module-admin-gws/Plugin/CollectionFilter.php +index f54dd685ed4..6390bc8a00c 100644 +--- a/vendor/magento/module-admin-gws/Plugin/CollectionFilter.php ++++ b/vendor/magento/module-admin-gws/Plugin/CollectionFilter.php +@@ -97,8 +97,8 @@ class CollectionFilter + private function filterCollection(AbstractCollection $collection) + { + if (!$this->role->getIsAll() && !$collection->getFlag(self::FILTERED_FLAG_NAME)) { +- if (method_exists($collection, 'addStoreFilter')) { +- $collection->addStoreFilter($this->getStoreIds()); ++ if (method_exists($collection, 'addStoresFilter')) { ++ $collection->addStoresFilter($this->getStoreIds()); + $collection->setFlag(self::FILTERED_FLAG_NAME, true); + } elseif (isset($collection->getSelect()->getPart(Select::FROM)['main_table'])) { + $this->tableBasedFilter($collection); diff --git a/patches/commerce/ACSD-45755_2.4.2-p2.patch b/patches/commerce/ACSD-45755_2.4.2-p2.patch new file mode 100644 index 00000000..b79734b3 --- /dev/null +++ b/patches/commerce/ACSD-45755_2.4.2-p2.patch @@ -0,0 +1,75 @@ +diff --git a/vendor/magento/module-customer-custom-attributes/view/frontend/layout/customer_account_edit.xml b/vendor/magento/module-customer-custom-attributes/view/frontend/layout/customer_account_edit.xml +index 7824cbd9118..210da89863c 100644 +--- a/vendor/magento/module-customer-custom-attributes/view/frontend/layout/customer_account_edit.xml ++++ b/vendor/magento/module-customer-custom-attributes/view/frontend/layout/customer_account_edit.xml +@@ -23,6 +23,7 @@ + Magento\Customer\Model\Customer + + ++ Magento\Customer\ViewModel\EditAccountButton + CustomerFileAttribute + + +diff --git a/vendor/magento/module-customer-custom-attributes/view/frontend/templates/customer/form/edit.phtml b/vendor/magento/module-customer-custom-attributes/view/frontend/templates/customer/form/edit.phtml +index a8aa1667d47..5cb2769b92d 100644 +--- a/vendor/magento/module-customer-custom-attributes/view/frontend/templates/customer/form/edit.phtml ++++ b/vendor/magento/module-customer-custom-attributes/view/frontend/templates/customer/form/edit.phtml +@@ -11,6 +11,7 @@ use Magento\Customer\Block\Widget\Gender; + use Magento\Customer\Block\Widget\Name; + use Magento\Customer\Block\Widget\Taxvat; + ++$editAccountButtonViewModel = $block->getData('edit_account_button_view_model'); + ?> +
+ +- getBlockHtml('formkey')): ?> +- +- + diff --git a/patches/os/ACSD-49370_2.4.3-p1.patch b/patches/os/ACSD-49370_2.4.3-p1.patch new file mode 100644 index 00000000..64f7c8dc --- /dev/null +++ b/patches/os/ACSD-49370_2.4.3-p1.patch @@ -0,0 +1,12 @@ +diff --git a/vendor/magento/module-catalog-graph-ql/Model/Config/FilterAttributeReader.php b/vendor/magento/module-catalog-graph-ql/Model/Config/FilterAttributeReader.php +index 6976086e748..fc46e5eeb21 100644 +--- a/vendor/magento/module-catalog-graph-ql/Model/Config/FilterAttributeReader.php ++++ b/vendor/magento/module-catalog-graph-ql/Model/Config/FilterAttributeReader.php +@@ -108,6 +108,7 @@ class FilterAttributeReader implements ReaderInterface + $filterTypeMap = [ + 'price' => self::FILTER_RANGE_TYPE, + 'date' => self::FILTER_RANGE_TYPE, ++ 'datetime' => self::FILTER_RANGE_TYPE, + 'select' => self::FILTER_EQUAL_TYPE, + 'multiselect' => self::FILTER_EQUAL_TYPE, + 'boolean' => self::FILTER_EQUAL_TYPE, diff --git a/patches/os/ACSD-49389_1.2.5_v2.patch b/patches/os/ACSD-49389_1.2.5_v2.patch new file mode 100644 index 00000000..6c41423e --- /dev/null +++ b/patches/os/ACSD-49389_1.2.5_v2.patch @@ -0,0 +1,21 @@ +diff --git a/vendor/magento/module-inventory-in-store-pickup-sales/Model/NotifyOrdersAreReadyForPickup.php b/vendor/magento/module-inventory-in-store-pickup-sales/Model/NotifyOrdersAreReadyForPickup.php +index a4b2d0a733a8..829f227c9595 100644 +--- a/vendor/magento/module-inventory-in-store-pickup-sales/Model/NotifyOrdersAreReadyForPickup.php ++++ b/vendor/magento/module-inventory-in-store-pickup-sales/Model/NotifyOrdersAreReadyForPickup.php +@@ -108,14 +108,15 @@ public function execute(array $orderIds): ResultInterface + foreach ($orderIds as $orderId) { + try { + $order = $this->orderRepository->get($orderId); +- $this->emailNotifier->notify($order); + $searchCriteria = $this->searchCriteriaBuilder->addFilter('order_id', $orderId); + $shipments = $this->shipmentRepository->getList($searchCriteria->create()); + $isShipmentCreated = $shipments->getTotalCount() > 0; + if ($isShipmentCreated === false) { ++ $order->getExtensionAttributes()->setSendNotification(0); + $this->createShippingDocument->execute($order); + } + $this->addStorePickupAttributesToOrder->execute($order); ++ $this->emailNotifier->notify($order); + } catch (LocalizedException $exception) { + $errors[] = [ + 'id' => $orderId, diff --git a/patches/os/ACSD-49392_2.4.5-p1.patch b/patches/os/ACSD-49392_2.4.5-p1.patch new file mode 100644 index 00000000..1d048793 --- /dev/null +++ b/patches/os/ACSD-49392_2.4.5-p1.patch @@ -0,0 +1,34 @@ +diff --git a/vendor/magento/module-sales/Model/Order.php b/vendor/magento/module-sales/Model/Order.php +index f272a4638a1..afec030075a 100644 +--- a/vendor/magento/module-sales/Model/Order.php ++++ b/vendor/magento/module-sales/Model/Order.php +@@ -5,6 +5,7 @@ + */ + namespace Magento\Sales\Model; + ++use Magento\Catalog\Model\Product\Type; + use Magento\Config\Model\Config\Source\Nooptreq; + use Magento\Directory\Model\Currency; + use Magento\Directory\Model\RegionFactory; +@@ -197,7 +198,8 @@ class Order extends AbstractModel implements EntityInterface, OrderInterface + + /** + * @var \Magento\Catalog\Api\ProductRepositoryInterface +- * @deprecated 100.1.0 Remove unused dependency. ++ * @deprecated 100.1.0 ++ * @see Remove unused dependency + */ + protected $productRepository; + +@@ -831,7 +833,10 @@ class Order extends AbstractModel implements EntityInterface, OrderInterface + } + + foreach ($this->getAllItems() as $item) { +- if ($item->getQtyToShip() > 0 && !$item->getIsVirtual() && ++ $qtyToShip = !$item->getParentItem() || $item->getParentItem()->getProductType() !== Type::TYPE_BUNDLE ? ++ $item->getQtyToShip() : $item->getSimpleQtyToShip(); ++ ++ if ($qtyToShip > 0 && !$item->getIsVirtual() && + !$item->getLockedDoShip() && !$this->isRefunded($item)) { + return true; + } diff --git a/patches/os/ACSD-49440_2.4.4-p2.patch b/patches/os/ACSD-49440_2.4.4-p2.patch new file mode 100644 index 00000000..68d718ed --- /dev/null +++ b/patches/os/ACSD-49440_2.4.4-p2.patch @@ -0,0 +1,71 @@ +diff --git a/vendor/magento/module-deploy/Collector/Collector.php b/vendor/magento/module-deploy/Collector/Collector.php +index b09001a7ac04..441d165f6792 100644 +--- a/vendor/magento/module-deploy/Collector/Collector.php ++++ b/vendor/magento/module-deploy/Collector/Collector.php +@@ -93,6 +93,9 @@ public function collect() + if ($file->getModule() && !$this->moduleManager->isEnabled($file->getModule())) { + continue; + } ++ if (!$file->getFileName()) { ++ continue; ++ } + $file->setDeployedFileName($this->fileNameResolver->resolve($file->getFileName())); + $params = $this->getParams($file); + $packagePath = "{$params['area']}/{$params['theme']}/{$params['locale']}"; +diff --git a/vendor/magento/module-deploy/Package/Processor/PreProcessor/Css.php b/vendor/magento/module-deploy/Package/Processor/PreProcessor/Css.php +index 152c95f86552..4ecac5339aab 100644 +--- a/vendor/magento/module-deploy/Package/Processor/PreProcessor/Css.php ++++ b/vendor/magento/module-deploy/Package/Processor/PreProcessor/Css.php +@@ -135,7 +135,12 @@ private function buildMap($packagePath, $filePath, $fullPath) + $imports = []; + $this->map[$fullPath] = []; + +- $content = $this->staticDir->readFile($this->minification->addMinifiedSign($fullPath)); ++ $tmpFilename = $this->minification->addMinifiedSign($fullPath); ++ if ($this->staticDir->isReadable($tmpFilename)) { ++ $content = $this->staticDir->readFile($tmpFilename); ++ } else { ++ $content = ''; ++ } + + $callback = function ($matchContent) use ($packagePath, $filePath, &$imports) { + $importRelPath = $this->normalize(pathinfo($filePath, PATHINFO_DIRNAME) . '/' . $matchContent['path']); +diff --git a/vendor/magento/module-deploy/Package/Processor/PreProcessor/Less.php b/vendor/magento/module-deploy/Package/Processor/PreProcessor/Less.php +index b5fe0c78640e..6e85da62b6b2 100644 +--- a/vendor/magento/module-deploy/Package/Processor/PreProcessor/Less.php ++++ b/vendor/magento/module-deploy/Package/Processor/PreProcessor/Less.php +@@ -58,6 +58,11 @@ class Less implements ProcessorInterface + */ + private $map = []; + ++ /** ++ * @var array ++ */ ++ private $pFileCache = []; ++ + /** + * Less constructor + * +@@ -131,6 +136,7 @@ private function hasOverrides(PackageFile $parentFile, Package $package) + $currentPackageFiles = array_merge($package->getFilesByType('less'), $package->getFilesByType('css')); + + foreach ($currentPackageFiles as $file) { ++ $this->pFileCache = []; + if ($this->inParentFiles($file->getDeployedFileName(), $parentFile->getFileName(), $map)) { + return true; + } +@@ -151,7 +157,13 @@ private function inParentFiles($fileName, $parentFile, $map) + return true; + } else { + foreach ($map[$parentFile] as $pFile) { +- return $this->inParentFiles($fileName, $pFile, $map); ++ if (in_array($pFile, $this->pFileCache)) { ++ continue; ++ } ++ $this->pFileCache[] = $pFile; ++ if ($this->inParentFiles($fileName, $pFile, $map)) { ++ return true; ++ } + } + } + } diff --git a/patches/os/ACSD-49480_2.4.4-p1.patch b/patches/os/ACSD-49480_2.4.4-p1.patch new file mode 100644 index 00000000..e3afc516 --- /dev/null +++ b/patches/os/ACSD-49480_2.4.4-p1.patch @@ -0,0 +1,45 @@ +diff --git a/vendor/magento/module-sales-rule/Model/Quote/Discount.php b/vendor/magento/module-sales-rule/Model/Quote/Discount.php +index 111ceed74af..7e5b1803353 100644 +--- a/vendor/magento/module-sales-rule/Model/Quote/Discount.php ++++ b/vendor/magento/module-sales-rule/Model/Quote/Discount.php +@@ -20,11 +20,10 @@ use Magento\SalesRule\Api\Data\DiscountDataInterface; + use Magento\SalesRule\Api\Data\DiscountDataInterfaceFactory; + use Magento\SalesRule\Api\Data\RuleDiscountInterfaceFactory; + use Magento\SalesRule\Model\Data\RuleDiscount; +-use Magento\SalesRule\Model\Discount\PostProcessorFactory; + use Magento\SalesRule\Model\Rule; ++use Magento\SalesRule\Model\RulesApplier; + use Magento\SalesRule\Model\Validator; + use Magento\Store\Model\StoreManagerInterface; +-use Magento\SalesRule\Model\RulesApplier; + + /** + * Discount totals calculation model. +@@ -177,21 +176,22 @@ class Discount extends AbstractTotal + $this->calculator->init($store->getWebsiteId(), $quote->getCustomerGroupId(), $quote->getCouponCode()); + $this->calculator->initTotals($items, $address); + $items = $this->calculator->sortItemsByPriority($items, $address); ++ $itemsToApplyRules = $items; + $rules = $this->calculator->getRules($address); + /** @var Rule $rule */ + foreach ($rules as $rule) { + /** @var Item $item */ +- foreach ($items as $item) { ++ foreach ($itemsToApplyRules as $key => $item) { + if ($item->getNoDiscount() || !$this->calculator->canApplyDiscount($item) || $item->getParentItem()) { + continue; + } + $eventArgs['item'] = $item; + $this->eventManager->dispatch('sales_quote_address_discount_item', $eventArgs); + $this->calculator->process($item, $rule); +- } +- $appliedRuleIds = $quote->getAppliedRuleIds() ? explode(',', $quote->getAppliedRuleIds()) : []; +- if ($rule->getStopRulesProcessing() && in_array($rule->getId(), $appliedRuleIds)) { +- break; ++ $appliedRuleIds = $item->getAppliedRuleIds() ? explode(',', $item->getAppliedRuleIds()) : []; ++ if ($rule->getStopRulesProcessing() && in_array($rule->getId(), $appliedRuleIds)) { ++ unset($itemsToApplyRules[$key]); ++ } + } + $this->calculator->initTotals($items, $address); + } diff --git a/patches/os/ACSD-49497_2.4.5-p1.patch b/patches/os/ACSD-49497_2.4.5-p1.patch new file mode 100644 index 00000000..5f169cd4 --- /dev/null +++ b/patches/os/ACSD-49497_2.4.5-p1.patch @@ -0,0 +1,70 @@ +diff --git a/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php b/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php +index 47395b17afe..51c45ed5e5a 100644 +--- a/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php ++++ b/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php +@@ -38,11 +38,64 @@ class State + ) { + $order->setState(Order::STATE_CLOSED) + ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_CLOSED)); +- } elseif ($currentState === Order::STATE_PROCESSING && !$order->canShip()) { ++ } elseif ($currentState === Order::STATE_PROCESSING ++ && (!$order->canShip() || $this->isPartiallyRefundedOrderShipped($order)) ++ ) { + $order->setState(Order::STATE_COMPLETE) + ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_COMPLETE)); ++ } elseif ($order->getIsVirtual() && $order->getStatus() === Order::STATE_CLOSED) { ++ $order->setState(Order::STATE_CLOSED); + } + } + return $this; + } ++ ++ /** ++ * Check if all items are remaining items after partially refunded are shipped ++ * ++ * @param Order $order ++ * @return bool ++ */ ++ public function isPartiallyRefundedOrderShipped(Order $order): bool ++ { ++ $isPartiallyRefundedOrderShipped = false; ++ if ($this->getShippedItems($order) > 0 ++ && $order->getTotalQtyOrdered() <= $this->getRefundedItems($order) + $this->getShippedItems($order)) { ++ $isPartiallyRefundedOrderShipped = true; ++ } ++ ++ return $isPartiallyRefundedOrderShipped; ++ } ++ ++ /** ++ * Get all refunded items number ++ * ++ * @param Order $order ++ * @return int ++ */ ++ private function getRefundedItems(Order $order): int ++ { ++ $numOfRefundedItems = 0; ++ foreach ($order->getAllItems() as $item) { ++ if ($item->getProductType() == 'simple') { ++ $numOfRefundedItems += (int)$item->getQtyRefunded(); ++ } ++ } ++ return $numOfRefundedItems; ++ } ++ ++ /** ++ * Get all shipped items number ++ * ++ * @param Order $order ++ * @return int ++ */ ++ private function getShippedItems(Order $order): int ++ { ++ $numOfShippedItems = 0; ++ foreach ($order->getAllItems() as $item) { ++ $numOfShippedItems += (int)$item->getQtyShipped(); ++ } ++ return $numOfShippedItems; ++ } + } diff --git a/patches/os/ACSD-49513_2.4.3.patch b/patches/os/ACSD-49513_2.4.3.patch new file mode 100644 index 00000000..48082e71 --- /dev/null +++ b/patches/os/ACSD-49513_2.4.3.patch @@ -0,0 +1,29 @@ +diff --git a/vendor/magento/module-aws-s3/Driver/AwsS3.php b/vendor/magento/module-aws-s3/Driver/AwsS3.php +index a42b0c926399..95c62a0b17a2 100644 +--- a/vendor/magento/module-aws-s3/Driver/AwsS3.php ++++ b/vendor/magento/module-aws-s3/Driver/AwsS3.php +@@ -252,8 +252,9 @@ public function deleteDirectory($path): bool + + /** + * @inheritDoc ++ * @return bool|int + */ +- public function filePutContents($path, $content, $mode = null): int ++ public function filePutContents($path, $content, $mode = null) + { + $path = $this->normalizeRelativePath($path, true); + $config = self::CONFIG; +@@ -267,10 +268,11 @@ public function filePutContents($path, $content, $mode = null): int + + try { + $this->adapter->write($path, $content, new Config($config)); +- return $this->adapter->fileSize($path)->fileSize(); ++ return ($this->adapter->fileSize($path)->fileSize() !== null)??true; ++ + } catch (\League\Flysystem\FilesystemException | UnableToRetrieveMetadata $e) { + $this->logger->error($e->getMessage()); +- return 0; ++ return false; + } + } + diff --git a/patches/os/ACSD-49574_2.4.5-p1.patch b/patches/os/ACSD-49574_2.4.5-p1.patch new file mode 100644 index 00000000..3a679336 --- /dev/null +++ b/patches/os/ACSD-49574_2.4.5-p1.patch @@ -0,0 +1,227 @@ +diff --git a/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequest.php b/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequest.php +index e15b7324ce2..7fdce5245b4 100644 +--- a/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequest.php ++++ b/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequest.php +@@ -20,13 +20,21 @@ class CreateBuyRequest + */ + private $dataObjectFactory; + ++ /** ++ * @var CreateBuyRequestDataProviderInterface[] ++ */ ++ private $providers; ++ + /** + * @param DataObjectFactory $dataObjectFactory ++ * @param array $providers + */ + public function __construct( +- DataObjectFactory $dataObjectFactory ++ DataObjectFactory $dataObjectFactory, ++ array $providers = [] + ) { + $this->dataObjectFactory = $dataObjectFactory; ++ $this->providers = $providers; + } + + /** +@@ -39,21 +47,30 @@ class CreateBuyRequest + public function execute(float $qty, array $customizableOptionsData): DataObject + { + $customizableOptions = []; ++ $enteredOptions = []; + foreach ($customizableOptionsData as $customizableOption) { + if (isset($customizableOption['value_string'])) { +- $customizableOptions[$customizableOption['id']] = $this->convertCustomOptionValue( +- $customizableOption['value_string'] +- ); ++ if (!is_numeric($customizableOption['id'])) { ++ $enteredOptions[$customizableOption['id']] = $customizableOption['value_string']; ++ } else { ++ $customizableOptions[$customizableOption['id']] = $this->convertCustomOptionValue( ++ $customizableOption['value_string'] ++ ); ++ } + } + } + +- $dataArray = [ +- 'data' => [ ++ $requestData = [ ++ [ + 'qty' => $qty, +- 'options' => $customizableOptions, +- ], ++ 'options' => $customizableOptions ++ ] + ]; +- return $this->dataObjectFactory->create($dataArray); ++ foreach ($this->providers as $provider) { ++ $requestData[] = $provider->execute($enteredOptions); ++ } ++ ++ return $this->dataObjectFactory->create(['data' => array_merge([], ...$requestData)]); + } + + /** +diff --git a/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequestDataProviderInterface.php b/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequestDataProviderInterface.php +new file mode 100644 +index 00000000000..af52c2869e9 +--- /dev/null ++++ b/vendor/magento/module-quote-graph-ql/Model/Cart/CreateBuyRequestDataProviderInterface.php +@@ -0,0 +1,19 @@ ++uidEncoder = $uidEncoder; ++ $this->optionUidArgsProcessor = ++ $optionUidArgsProcessor ?: ObjectManager::getInstance()->get(CustomizableOptionUidArgsProcessor::class); + } + + /** + * Process the updateCartItems arguments for cart uids + * +- * @param string $fieldName, ++ * @param string $fieldName + * @param array $args + * @return array + * @throws GraphQlInputException +@@ -58,6 +67,10 @@ class CartItemsUidArgsProcessor implements ArgumentsProcessorInterface + $args[$filterKey]['cart_items'][$key][self::ID] = $this->uidEncoder->decode((string)$uidFilter); + unset($args[$filterKey]['cart_items'][$key][self::UID]); + } ++ if (!empty($cartItem['customizable_options'])) { ++ $args[$filterKey]['cart_items'][$key]['customizable_options'] = ++ $this->optionUidArgsProcessor->process($fieldName, $cartItem['customizable_options']); ++ } + } + } + return $args; +diff --git a/vendor/magento/module-quote-graph-ql/Model/CartItem/CustomizableOptionUidArgsProcessor.php b/vendor/magento/module-quote-graph-ql/Model/CartItem/CustomizableOptionUidArgsProcessor.php +new file mode 100644 +index 00000000000..278239bba54 +--- /dev/null ++++ b/vendor/magento/module-quote-graph-ql/Model/CartItem/CustomizableOptionUidArgsProcessor.php +@@ -0,0 +1,64 @@ ++uidEncoder = $uidEncoder; ++ } ++ ++ /** ++ * Process the customizable options for updateCartItems arguments for uids ++ * ++ * @param string $fieldName ++ * @param array $customizableOptions ++ * @return array ++ * @throws GraphQlInputException ++ */ ++ public function process(string $fieldName, array $customizableOptions): array ++ { ++ foreach ($customizableOptions as $key => $option) { ++ $idFilter = $option[self::ID] ?? []; ++ $uidFilter = $option[self::UID] ?? []; ++ ++ if (!empty($idFilter) ++ && !empty($uidFilter) ++ && $fieldName === 'updateCartItems') { ++ throw new GraphQlInputException( ++ __( ++ '`%1` and `%2` can\'t be used for CustomizableOptionInput object at the same time.', ++ [self::ID, self::UID] ++ ) ++ ); ++ } elseif (!empty($uidFilter)) { ++ $customizableOptions[$key][self::ID] = $this->uidEncoder->decode((string)$uidFilter); ++ unset($customizableOptions[$key][self::UID]); ++ } ++ } ++ return $customizableOptions; ++ } ++} +diff --git a/vendor/magento/module-quote-graph-ql/etc/schema.graphqls b/vendor/magento/module-quote-graph-ql/etc/schema.graphqls +index 1dc66531fba..feb531f107b 100644 +--- a/vendor/magento/module-quote-graph-ql/etc/schema.graphqls ++++ b/vendor/magento/module-quote-graph-ql/etc/schema.graphqls +@@ -62,7 +62,8 @@ input CartItemInput @doc(description: "Defines an item to be added to the cart." + } + + input CustomizableOptionInput @doc(description: "Defines a customizable option.") { +- id: Int @doc(description: "The customizable option ID of the product.") ++ uid: ID @doc(description: "The unique ID for a `CartItemInterface` object.") ++ id: Int @deprecated(reason: "Use `uid` instead.") @doc(description: "The customizable option ID of the product.") + value_string: String! @doc(description: "The string value of the option.") + } + diff --git a/patches/os/ACSD-49628_2.2.1-p1.patch b/patches/os/ACSD-49628_2.2.1-p1.patch new file mode 100644 index 00000000..0e0c2763 --- /dev/null +++ b/patches/os/ACSD-49628_2.2.1-p1.patch @@ -0,0 +1,67 @@ +diff --git a/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php b/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php +index fdaafa7cc8..76d0e8cdd9 100644 +--- a/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php ++++ b/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php +@@ -18,6 +18,7 @@ + use Magento\PageBuilder\Model\State as PageBuilderState; + use Magento\PageBuilder\Model\Stage\Config as Config; + use Magento\Framework\View\ConfigInterface as ViewConfigInterface; ++use Magento\Framework\AuthorizationInterface; + + /** + * Updates wysiwyg element with Page Builder specific config +@@ -26,11 +27,19 @@ + */ + class Wysiwyg extends \Magento\Ui\Component\Form\Element\Wysiwyg + { ++ ++ private const ADMIN_RESOURCE = 'Magento_Backend::content'; ++ + /** + * @var Repository + */ + private $assetRepo; + ++ /** ++ * @var AuthorizationInterface ++ */ ++ private $authorization; ++ + /** + * WYSIWYG Constructor + * +@@ -46,6 +55,7 @@ class Wysiwyg extends \Magento\Ui\Component\Form\Element\Wysiwyg + * @param PageBuilderConfig|null $pageBuilderConfig + * @param bool $overrideSnapshot + * @param Repository $assetRepo ++ * @param AuthorizationInterface|null $authorization + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.ExcessiveParameterList) + * @SuppressWarnings(PHPMD.NPathComplexity) +@@ -63,9 +73,11 @@ public function __construct( + array $config = [], + PageBuilderConfig $pageBuilderConfig = null, + bool $overrideSnapshot = false, +- Repository $assetRepo = null ++ Repository $assetRepo = null, ++ AuthorizationInterface $authorization = null + ) { + $this->assetRepo = $assetRepo ?: ObjectManager::getInstance()->get(Repository::class); ++ $this->authorization = $authorization ?: ObjectManager::getInstance()->get(AuthorizationInterface::class); + $wysiwygConfigData = isset($config['wysiwygConfigData']) ? $config['wysiwygConfigData'] : []; + + // If a dataType is present we're dealing with an attribute +@@ -80,11 +92,11 @@ public function __construct( + $config['wysiwyg'] = true; + } + } +- ++ $isAllowed = $this->authorization->isAllowed(self::ADMIN_RESOURCE); + $isEnablePageBuilder = isset($wysiwygConfigData['is_pagebuilder_enabled']) + && !$wysiwygConfigData['is_pagebuilder_enabled'] + || false; +- if (!$pageBuilderState->isPageBuilderInUse($isEnablePageBuilder)) { ++ if (!$pageBuilderState->isPageBuilderInUse($isEnablePageBuilder) && $isAllowed) { + // This is not done using definition.xml due to https://github.com/magento/magento2/issues/5647 + $data['config']['component'] = 'Magento_PageBuilder/js/form/element/wysiwyg'; + diff --git a/patches/os/ACSD-49706_2.4.5-p1.patch b/patches/os/ACSD-49706_2.4.5-p1.patch new file mode 100644 index 00000000..23174d52 --- /dev/null +++ b/patches/os/ACSD-49706_2.4.5-p1.patch @@ -0,0 +1,70 @@ +diff --git a/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php b/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php +index 81ab67bdf26..8c2c742293f 100644 +--- a/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php ++++ b/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php +@@ -8,7 +8,8 @@ declare(strict_types=1); + + namespace Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper; + +-use \Magento\Catalog\Model\Product; ++use Magento\Catalog\Model\Product; ++use Magento\Catalog\Model\ResourceModel\Eav\Attribute; + + /** + * Class provides functionality to check and filter data came with product form. +@@ -32,8 +33,9 @@ class AttributeFilter + { + $attributeList = $product->getAttributes(); + foreach ($productData as $attributeCode => $attributeValue) { +- if ($this->isAttributeShouldNotBeUpdated($product, $useDefaults, $attributeCode, $attributeValue)) { +- unset($productData[$attributeCode]); ++ if ($this->isAttributeShouldNotBeUpdated($product, $useDefaults, $attributeCode, $attributeValue) && ++ $this->isCustomAttrEmptyValueAllowed($attributeList, $attributeCode, $productData)) { ++ unset($productData[$attributeCode]); + } + + if (isset($useDefaults[$attributeCode]) && $useDefaults[$attributeCode] === '1') { +@@ -63,6 +65,34 @@ class AttributeFilter + return $productData; + } + ++ /** ++ * Check if custom attribute with empty value allowed ++ * ++ * @param mixed $attributeList ++ * @param string $attributeCode ++ * @param array $productData ++ * @return bool ++ */ ++ private function isCustomAttrEmptyValueAllowed( ++ $attributeList, ++ string $attributeCode, ++ array $productData ++ ): bool { ++ $isAllowed = true; ++ if ($attributeList && isset($attributeList[$attributeCode])) { ++ /** @var Attribute $attribute */ ++ $attribute = $attributeList[$attributeCode]; ++ $isAttributeUserDefined = (int) $attribute->getIsUserDefined(); ++ $isAttributeIsRequired = (int) $attribute->getIsRequired(); ++ ++ if ($isAttributeUserDefined && !$isAttributeIsRequired && ++ empty($productData[$attributeCode])) { ++ $isAllowed = false; ++ } ++ } ++ return $isAllowed; ++ } ++ + /** + * Prepare default attribute data for product. + * +@@ -74,7 +104,7 @@ class AttributeFilter + private function prepareDefaultData(array $attributeList, string $attributeCode, array $productData): array + { + if (isset($attributeList[$attributeCode])) { +- /** @var \Magento\Catalog\Model\ResourceModel\Eav\Attribute $attribute */ ++ /** @var Attribute $attribute */ + $attribute = $attributeList[$attributeCode]; + $attributeType = $attribute->getBackendType(); + // For non-numeric types set the attributeValue to 'false' to trigger their removal from the db diff --git a/patches/os/ACSD-49737_2.4.4.patch b/patches/os/ACSD-49737_2.4.4.patch new file mode 100644 index 00000000..2506042d --- /dev/null +++ b/patches/os/ACSD-49737_2.4.4.patch @@ -0,0 +1,180 @@ +diff --git a/vendor/magento/module-message-queue/Model/CheckIsAvailableMessagesInQueue.php b/vendor/magento/module-message-queue/Model/CheckIsAvailableMessagesInQueue.php +index c097f461e621..49540e248319 100644 +--- a/vendor/magento/module-message-queue/Model/CheckIsAvailableMessagesInQueue.php ++++ b/vendor/magento/module-message-queue/Model/CheckIsAvailableMessagesInQueue.php +@@ -7,6 +7,7 @@ + + namespace Magento\MessageQueue\Model; + ++use Magento\Framework\MessageQueue\CountableQueueInterface; + use Magento\Framework\MessageQueue\QueueRepository; + + /** +@@ -40,6 +41,9 @@ public function __construct(QueueRepository $queueRepository) + public function execute($connectionName, $queueName) + { + $queue = $this->queueRepository->get($connectionName, $queueName); ++ if ($queue instanceof CountableQueueInterface) { ++ return $queue->count() > 0; ++ } + $message = $queue->dequeue(); + if ($message) { + $queue->reject($message); +diff --git a/vendor/magento/module-mysql-mq/Model/Driver/Queue.php b/vendor/magento/module-mysql-mq/Model/Driver/Queue.php +index cbc2e951782f..6d29fc8aee57 100644 +--- a/vendor/magento/module-mysql-mq/Model/Driver/Queue.php ++++ b/vendor/magento/module-mysql-mq/Model/Driver/Queue.php +@@ -5,16 +5,18 @@ + */ + namespace Magento\MysqlMq\Model\Driver; + ++use Magento\Framework\App\ObjectManager; ++use Magento\Framework\MessageQueue\CountableQueueInterface; + use Magento\Framework\MessageQueue\EnvelopeInterface; +-use Magento\Framework\MessageQueue\QueueInterface; + use Magento\MysqlMq\Model\QueueManagement; + use Magento\Framework\MessageQueue\EnvelopeFactory; ++use Magento\MysqlMq\Model\ResourceModel\Queue as QueueResourceModel; + use Psr\Log\LoggerInterface; + + /** + * Queue based on MessageQueue protocol + */ +-class Queue implements QueueInterface ++class Queue implements CountableQueueInterface + { + /** + * @var QueueManagement +@@ -46,6 +48,11 @@ class Queue implements QueueInterface + */ + private $logger; + ++ /** ++ * @var QueueResourceModel ++ */ ++ private $queueResourceModel; ++ + /** + * Queue constructor. + * +@@ -55,6 +62,7 @@ class Queue implements QueueInterface + * @param string $queueName + * @param int $interval + * @param int $maxNumberOfTrials ++ * @param QueueResourceModel|null $queueResourceModel + */ + public function __construct( + QueueManagement $queueManagement, +@@ -62,7 +70,8 @@ public function __construct( + LoggerInterface $logger, + $queueName, + $interval = 5, +- $maxNumberOfTrials = 3 ++ $maxNumberOfTrials = 3, ++ ?QueueResourceModel $queueResourceModel = null + ) { + $this->queueManagement = $queueManagement; + $this->envelopeFactory = $envelopeFactory; +@@ -70,6 +79,8 @@ public function __construct( + $this->interval = $interval; + $this->maxNumberOfTrials = $maxNumberOfTrials; + $this->logger = $logger; ++ $this->queueResourceModel = $queueResourceModel ++ ?? ObjectManager::getInstance()->get(QueueResourceModel::class); + } + + /** +@@ -151,4 +162,12 @@ public function push(EnvelopeInterface $envelope) + [$this->queueName] + ); + } ++ ++ /** ++ * @inheritDoc ++ */ ++ public function count(): int ++ { ++ return $this->queueResourceModel->getMessagesCount($this->queueName); ++ } + } +diff --git a/vendor/magento/module-mysql-mq/Model/ResourceModel/Queue.php b/vendor/magento/module-mysql-mq/Model/ResourceModel/Queue.php +index 2a45eafc63f2..a110f1efdd0c 100644 +--- a/vendor/magento/module-mysql-mq/Model/ResourceModel/Queue.php ++++ b/vendor/magento/module-mysql-mq/Model/ResourceModel/Queue.php +@@ -5,6 +5,8 @@ + */ + namespace Magento\MysqlMq\Model\ResourceModel; + ++use Magento\Framework\DB\Select; ++use Magento\Framework\DB\Sql\Expression; + use Magento\MysqlMq\Model\QueueManagement; + + /** +@@ -240,6 +242,35 @@ public function changeStatus($relationIds, $status) + ); + } + ++ /** ++ * Get number of pending messages in the queue ++ * ++ * @param string $queueName ++ * @return int ++ */ ++ public function getMessagesCount(string $queueName): int ++ { ++ $connection = $this->getConnection(); ++ $select = $connection->select() ++ ->from( ++ ['queue_message' => $this->getMessageTable()], ++ )->join( ++ ['queue_message_status' => $this->getMessageStatusTable()], ++ 'queue_message.id = queue_message_status.message_id' ++ )->join( ++ ['queue' => $this->getQueueTable()], ++ 'queue.id = queue_message_status.queue_id' ++ )->where( ++ 'queue_message_status.status IN (?)', ++ [QueueManagement::MESSAGE_STATUS_NEW, QueueManagement::MESSAGE_STATUS_RETRY_REQUIRED] ++ )->where('queue.name = ?', $queueName); ++ ++ $select->reset(Select::COLUMNS); ++ $select->columns(new Expression('COUNT(*)')); ++ ++ return (int) $connection->fetchOne($select); ++ } ++ + /** + * Get name of table storing message statuses and associations to queues. + * +diff --git a/vendor/magento/framework-message-queue/CountableQueueInterface.php b/vendor/magento/framework-message-queue/CountableQueueInterface.php +new file mode 100644 +index 000000000000..a6aec418ab5d +--- /dev/null ++++ b/vendor/magento/framework-message-queue/CountableQueueInterface.php +@@ -0,0 +1,26 @@ ++streams as $path => $stream) { + // phpcs:ignore +- if (stream_get_meta_data($stream)['uri'] === $resourcePath) { ++ if (stream_get_meta_data($stream)['uri'] === $meta['uri']) { ++ if (isset($meta['seekable']) && $meta['seekable']) { ++ // rewind the file pointer to make sure the full content of the file is saved ++ $this->fileSeek($resource, 0); ++ } + $this->adapter->writeStream($path, $resource, new Config(self::CONFIG)); +- + // Remove path from streams after + unset($this->streams[$path]); + diff --git a/patches/os/ACSD-49835_2.4.5-p1.patch b/patches/os/ACSD-49835_2.4.5-p1.patch new file mode 100644 index 00000000..ac168c80 --- /dev/null +++ b/patches/os/ACSD-49835_2.4.5-p1.patch @@ -0,0 +1,13 @@ +diff --git a/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php b/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php +index 81ab67bdf26..dfcab034200 100644 +--- a/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php ++++ b/vendor/magento/module-catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php +@@ -80,7 +80,7 @@ class AttributeFilter + // For non-numeric types set the attributeValue to 'false' to trigger their removal from the db + if ($attributeType === 'varchar' || $attributeType === 'text' || $attributeType === 'datetime') { + $attribute->setIsRequired(false); +- $productData[$attributeCode] = $attribute->getDefaultValue() ?: false; ++ $productData[$attributeCode] = false; + } else { + $productData[$attributeCode] = null; + } diff --git a/patches/os/ACSD-49843_2.4.5-p1.patch b/patches/os/ACSD-49843_2.4.5-p1.patch new file mode 100644 index 00000000..d9c72b9d --- /dev/null +++ b/patches/os/ACSD-49843_2.4.5-p1.patch @@ -0,0 +1,52 @@ +diff --git a/vendor/magento/module-downloadable/Observer/SaveDownloadableOrderItemObserver.php b/vendor/magento/module-downloadable/Observer/SaveDownloadableOrderItemObserver.php +index 9351568c5a75..65be8e0ed9e7 100644 +--- a/vendor/magento/module-downloadable/Observer/SaveDownloadableOrderItemObserver.php ++++ b/vendor/magento/module-downloadable/Observer/SaveDownloadableOrderItemObserver.php +@@ -98,12 +98,8 @@ public function execute(\Magento\Framework\Event\Observer $observer) + if ($purchasedLink->getId()) { + return $this; + } +- $storeId = $orderItem->getOrder()->getStoreId(); +- $orderStatusToEnableItem = $this->_scopeConfig->getValue( +- \Magento\Downloadable\Model\Link\Purchased\Item::XML_PATH_ORDER_ITEM_STATUS, +- ScopeInterface::SCOPE_STORE, +- $storeId +- ); ++ $storeId = $orderItem->getOrder()->getStoreId() !== null ? (int)$orderItem->getOrder()->getStoreId() : null; ++ $orderItemStatusToEnableDownload = $this->getEnableDownloadStatus($storeId); + if (!$product) { + $product = $this->_createProductModel()->setStoreId( + $storeId +@@ -136,8 +132,9 @@ public function execute(\Magento\Framework\Event\Observer $observer) + ); + $linkPurchased->setLinkSectionTitle($linkSectionTitle)->save(); + $linkStatus = \Magento\Downloadable\Model\Link\Purchased\Item::LINK_STATUS_PENDING; +- if ($orderStatusToEnableItem == \Magento\Sales\Model\Order\Item::STATUS_PENDING ++ if ($orderItemStatusToEnableDownload === \Magento\Sales\Model\Order\Item::STATUS_PENDING + || $orderItem->getOrder()->getState() == \Magento\Sales\Model\Order::STATE_COMPLETE ++ || $orderItem->getStatusId() === $orderItemStatusToEnableDownload + ) { + $linkStatus = \Magento\Downloadable\Model\Link\Purchased\Item::LINK_STATUS_AVAILABLE; + } +@@ -211,6 +208,21 @@ protected function _createPurchasedItemModel() + return $this->_itemFactory->create(); + } + ++ /** ++ * Returns order item status to enable download. ++ * ++ * @param int|null $storeId ++ * @return int ++ */ ++ private function getEnableDownloadStatus(?int $storeId): int ++ { ++ return (int)$this->_scopeConfig->getValue( ++ \Magento\Downloadable\Model\Link\Purchased\Item::XML_PATH_ORDER_ITEM_STATUS, ++ ScopeInterface::SCOPE_STORE, ++ $storeId ++ ); ++ } ++ + /** + * Create items collection. + * diff --git a/patches/os/ACSD-49849_2.4.5-p1.patch b/patches/os/ACSD-49849_2.4.5-p1.patch new file mode 100644 index 00000000..faaca48f --- /dev/null +++ b/patches/os/ACSD-49849_2.4.5-p1.patch @@ -0,0 +1,15 @@ +diff --git a/vendor/magento/module-quote/Model/QuoteManagement.php b/vendor/magento/module-quote/Model/QuoteManagement.php +index 51b68411d408..0a25ee498eed 100644 +--- a/vendor/magento/module-quote/Model/QuoteManagement.php ++++ b/vendor/magento/module-quote/Model/QuoteManagement.php +@@ -412,7 +412,9 @@ public function placeOrder($cartId, PaymentInterface $paymentMethod = null) + if ($quote->getCheckoutMethod() === self::METHOD_GUEST || !$customerId) { + $quote->setCustomerId(null); + $billingAddress = $quote->getBillingAddress(); +- $quote->setCustomerEmail($billingAddress ? $billingAddress->getEmail() : null); ++ if (!$quote->getCustomerEmail()) { ++ $quote->setCustomerEmail($billingAddress ? $billingAddress->getEmail() : null); ++ } + if ($quote->getCustomerFirstname() === null + && $quote->getCustomerLastname() === null + && $billingAddress diff --git a/patches/os/ACSD-49877_2.2.3.patch b/patches/os/ACSD-49877_2.2.3.patch new file mode 100644 index 00000000..bd5e1c8b --- /dev/null +++ b/patches/os/ACSD-49877_2.2.3.patch @@ -0,0 +1,12 @@ +diff --git a/vendor/magento/module-page-builder/view/adminhtml/pagebuilder/content_type/video.xml b/vendor/magento/module-page-builder/view/adminhtml/pagebuilder/content_type/video.xml +index f804ed5d3..13ce50279 100644 +--- a/vendor/magento/module-page-builder/view/adminhtml/pagebuilder/content_type/video.xml ++++ b/vendor/magento/module-page-builder/view/adminhtml/pagebuilder/content_type/video.xml +@@ -46,6 +46,7 @@ + + + ++ + + + diff --git a/patches/os/ACSD-49898_2.4.5-p1.patch b/patches/os/ACSD-49898_2.4.5-p1.patch new file mode 100644 index 00000000..f3eb10b0 --- /dev/null +++ b/patches/os/ACSD-49898_2.4.5-p1.patch @@ -0,0 +1,282 @@ +diff --git a/vendor/magento/module-bundle/Ui/DataProvider/Product/Modifier/SpecialPriceAttributes.php b/vendor/magento/module-bundle/Ui/DataProvider/Product/Modifier/SpecialPriceAttributes.php +index 1a19e566a77..4857d37774b 100644 +--- a/vendor/magento/module-bundle/Ui/DataProvider/Product/Modifier/SpecialPriceAttributes.php ++++ b/vendor/magento/module-bundle/Ui/DataProvider/Product/Modifier/SpecialPriceAttributes.php +@@ -8,9 +8,11 @@ declare(strict_types=1); + namespace Magento\Bundle\Ui\DataProvider\Product\Modifier; + + use Magento\Bundle\Model\Product\Type; ++use Magento\Catalog\Api\Data\ProductInterface; + use Magento\Directory\Model\Currency as DirectoryCurrency; +-use Magento\Framework\Currency\Data\Currency as CurrencyData; ++use Magento\Framework\App\ObjectManager; + use Magento\Framework\Locale\ResolverInterface; ++use Magento\Framework\NumberFormatterFactory; + use Magento\Ui\DataProvider\Modifier\ModifierInterface; + use NumberFormatter; + +@@ -30,9 +32,9 @@ class SpecialPriceAttributes implements ModifierInterface + private $priceAttributeList; + + /** +- * @var DirectoryCurrency ++ * @var NumberFormatterFactory + */ +- private $directoryCurrency; ++ private $numberFormatterFactory; + + /** + * PriceAttributes constructor. +@@ -40,15 +42,19 @@ class SpecialPriceAttributes implements ModifierInterface + * @param DirectoryCurrency $directoryCurrency + * @param ResolverInterface $localeResolver + * @param array $priceAttributeList ++ * @param NumberFormatterFactory|null $numberFormatterFactory ++ * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function __construct( + DirectoryCurrency $directoryCurrency, + ResolverInterface $localeResolver, +- array $priceAttributeList = [] ++ array $priceAttributeList = [], ++ ?NumberFormatterFactory $numberFormatterFactory = null + ) { +- $this->directoryCurrency = $directoryCurrency; + $this->localeResolver = $localeResolver; + $this->priceAttributeList = $priceAttributeList; ++ $this->numberFormatterFactory = $numberFormatterFactory ++ ?? ObjectManager::getInstance()->get(NumberFormatterFactory::class); + } + + /** +@@ -59,21 +65,15 @@ class SpecialPriceAttributes implements ModifierInterface + if (empty($data) || empty($this->priceAttributeList)) { + return $data; + } +- $numberFormatter = new NumberFormatter( +- $this->localeResolver->getLocale(), +- NumberFormatter::PERCENT +- ); +- $numberFormatter->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 2); ++ $numberFormatter = $this->numberFormatterFactory->create([ ++ 'locale' => $this->localeResolver->getLocale(), ++ 'style' => NumberFormatter::PERCENT ++ ]); ++ $numberFormatter->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 6); + foreach ($data['items'] as &$item) { + foreach ($this->priceAttributeList as $priceAttribute) { +- if (isset($item[$priceAttribute]) && $item['type_id'] == Type::TYPE_CODE) { +- $item[$priceAttribute] = +- $this->directoryCurrency->format( +- $item[$priceAttribute], +- ['display' => CurrencyData::NO_SYMBOL], +- false +- ); +- $item[$priceAttribute] = $numberFormatter->format($item[$priceAttribute] / 100); ++ if (isset($item[$priceAttribute]) && $item[ProductInterface::TYPE_ID] === Type::TYPE_CODE) { ++ $item[$priceAttribute] = $numberFormatter->format((float) $item[$priceAttribute] / 100); + } + } + } +diff --git a/vendor/magento/module-bundle/etc/adminhtml/di.xml b/vendor/magento/module-bundle/etc/adminhtml/di.xml +index c13e2498180..f173bb26fcc 100644 +--- a/vendor/magento/module-bundle/etc/adminhtml/di.xml ++++ b/vendor/magento/module-bundle/etc/adminhtml/di.xml +@@ -69,4 +69,11 @@ + + + ++ ++ ++ ++ Magento\Bundle\Model\Product\Type::TYPE_CODE ++ ++ ++ + +diff --git a/vendor/magento/module-catalog/Ui/Component/Listing/Columns/Price.php b/vendor/magento/module-catalog/Ui/Component/Listing/Columns/Price.php +index c35dad5e37b..2237aa4cc5b 100644 +--- a/vendor/magento/module-catalog/Ui/Component/Listing/Columns/Price.php ++++ b/vendor/magento/module-catalog/Ui/Component/Listing/Columns/Price.php +@@ -5,6 +5,8 @@ + */ + namespace Magento\Catalog\Ui\Component\Listing\Columns; + ++use Magento\Framework\App\ObjectManager; ++use Magento\Framework\Pricing\PriceCurrencyInterface; + use Magento\Framework\View\Element\UiComponentFactory; + use Magento\Framework\View\Element\UiComponent\ContextInterface; + +@@ -17,7 +19,7 @@ class Price extends \Magento\Ui\Component\Listing\Columns\Column + /** + * Column name + */ +- const NAME = 'column.price'; ++ public const NAME = 'column.price'; + + /** + * @var \Magento\Framework\Locale\CurrencyInterface +@@ -29,6 +31,11 @@ class Price extends \Magento\Ui\Component\Listing\Columns\Column + */ + private $storeManager; + ++ /** ++ * @var PriceCurrencyInterface ++ */ ++ private $priceCurrency; ++ + /** + * @param ContextInterface $context + * @param UiComponentFactory $uiComponentFactory +@@ -36,6 +43,7 @@ class Price extends \Magento\Ui\Component\Listing\Columns\Column + * @param \Magento\Store\Model\StoreManagerInterface $storeManager + * @param array $components + * @param array $data ++ * @param PriceCurrencyInterface|null $priceCurrency + */ + public function __construct( + ContextInterface $context, +@@ -43,11 +51,13 @@ class Price extends \Magento\Ui\Component\Listing\Columns\Column + \Magento\Framework\Locale\CurrencyInterface $localeCurrency, + \Magento\Store\Model\StoreManagerInterface $storeManager, + array $components = [], +- array $data = [] ++ array $data = [], ++ ?PriceCurrencyInterface $priceCurrency = null + ) { + parent::__construct($context, $uiComponentFactory, $components, $data); + $this->localeCurrency = $localeCurrency; + $this->storeManager = $storeManager; ++ $this->priceCurrency = $priceCurrency ?? ObjectManager::getInstance()->get(PriceCurrencyInterface::class); + } + + /** +@@ -62,12 +72,16 @@ class Price extends \Magento\Ui\Component\Listing\Columns\Column + $store = $this->storeManager->getStore( + $this->context->getFilterParam('store_id', \Magento\Store\Model\Store::DEFAULT_STORE_ID) + ); +- $currency = $this->localeCurrency->getCurrency($store->getBaseCurrencyCode()); + + $fieldName = $this->getData('name'); + foreach ($dataSource['data']['items'] as & $item) { + if (isset($item[$fieldName])) { +- $item[$fieldName] = $currency->toCurrency(sprintf("%f", $item[$fieldName])); ++ $item[$fieldName] = $this->priceCurrency->format( ++ sprintf("%F", $item[$fieldName]), ++ false, ++ PriceCurrencyInterface::DEFAULT_PRECISION, ++ $store ++ ); + } + } + } +diff --git a/vendor/magento/module-catalog/Ui/DataProvider/Product/Modifier/PriceAttributes.php b/vendor/magento/module-catalog/Ui/DataProvider/Product/Modifier/PriceAttributes.php +index 7f333441dab..74da9af1e83 100644 +--- a/vendor/magento/module-catalog/Ui/DataProvider/Product/Modifier/PriceAttributes.php ++++ b/vendor/magento/module-catalog/Ui/DataProvider/Product/Modifier/PriceAttributes.php +@@ -7,10 +7,10 @@ declare(strict_types=1); + + namespace Magento\Catalog\Ui\DataProvider\Product\Modifier; + +-use Magento\Framework\Currency; +-use Magento\Framework\Exception\NoSuchEntityException; ++use Magento\Catalog\Api\Data\ProductInterface; ++use Magento\Framework\App\ObjectManager; + use Magento\Framework\Locale\CurrencyInterface; +-use Magento\Store\Api\Data\StoreInterface; ++use Magento\Framework\Pricing\PriceCurrencyInterface; + use Magento\Store\Model\StoreManagerInterface; + use Magento\Ui\DataProvider\Modifier\ModifierInterface; + +@@ -30,9 +30,14 @@ class PriceAttributes implements ModifierInterface + private $storeManager; + + /** +- * @var CurrencyInterface ++ * @var array + */ +- private $localeCurrency; ++ private $excludeProductTypes; ++ ++ /** ++ * @var PriceCurrencyInterface ++ */ ++ private $priceCurrency; + + /** + * PriceAttributes constructor. +@@ -40,15 +45,21 @@ class PriceAttributes implements ModifierInterface + * @param StoreManagerInterface $storeManager + * @param CurrencyInterface $localeCurrency + * @param array $priceAttributeList ++ * @param array $excludeProductTypes ++ * @param PriceCurrencyInterface|null $priceCurrency ++ * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function __construct( + StoreManagerInterface $storeManager, + CurrencyInterface $localeCurrency, +- array $priceAttributeList = [] ++ array $priceAttributeList = [], ++ array $excludeProductTypes = [], ++ ?PriceCurrencyInterface $priceCurrency = null + ) { + $this->storeManager = $storeManager; +- $this->localeCurrency = $localeCurrency; + $this->priceAttributeList = $priceAttributeList; ++ $this->excludeProductTypes = $excludeProductTypes; ++ $this->priceCurrency = $priceCurrency ?? ObjectManager::getInstance()->get(PriceCurrencyInterface::class); + } + + /** +@@ -61,9 +72,18 @@ class PriceAttributes implements ModifierInterface + } + + foreach ($data['items'] as &$item) { +- foreach ($this->priceAttributeList as $priceAttribute) { +- if (isset($item[$priceAttribute])) { +- $item[$priceAttribute] = $this->getCurrency()->toCurrency(sprintf("%f", $item[$priceAttribute])); ++ if (!isset($item[ProductInterface::TYPE_ID]) ++ || !in_array($item[ProductInterface::TYPE_ID], $this->excludeProductTypes, true) ++ ) { ++ foreach ($this->priceAttributeList as $priceAttribute) { ++ if (isset($item[$priceAttribute])) { ++ $item[$priceAttribute] = $this->priceCurrency->format( ++ sprintf("%F", $item[$priceAttribute]), ++ false, ++ PriceCurrencyInterface::DEFAULT_PRECISION, ++ $this->storeManager->getStore($item['store_id'] ?? null) ++ ); ++ } + } + } + } +@@ -78,28 +98,4 @@ class PriceAttributes implements ModifierInterface + { + return $meta; + } +- +- /** +- * Retrieve store +- * +- * @return StoreInterface +- * @throws NoSuchEntityException +- */ +- private function getStore(): StoreInterface +- { +- return $this->storeManager->getStore(); +- } +- +- /** +- * Retrieve currency +- * +- * @return Currency +- * @throws NoSuchEntityException +- */ +- private function getCurrency(): Currency +- { +- $baseCurrencyCode = $this->getStore()->getBaseCurrencyCode(); +- +- return $this->localeCurrency->getCurrency($baseCurrencyCode); +- } + } diff --git a/patches/os/ACSD-49901_2.2.4.patch b/patches/os/ACSD-49901_2.2.4.patch new file mode 100644 index 00000000..909c21be --- /dev/null +++ b/patches/os/ACSD-49901_2.2.4.patch @@ -0,0 +1,67 @@ +diff --git a/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php b/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php +index c60642407..4546d4122 100644 +--- a/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php ++++ b/vendor/magento/module-page-builder/Component/Form/Element/Wysiwyg.php +@@ -18,6 +18,7 @@ + use Magento\PageBuilder\Model\Config as PageBuilderConfig; + use Magento\PageBuilder\Model\State as PageBuilderState; + use Magento\PageBuilder\Model\Stage\Config as Config; ++use Magento\Framework\AuthorizationInterface; + + /** + * Updates wysiwyg element with Page Builder specific config +@@ -26,11 +27,19 @@ + */ + class Wysiwyg extends \Magento\Ui\Component\Form\Element\Wysiwyg + { ++ ++ private const ADMIN_RESOURCE = 'Magento_Backend::content'; ++ + /** + * @var Repository + */ + private $assetRepo; + ++ /** ++ * @var AuthorizationInterface ++ */ ++ private $authorization; ++ + /** + * WYSIWYG Constructor + * +@@ -46,6 +55,7 @@ class Wysiwyg extends \Magento\Ui\Component\Form\Element\Wysiwyg + * @param PageBuilderConfig|null $pageBuilderConfig + * @param bool $overrideSnapshot + * @param Repository|null $assetRepo ++ * @param AuthorizationInterface|null $authorization + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.ExcessiveParameterList) + * @SuppressWarnings(PHPMD.NPathComplexity) +@@ -62,9 +72,11 @@ public function __construct( + array $config = [], + PageBuilderConfig $pageBuilderConfig = null, + bool $overrideSnapshot = false, +- Repository $assetRepo = null ++ Repository $assetRepo = null, ++ AuthorizationInterface $authorization = null + ) { + $this->assetRepo = $assetRepo ?: ObjectManager::getInstance()->get(Repository::class); ++ $this->authorization = $authorization ?: ObjectManager::getInstance()->get(AuthorizationInterface::class); + $wysiwygConfigData = $config['wysiwygConfigData'] ?? []; + + // If a dataType is present we're dealing with an attribute +@@ -79,11 +91,11 @@ public function __construct( + $config['wysiwyg'] = true; + } + } +- ++ $isAllowed = $this->authorization->isAllowed(self::ADMIN_RESOURCE); + $isEnablePageBuilder = isset($wysiwygConfigData['is_pagebuilder_enabled']) + && !$wysiwygConfigData['is_pagebuilder_enabled'] + || false; +- if (!$pageBuilderState->isPageBuilderInUse($isEnablePageBuilder)) { ++ if (!$pageBuilderState->isPageBuilderInUse($isEnablePageBuilder) && $isAllowed) { + // This is not done using definition.xml due to https://github.com/magento/magento2/issues/5647 + $data['config']['component'] = 'Magento_PageBuilder/js/form/element/wysiwyg'; + diff --git a/patches/os/ACSD-49960_2.4.5-p1.patch b/patches/os/ACSD-49960_2.4.5-p1.patch new file mode 100644 index 00000000..c6ec27ee --- /dev/null +++ b/patches/os/ACSD-49960_2.4.5-p1.patch @@ -0,0 +1,50 @@ +diff --git a/vendor/magento/module-sales/Plugin/Model/ResourceModel/Order/OrderGridCollectionFilter.php b/vendor/magento/module-sales/Plugin/Model/ResourceModel/Order/OrderGridCollectionFilter.php +index 995bb8335163..743bc8358829 100644 +--- a/vendor/magento/module-sales/Plugin/Model/ResourceModel/Order/OrderGridCollectionFilter.php ++++ b/vendor/magento/module-sales/Plugin/Model/ResourceModel/Order/OrderGridCollectionFilter.php +@@ -6,6 +6,8 @@ + + namespace Magento\Sales\Plugin\Model\ResourceModel\Order; + ++use DateTime; ++use DateTimeInterface; + use Magento\Framework\DB\Select; + use Magento\Framework\Stdlib\DateTime\TimezoneInterface; + use Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult; +@@ -44,11 +46,12 @@ public function aroundAddFieldToFilter( + $field, + $condition = null + ) { +- + if ($field === 'created_at' || $field === 'order_created_at') { + if (is_array($condition)) { + foreach ($condition as $key => $value) { +- $condition[$key] = $this->timeZone->convertConfigTimeToUtc($value); ++ if ($value = $this->isValidDate($value)) { ++ $condition[$key] = $value->setTimezone(new \DateTimeZone('UTC'))->format('Y-m-d H:i:s'); ++ } + } + } + +@@ -61,4 +64,21 @@ public function aroundAddFieldToFilter( + + return $proceed($field, $condition); + } ++ ++ /** ++ * Validate date string ++ * ++ * @param mixed $datetime ++ * @return mixed ++ */ ++ private function isValidDate(mixed $datetime): mixed ++ { ++ try { ++ return $datetime instanceof DateTimeInterface ++ ? $datetime : (is_string($datetime) ++ ? new DateTime($datetime, new \DateTimeZone($this->timeZone->getConfigTimezone())) : false); ++ } catch (\Exception $e) { ++ return false; ++ } ++ } + } diff --git a/patches/os/ACSD-49970_2.4.5-p1.patch b/patches/os/ACSD-49970_2.4.5-p1.patch new file mode 100644 index 00000000..7c97da82 --- /dev/null +++ b/patches/os/ACSD-49970_2.4.5-p1.patch @@ -0,0 +1,13 @@ +diff --git a/vendor/magento/module-graph-ql/Model/Query/Logger/NewRelic.php b/vendor/magento/module-graph-ql/Model/Query/Logger/NewRelic.php +index 55f25c176ed..ca20a6970eb 100644 +--- a/vendor/magento/module-graph-ql/Model/Query/Logger/NewRelic.php ++++ b/vendor/magento/module-graph-ql/Model/Query/Logger/NewRelic.php +@@ -49,7 +49,7 @@ class NewRelic implements LoggerInterface + $this->newRelicWrapper->addCustomParameter($key, $value); + } + +- $transactionName = $queryDetails[LoggerInterface::OPERATION_NAMES] ?: ''; ++ $transactionName = $queryDetails[LoggerInterface::OPERATION_NAMES] ??= ''; + + $this->newRelicWrapper->setTransactionName('GraphQL-' . $transactionName); + } diff --git a/patches/os/ACSD-49973_1.2.4-p2.patch b/patches/os/ACSD-49973_1.2.4-p2.patch new file mode 100644 index 00000000..a916d419 --- /dev/null +++ b/patches/os/ACSD-49973_1.2.4-p2.patch @@ -0,0 +1,499 @@ +diff --git a/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php b/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php +index e736e64643ad..d549f24ae610 100644 +--- a/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php ++++ b/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php +@@ -11,9 +11,6 @@ + use Magento\InventoryIndexer\Indexer\IndexStructure; + use Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface; + +-/** +- * Adapt adding stock status to select for Multi Stocks. +- */ + class AddStockStatusToSelect + { + /** +@@ -30,6 +27,8 @@ public function __construct(StockIndexTableNameResolverInterface $stockIndexTabl + } + + /** ++ * Adapt adding stock status to select for Multi Stocks. ++ * + * @param Select $select + * @param int $stockId + * @return void +@@ -41,7 +40,7 @@ public function execute(Select $select, int $stockId) + $select->joinLeft( + ['stock_status' => $tableName], + 'e.sku = stock_status.sku', +- [IndexStructure::IS_SALABLE] ++ [IndexStructure::IS_SALABLE => IndexStructure::IS_SALABLE] + ); + } + } +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php +index 89b6f23ca4cf..36851f4b134f 100644 +--- a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php ++++ b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php +@@ -7,12 +7,8 @@ + + namespace Magento\InventoryCatalogSearch\Model\Indexer; + +-use Magento\Framework\App\ResourceConnection; ++use Magento\CatalogInventory\Model\ResourceModel\StockStatusFilterInterface; + use Magento\Framework\DB\Select; +-use Magento\Framework\Exception\NoSuchEntityException; +-use Magento\InventoryCatalogApi\Api\DefaultStockProviderInterface; +-use Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface; +-use Magento\InventorySalesApi\Model\StockByWebsiteIdResolverInterface; + use Magento\Store\Api\StoreRepositoryInterface; + + /** +@@ -21,57 +17,32 @@ + class FilterProductByStock + { + /** +- * @var DefaultStockProviderInterface +- */ +- private $defaultStockProvider; +- +- /** +- * @var ResourceConnection +- */ +- private $resourceConnection; +- +- /** +- * @var StockByWebsiteIdResolverInterface ++ * @var StoreRepositoryInterface + */ +- private $stockByWebsiteIdResolver; ++ private $storeRepository; + + /** +- * @var StockIndexTableNameResolverInterface ++ * @var StockStatusFilterInterface + */ +- private $stockIndexTableNameResolver; ++ private $stockStatusFilter; + + /** +- * @var StoreRepositoryInterface +- */ +- private $storeRepository; +- +- /** +- * @var array ++ * @var SelectModifierInterface[] + */ + private $selectModifiersPool; + + /** +- * @param DefaultStockProviderInterface $defaultStockProvider +- * @param ResourceConnection $resourceConnection +- * @param StockByWebsiteIdResolverInterface $stockByWebsiteIdResolver +- * @param StockIndexTableNameResolverInterface $stockIndexTableNameResolver + * @param StoreRepositoryInterface $storeRepository +- * @param array $selectModifiersPool ++ * @param StockStatusFilterInterface $stockStatusFilter ++ * @param SelectModifierInterface[] $selectModifiersPool + */ + public function __construct( +- DefaultStockProviderInterface $defaultStockProvider, +- ResourceConnection $resourceConnection, +- StockByWebsiteIdResolverInterface $stockByWebsiteIdResolver, +- StockIndexTableNameResolverInterface $stockIndexTableNameResolver, + StoreRepositoryInterface $storeRepository, ++ StockStatusFilterInterface $stockStatusFilter, + array $selectModifiersPool = [] +- ) +- { +- $this->defaultStockProvider = $defaultStockProvider; +- $this->resourceConnection = $resourceConnection; +- $this->stockByWebsiteIdResolver = $stockByWebsiteIdResolver; +- $this->stockIndexTableNameResolver = $stockIndexTableNameResolver; ++ ) { + $this->storeRepository = $storeRepository; ++ $this->stockStatusFilter = $stockStatusFilter; + $this->selectModifiersPool = $selectModifiersPool; + } + +@@ -81,34 +52,17 @@ public function __construct( + * @param Select $select + * @param int $storeId + * @return Select +- * @throws NoSuchEntityException + */ + public function execute(Select $select, int $storeId): Select + { + $store = $this->storeRepository->getById($storeId); +- try { +- $stock = $this->stockByWebsiteIdResolver->execute((int)$store->getWebsiteId()); +- } catch (NoSuchEntityException $exception) { +- return $select; +- } +- +- $stockId = $stock->getStockId(); +- $stockTable = $this->stockIndexTableNameResolver->execute($stockId); +- $connection = $this->resourceConnection->getConnection(); +- +- if ($this->defaultStockProvider->getId() === $stockId || +- !$connection->isTableExists($stockTable)) { +- return $select; +- } +- +- $select->joinInner( +- ['stock' => $stockTable], +- 'e.sku = stock.sku', +- [] ++ $this->stockStatusFilter->execute( ++ $select, ++ 'e', ++ StockStatusFilterInterface::TABLE_ALIAS, ++ (int) $store->getWebsiteId() + ); +- +- $select->where('stock.is_salable = ?', 1); +- $this->applySelectModifiers($select, $stockTable); ++ $this->applySelectModifiers($select, $storeId); + + return $select; + } +@@ -117,13 +71,13 @@ public function execute(Select $select, int $storeId): Select + * Applying filters to select via select modifiers + * + * @param Select $select +- * @param string $stockTable ++ * @param int $storeId + * @return void + */ +- private function applySelectModifiers(Select $select, string $stockTable): void ++ private function applySelectModifiers(Select $select, int $storeId): void + { + foreach ($this->selectModifiersPool as $selectModifier) { +- $selectModifier->modify($select, $stockTable); ++ $selectModifier->modify($select, $storeId); + } + } + } +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/SelectModifierInterface.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/SelectModifierInterface.php +index 29b406f6a612..cf05560efe18 100644 +--- a/vendor/magento/module-inventory-catalog-search/Model/Indexer/SelectModifierInterface.php ++++ b/vendor/magento/module-inventory-catalog-search/Model/Indexer/SelectModifierInterface.php +@@ -18,8 +18,8 @@ interface SelectModifierInterface + * Add stock item filter to select + * + * @param Select $select +- * @param string $stockTable ++ * @param int $storeId + * @return void + */ +- public function modify(Select $select, string $stockTable): void; ++ public function modify(Select $select, int $storeId): void; + } +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php +index 1fc119db67eb..f20fe87ca4f5 100644 +--- a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php ++++ b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php +@@ -9,23 +9,20 @@ + + use Magento\Bundle\Model\Product\Type; + use Magento\Catalog\Api\Data\ProductInterface; +-use Magento\Catalog\Model\Product; +-use Magento\Eav\Model\Config; ++use Magento\Catalog\Api\ProductAttributeRepositoryInterface; ++use Magento\Catalog\Model\Product\Attribute\Source\Status; ++use Magento\CatalogInventory\Model\ResourceModel\Stock\Status as StockStatusResource; + use Magento\Framework\App\ResourceConnection; + use Magento\Framework\DB\Select; + use Magento\Framework\EntityManager\MetadataPool; + use Magento\InventoryCatalogSearch\Model\Indexer\SelectModifierInterface; ++use Magento\Store\Api\StoreRepositoryInterface; + + /** + * Filter bundle products by enabled child products stock status. + */ + class BundleChildStockStatusModifier implements SelectModifierInterface + { +- /** +- * @var Config +- */ +- private $eavConfig; +- + /** + * @var MetadataPool + */ +@@ -37,57 +34,108 @@ class BundleChildStockStatusModifier implements SelectModifierInterface + private $resourceConnection; + + /** +- * @param Config $eavConfig ++ * @var ProductAttributeRepositoryInterface ++ */ ++ private $productAttributeRepository; ++ ++ /** ++ * @var StoreRepositoryInterface ++ */ ++ private $storeRepository; ++ ++ /** ++ * @var StockStatusResource ++ */ ++ private $stockStatusResource; ++ ++ /** + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection ++ * @param ProductAttributeRepositoryInterface $productAttributeRepository ++ * @param StoreRepositoryInterface $storeRepository ++ * @param StockStatusResource $stockStatusResource + */ + public function __construct( +- Config $eavConfig, + MetadataPool $metadataPool, +- ResourceConnection $resourceConnection ++ ResourceConnection $resourceConnection, ++ ProductAttributeRepositoryInterface $productAttributeRepository, ++ StoreRepositoryInterface $storeRepository, ++ StockStatusResource $stockStatusResource + ) { +- $this->eavConfig = $eavConfig; + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; ++ $this->productAttributeRepository = $productAttributeRepository; ++ $this->storeRepository = $storeRepository; ++ $this->stockStatusResource = $stockStatusResource; + } + + /** +- * Add stock item filter to select +- * +- * @param Select $select +- * @param string $stockTable +- * @return void ++ * @inheritdoc + */ +- public function modify(Select $select, string $stockTable): void ++ public function modify(Select $select, int $storeId): void + { + $connection = $this->resourceConnection->getConnection(); + $metadata = $this->metadataPool->getMetadata(ProductInterface::class); + $linkField = $metadata->getLinkField(); +- $statusAttribute = $this->eavConfig->getAttribute(Product::ENTITY, 'status'); +- $existsSelect = $connection->select()->from( +- ['product_link_bundle' => $this->resourceConnection->getTableName('catalog_product_bundle_selection')], +- [new \Zend_Db_Expr('1')] +- )->where( +- "product_link_bundle.parent_product_id = e.{$linkField}" +- ); +- $existsSelect->join( +- ['bundle_product_child' => $this->resourceConnection->getTableName('catalog_product_entity')], +- 'bundle_product_child.entity_id = product_link_bundle.product_id', ++ $optionsAvailabilitySelect = $connection->select()->from( ++ ['bundle_options' => $this->resourceConnection->getTableName('catalog_product_bundle_option')], ++ [] ++ )->joinInner( ++ ['bundle_selections' => $this->resourceConnection->getTableName('catalog_product_bundle_selection')], ++ 'bundle_selections.option_id = bundle_options.option_id', + [] ++ )->joinInner( ++ // table alias must be "e" for joining the stock status ++ ['e' => $this->resourceConnection->getTableName('catalog_product_entity')], ++ 'e.entity_id = bundle_selections.product_id', ++ [] ++ )->group( ++ ['bundle_options.parent_id', 'bundle_options.option_id'] + ); + +- $existsSelect->join( +- ['child_product_status' => $this->resourceConnection->getTableName($statusAttribute->getBackendTable())], +- "bundle_product_child.{$linkField} = child_product_status.{$linkField} AND " +- . "child_product_status.attribute_id = " . $statusAttribute->getId(), ++ $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); ++ $optionsAvailabilitySelect->joinLeft( ++ ['child_status_global' => $statusAttribute->getBackendTable()], ++ "child_status_global.{$linkField} = e.{$linkField}" ++ . " AND child_status_global.attribute_id = {$statusAttribute->getAttributeId()}" ++ . " AND child_status_global.store_id = 0", + [] +- )->where('child_product_status.value = 1'); +- +- $existsSelect->join( +- ['stock_status_index_child' => $stockTable], +- 'bundle_product_child.sku = stock_status_index_child.sku', ++ )->joinLeft( ++ ['child_status_store' => $statusAttribute->getBackendTable()], ++ "child_status_store.{$linkField} = e.{$linkField}" ++ . " AND child_status_store.attribute_id = {$statusAttribute->getAttributeId()}" ++ . " AND child_status_store.store_id = {$storeId}", + [] +- )->where('stock_status_index_child.is_salable = 1'); ++ ); ++ ++ $store = $this->storeRepository->getById($storeId); ++ $this->stockStatusResource->addStockStatusToSelect($optionsAvailabilitySelect, $store->getWebsite()); ++ $columns = array_column($optionsAvailabilitySelect->getPart(Select::COLUMNS), 1, 2); ++ $isSalableColumn = $columns['is_salable']; ++ ++ $optionAvailabilityExpr = sprintf( ++ 'IFNULL(child_status_store.value, child_status_global.value) != %s AND %s = 1', ++ Status::STATUS_DISABLED, ++ $isSalableColumn ++ ); ++ $isOptionSalableExpr = new \Zend_Db_Expr('MAX(' . $optionAvailabilityExpr . ')'); ++ $isRequiredOptionUnsalable = $connection->getCheckSql( ++ 'required = 1 AND ' . $isOptionSalableExpr . ' = 0', ++ '1', ++ '0' ++ ); ++ $optionsAvailabilitySelect->columns([ ++ 'parent_id' => 'bundle_options.parent_id', ++ 'required' => 'bundle_options.required', ++ 'is_available' => $isOptionSalableExpr, ++ 'is_required_and_unavailable' => $isRequiredOptionUnsalable, ++ ]); ++ ++ $existsSelect = $connection->select() ++ ->from($optionsAvailabilitySelect) ++ ->where("parent_id = e.{$linkField}") ++ ->group('parent_id') ++ ->having(new \Zend_Db_Expr('(MAX(is_available) = 1 AND MAX(is_required_and_unavailable) = 0)')); + $typeBundle = Type::TYPE_CODE; + $select->where( + "e.type_id != '{$typeBundle}' OR EXISTS ({$existsSelect->assemble()})" +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php +index 5e54cac38980..e8682d665da3 100644 +--- a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php ++++ b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php +@@ -8,24 +8,21 @@ + namespace Magento\InventoryCatalogSearchConfigurableProduct\Model\CatalogSearch\Indexer; + + use Magento\Catalog\Api\Data\ProductInterface; +-use Magento\Catalog\Model\Product; ++use Magento\Catalog\Api\ProductAttributeRepositoryInterface; ++use Magento\Catalog\Model\Product\Attribute\Source\Status; ++use Magento\CatalogInventory\Model\ResourceModel\StockStatusFilterInterface; + use Magento\ConfigurableProduct\Model\Product\Type\Configurable; +-use Magento\Eav\Model\Config; + use Magento\Framework\App\ResourceConnection; + use Magento\Framework\DB\Select; + use Magento\Framework\EntityManager\MetadataPool; + use Magento\InventoryCatalogSearch\Model\Indexer\SelectModifierInterface; ++use Magento\Store\Api\StoreRepositoryInterface; + + /** + * Filter configurable products by enabled child products stock status. + */ + class ConfigurableChildStockStatusModifier implements SelectModifierInterface + { +- /** +- * @var Config +- */ +- private $eavConfig; +- + /** + * @var MetadataPool + */ +@@ -36,34 +33,50 @@ class ConfigurableChildStockStatusModifier implements SelectModifierInterface + */ + private $resourceConnection; + ++ /** ++ * @var ProductAttributeRepositoryInterface ++ */ ++ private $productAttributeRepository; ++ ++ /** ++ * @var StoreRepositoryInterface ++ */ ++ private $storeRepository; ++ ++ /** ++ * @var StockStatusFilterInterface ++ */ ++ private $stockStatusFilter; ++ + /** + * @param MetadataPool $metadataPool +- * @param Config $eavConfig + * @param ResourceConnection $resourceConnection ++ * @param ProductAttributeRepositoryInterface $productAttributeRepository ++ * @param StoreRepositoryInterface $storeRepository ++ * @param StockStatusFilterInterface $stockStatusFilter + */ + public function __construct( + MetadataPool $metadataPool, +- Config $eavConfig, +- ResourceConnection $resourceConnection ++ ResourceConnection $resourceConnection, ++ ProductAttributeRepositoryInterface $productAttributeRepository, ++ StoreRepositoryInterface $storeRepository, ++ StockStatusFilterInterface $stockStatusFilter + ) { + $this->metadataPool = $metadataPool; +- $this->eavConfig = $eavConfig; + $this->resourceConnection = $resourceConnection; ++ $this->productAttributeRepository = $productAttributeRepository; ++ $this->storeRepository = $storeRepository; ++ $this->stockStatusFilter = $stockStatusFilter; + } + + /** +- * Add stock item filter to select +- * +- * @param Select $select +- * @param string $stockTable +- * @return void ++ * @inheritdoc + */ +- public function modify(Select $select, string $stockTable): void ++ public function modify(Select $select, int $storeId): void + { + $connection = $this->resourceConnection->getConnection(); + $metadata = $this->metadataPool->getMetadata(ProductInterface::class); + $linkField = $metadata->getLinkField(); +- $statusAttribute = $this->eavConfig->getAttribute(Product::ENTITY, 'status'); + $existsSelect = $connection->select()->from( + ['product_link_configurable' => $this->resourceConnection->getTableName('catalog_product_super_link')], + [new \Zend_Db_Expr('1')] +@@ -76,18 +89,31 @@ public function modify(Select $select, string $stockTable): void + [] + ); + +- $existsSelect->join( +- ['child_product_status' => $this->resourceConnection->getTableName($statusAttribute->getBackendTable())], +- "product_child.{$linkField} = child_product_status.{$linkField} AND " +- . "child_product_status.attribute_id = " . $statusAttribute->getId(), ++ $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); ++ $existsSelect->joinLeft( ++ ['child_status_global' => $statusAttribute->getBackendTable()], ++ "child_status_global.{$linkField} = product_child.{$linkField}" ++ . " AND child_status_global.attribute_id = {$statusAttribute->getAttributeId()}" ++ . " AND child_status_global.store_id = 0", + [] +- )->where('child_product_status.value = 1'); +- +- $existsSelect->join( +- ['stock_status_index_child' => $stockTable], +- 'product_child.sku = stock_status_index_child.sku', ++ )->joinLeft( ++ ['child_status_store' => $statusAttribute->getBackendTable()], ++ "child_status_store.{$linkField} = product_child.{$linkField}" ++ . " AND child_status_store.attribute_id = {$statusAttribute->getAttributeId()}" ++ . " AND child_status_store.store_id = {$storeId}", + [] +- )->where('stock_status_index_child.is_salable = 1'); ++ )->where( ++ 'IFNULL(child_status_store.value, child_status_global.value) != ' . Status::STATUS_DISABLED ++ ); ++ ++ $store = $this->storeRepository->getById($storeId); ++ $this->stockStatusFilter->execute( ++ $existsSelect, ++ 'product_child', ++ StockStatusFilterInterface::TABLE_ALIAS, ++ (int) $store->getWebsiteId() ++ ); ++ + $typeConfigurable = Configurable::TYPE_CODE; + $select->where( + "e.type_id != '{$typeConfigurable}' OR EXISTS ({$existsSelect->assemble()})" diff --git a/patches/os/ACSD-49973_2.4.4-p2.patch b/patches/os/ACSD-49973_2.4.4-p2.patch new file mode 100644 index 00000000..230850dd --- /dev/null +++ b/patches/os/ACSD-49973_2.4.4-p2.patch @@ -0,0 +1,558 @@ +diff --git a/vendor/magento/module-bundle/Model/Product/SelectionProductsDisabledRequired.php b/vendor/magento/module-bundle/Model/Product/SelectionProductsDisabledRequired.php +deleted file mode 100644 +index d3f1c2f1c999..000000000000 +--- a/vendor/magento/module-bundle/Model/Product/SelectionProductsDisabledRequired.php ++++ /dev/null +@@ -1,164 +0,0 @@ +-bundleSelection = $bundleSelection; +- $this->storeManager = $storeManager; +- $this->catalogProductStatus = $catalogProductStatus; +- $this->productCollectionFactory = $productCollectionFactory; +- $this->metadataPool = $metadataPool; +- } +- +- /** +- * Return ids of options and child products when all products in required option are disabled in bundle product +- * +- * @param int $bundleId +- * @param int|null $websiteId +- * @return array +- * @SuppressWarnings(PHPMD.CyclomaticComplexity) +- */ +- public function getChildProductIds(int $bundleId, ?int $websiteId = null): array +- { +- if (!$websiteId) { +- $websiteId = (int)$this->storeManager->getStore()->getWebsiteId(); +- } +- $cacheKey = $this->getCacheKey($bundleId, $websiteId); +- if (isset($this->productsDisabledRequired[$cacheKey])) { +- return $this->productsDisabledRequired[$cacheKey]; +- } +- $selectionProductIds = $this->bundleSelection->getChildrenIds($bundleId); +- /** for cases when no required products found */ +- if (count($selectionProductIds) === 1 && isset($selectionProductIds[0])) { +- $this->productsDisabledRequired[$cacheKey] = []; +- return $this->productsDisabledRequired[$cacheKey]; +- } +- $products = $this->getProducts($selectionProductIds, $websiteId); +- if (!$products) { +- $this->productsDisabledRequired[$cacheKey] = []; +- return $this->productsDisabledRequired[$cacheKey]; +- } +- foreach ($selectionProductIds as $optionId => $optionProductIds) { +- foreach ($optionProductIds as $productId) { +- if (isset($products[$productId])) { +- /** @var Product $product */ +- $product = $products[$productId]; +- if (in_array($product->getStatus(), $this->catalogProductStatus->getVisibleStatusIds())) { +- unset($selectionProductIds[$optionId]); +- } +- } +- } +- } +- $this->productsDisabledRequired[$cacheKey] = $selectionProductIds; +- return $this->productsDisabledRequired[$cacheKey]; +- } +- +- /** +- * Get products objects +- * +- * @param array $selectionProductIds +- * @param int $websiteId +- * @return ProductInterface[] +- */ +- private function getProducts(array $selectionProductIds, int $websiteId): array +- { +- $productIds = []; +- $defaultStore = $this->storeManager->getWebsite($websiteId)->getDefaultStore(); +- $defaultStoreId = $defaultStore ? $defaultStore->getId() : null; +- foreach ($selectionProductIds as $optionProductIds) { +- $productIds[] = $optionProductIds; +- } +- $productIds = array_merge([], ...$productIds); +- $productCollection = $this->productCollectionFactory->create(); +- $productCollection->joinAttribute( +- ProductInterface::STATUS, +- Product::ENTITY . '/' . ProductInterface::STATUS, +- $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField(), +- null, +- 'inner', +- $defaultStoreId +- ); +- $productCollection->addIdFilter($productIds); +- $productCollection->addStoreFilter($defaultStoreId); +- $productCollection->setFlag($this->hasStockStatusFilter, true); +- return $productCollection->getItems(); +- } +- +- /** +- * Get cache key +- * +- * @param int $bundleId +- * @param int $websiteId +- * @return string +- */ +- private function getCacheKey(int $bundleId, int $websiteId): string +- { +- return $bundleId . '-' . $websiteId; +- } +-} +diff --git a/vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php b/vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php +deleted file mode 100644 +index dcd85414748c..000000000000 +--- a/vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php ++++ /dev/null +@@ -1,141 +0,0 @@ +-resourceConnection = $resourceConnection; +- $this->config = $config; +- $this->metadataPool = $metadataPool; +- $this->bundleSelection = $bundleSelection; +- $this->selectionProductsDisabledRequired = $selectionProductsDisabledRequired; +- } +- +- /** +- * Remove bundle product from price index when all products in required option are disabled +- * +- * @param IndexTableStructure $priceTable +- * @param array $entityIds +- * @return void +- * @throws \Magento\Framework\Exception\LocalizedException +- */ +- public function modifyPrice(IndexTableStructure $priceTable, array $entityIds = []) : void +- { +- foreach ($entityIds as $entityId) { +- $entityId = (int) $entityId; +- if (!$this->isBundle($entityId)) { +- continue; +- } +- foreach ($this->getWebsiteIdsOfProduct($entityId) as $websiteId) { +- $productIdsDisabledRequired = $this->selectionProductsDisabledRequired +- ->getChildProductIds($entityId, (int)$websiteId); +- if ($productIdsDisabledRequired) { +- $connection = $this->resourceConnection->getConnection('indexer'); +- $select = $connection->select(); +- $select->from(['price_index' => $priceTable->getTableName()], []); +- $priceEntityField = $priceTable->getEntityField(); +- $select->where('price_index.website_id = ?', $websiteId); +- $select->where("price_index.{$priceEntityField} = ?", $entityId); +- $query = $select->deleteFromSelect('price_index'); +- $connection->query($query); +- } +- } +- } +- } +- +- /** +- * Get all website ids of product +- * +- * @param int $entityId +- * @return array +- */ +- private function getWebsiteIdsOfProduct(int $entityId): array +- { +- if (isset($this->websiteIdsOfProduct[$entityId])) { +- return $this->websiteIdsOfProduct[$entityId]; +- } +- $connection = $this->resourceConnection->getConnection('indexer'); +- $select = $connection->select(); +- $select->from( +- ['product_in_websites' => $this->resourceConnection->getTableName('catalog_product_website')], +- ['website_id'] +- )->where('product_in_websites.product_id = ?', $entityId); +- foreach ($connection->fetchCol($select) as $websiteId) { +- $this->websiteIdsOfProduct[$entityId][] = (int)$websiteId; +- } +- return $this->websiteIdsOfProduct[$entityId]; +- } +- +- /** +- * Is product bundle +- * +- * @param int $entityId +- * @return bool +- */ +- private function isBundle(int $entityId): bool +- { +- if (isset($this->isBundle[$entityId])) { +- return $this->isBundle[$entityId]; +- } +- $connection = $this->resourceConnection->getConnection('indexer'); +- $select = $connection->select(); +- $select->from( +- ['cpe' => $this->resourceConnection->getTableName('catalog_product_entity')], +- ['type_id'] +- )->where('cpe.entity_id = ?', $entityId); +- $typeId = $connection->fetchOne($select); +- $this->isBundle[$entityId] = $typeId === Type::TYPE_BUNDLE; +- return $this->isBundle[$entityId]; +- } +-} +diff --git a/vendor/magento/module-bundle/Plugin/Catalog/Helper/Product.php b/vendor/magento/module-bundle/Plugin/Catalog/Helper/Product.php +deleted file mode 100644 +index 0b090b2cbad7..000000000000 +--- a/vendor/magento/module-bundle/Plugin/Catalog/Helper/Product.php ++++ /dev/null +@@ -1,82 +0,0 @@ +-selectionProductsDisabledRequired = $selectionProductsDisabledRequired; +- $this->scopeConfig = $scopeConfig; +- $this->productRepository = $productRepository; +- } +- +- /** +- * Do not show bundle product when all products in required option are disabled +- * +- * @param Subject $subject +- * @param bool $result +- * @param ProductModel|int $product +- * @return bool +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function afterCanShow(Subject $subject, $result, $product) +- { +- if (is_int($product)) { +- $product = $this->productRepository->getById($product); +- } +- $productId = (int)$product->getEntityId(); +- if ($result == false || $product->getTypeId() !== Type::TYPE_BUNDLE) { +- return $result; +- } +- $isShowOutOfStock = $this->scopeConfig->getValue( +- Configuration::XML_PATH_SHOW_OUT_OF_STOCK, +- ScopeInterface::SCOPE_STORE +- ); +- if ($isShowOutOfStock) { +- return $result; +- } +- $productIdsDisabledRequired = $this->selectionProductsDisabledRequired->getChildProductIds($productId); +- return $productIdsDisabledRequired ? false : $result; +- } +-} +diff --git a/vendor/magento/module-bundle/etc/di.xml b/vendor/magento/module-bundle/etc/di.xml +index c5c4a491234e..47329a0afdcd 100644 +--- a/vendor/magento/module-bundle/etc/di.xml ++++ b/vendor/magento/module-bundle/etc/di.xml +@@ -276,13 +276,6 @@ + + + +- +- +- +- Magento\Bundle\Model\ResourceModel\Indexer\Price\DisabledProductOptionPriceModifier +- +- +- + + + +diff --git a/vendor/magento/module-bundle/etc/frontend/di.xml b/vendor/magento/module-bundle/etc/frontend/di.xml +index 411cf91cbc8b..54f5ff0a1f48 100644 +--- a/vendor/magento/module-bundle/etc/frontend/di.xml ++++ b/vendor/magento/module-bundle/etc/frontend/di.xml +@@ -22,7 +22,4 @@ + + + +- +- +- + +diff --git a/vendor/magento/module-bundle-graph-ql/Model/Resolver/Products/DataProvider/Product/DisabledProductOptionPostProcessor.php b/vendor/magento/module-bundle-graph-ql/Model/Resolver/Products/DataProvider/Product/DisabledProductOptionPostProcessor.php +deleted file mode 100644 +index 8887fa14fd8c..000000000000 +--- a/vendor/magento/module-bundle-graph-ql/Model/Resolver/Products/DataProvider/Product/DisabledProductOptionPostProcessor.php ++++ /dev/null +@@ -1,70 +0,0 @@ +-selectionProductsDisabledRequired = $selectionProductsDisabledRequired; +- } +- +- /** +- * Remove bundle product from collection when all products in required option are disabled +- * +- * @param Collection $collection +- * @param array $attributeNames +- * @param ContextInterface|null $context +- * @return Collection +- * @throws \Magento\Framework\Exception\LocalizedException +- * @throws \Magento\Framework\Exception\NoSuchEntityException +- */ +- public function process( +- Collection $collection, +- array $attributeNames, +- ?ContextInterface $context = null +- ): Collection { +- if (!$collection->isLoaded()) { +- $collection->load(); +- } +- /** @var Product $product */ +- foreach ($collection as $key => $product) { +- if ($product->getTypeId() !== Product\Type::TYPE_BUNDLE || $context === null) { +- continue; +- } +- $productId = (int)$product->getEntityId(); +- $websiteId = (int)$context->getExtensionAttributes()->getStore()->getWebsiteId(); +- $productIdsDisabledRequired = $this->selectionProductsDisabledRequired->getChildProductIds( +- $productId, +- $websiteId +- ); +- if ($productIdsDisabledRequired) { +- $collection->removeItemByKey($key); +- } +- } +- return $collection; +- } +-} +diff --git a/vendor/magento/module-bundle-graph-ql/etc/di.xml b/vendor/magento/module-bundle-graph-ql/etc/di.xml +index 879359839a64..15acad7c6bf0 100644 +--- a/vendor/magento/module-bundle-graph-ql/etc/di.xml ++++ b/vendor/magento/module-bundle-graph-ql/etc/di.xml +@@ -23,11 +23,4 @@ + + + +- +- +- +- Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Product\DisabledProductOptionPostProcessor +- +- +- + +diff --git a/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php b/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php +index adf62b75b2ad..a98b3daad4cc 100644 +--- a/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php ++++ b/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php +@@ -23,7 +23,8 @@ + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @api + * +- * @deprecated 100.3.0 Replaced with Multi Source Inventory ++ * @deprecated 100.3.0 ++ * @see Replaced with Multi Source Inventory + * @link https://devdocs.magento.com/guides/v2.4/inventory/index.html + * @link https://devdocs.magento.com/guides/v2.4/inventory/inventory-api-reference.html + * @since 100.0.2 +@@ -35,6 +36,7 @@ class Status extends AbstractDb + * + * @var StoreManagerInterface + * @deprecated 100.1.0 ++ * @see Not used anymore + */ + protected $_storeManager; + +@@ -227,7 +229,7 @@ public function getProductCollection($lastEntityId = 0, $limit = 1000) + */ + public function addStockStatusToSelect(Select $select, Website $website) + { +- $websiteId = $this->getWebsiteId($website->getId()); ++ $websiteId = $this->getWebsiteId(); + $select->joinLeft( + ['stock_status' => $this->getMainTable()], + 'e.entity_id = stock_status.product_id AND stock_status.website_id=' . $websiteId, diff --git a/patches/os/ACSD-50116_2.4.5-p1.patch b/patches/os/ACSD-50116_2.4.5-p1.patch new file mode 100644 index 00000000..5a0f441b --- /dev/null +++ b/patches/os/ACSD-50116_2.4.5-p1.patch @@ -0,0 +1,32 @@ +diff --git a/vendor/magento/module-url-rewrite/view/adminhtml/templates/categories.phtml b/vendor/magento/module-url-rewrite/view/adminhtml/templates/categories.phtml +index bccffcef8786..38ff5c5b1edd 100644 +--- a/vendor/magento/module-url-rewrite/view/adminhtml/templates/categories.phtml ++++ b/vendor/magento/module-url-rewrite/view/adminhtml/templates/categories.phtml +@@ -5,23 +5,23 @@ + */ + + /** @var \Magento\UrlRewrite\Block\Catalog\Category\Tree $block */ ++$root = $block->getRoot(null, 0) + ?> +
+ escapeHtml(__('Select Category')) ?> + +
+-getRoot()) : ?> ++ + + +- ++ + diff --git a/patches/os/ACSD-52160_2.4.5-p2.patch b/patches/os/ACSD-52160_2.4.5-p2.patch new file mode 100644 index 00000000..c83ba35b --- /dev/null +++ b/patches/os/ACSD-52160_2.4.5-p2.patch @@ -0,0 +1,52 @@ +diff --git a/vendor/magento/module-sales-rule/Model/Rule/Condition/Product/Found.php b/vendor/magento/module-sales-rule/Model/Rule/Condition/Product/Found.php +index a807bca77cc..f40fe129a76 100644 +--- a/vendor/magento/module-sales-rule/Model/Rule/Condition/Product/Found.php ++++ b/vendor/magento/module-sales-rule/Model/Rule/Condition/Product/Found.php +@@ -5,6 +5,8 @@ + */ + namespace Magento\SalesRule\Model\Rule\Condition\Product; + ++use Magento\Framework\Model\AbstractModel; ++ + class Found extends \Magento\SalesRule\Model\Rule\Condition\Product\Combine + { + /** +@@ -53,21 +55,34 @@ class Found extends \Magento\SalesRule\Model\Rule\Condition\Product\Combine + /** + * Validate + * +- * @param \Magento\Framework\Model\AbstractModel $model ++ * @param AbstractModel $model + * @return bool + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + */ +- public function validate(\Magento\Framework\Model\AbstractModel $model) ++ public function validate(AbstractModel $model) + { + $isValid = false; ++ $all = $this->getAggregator() === 'all'; ++ $true = (bool)$this->getValue(); + + foreach ($model->getAllItems() as $item) { +- if (parent::validate($item)) { ++ $validated = parent::validate($item); ++ if (!$true && !$validated) { ++ $isValid = false; ++ break; ++ } ++ if (!$all && $validated) { + $isValid = true; + break; + } ++ if ($all && $true && $validated) { ++ $isValid = true; ++ break; ++ } ++ if ($all && !$true && $validated) { ++ $isValid = true; ++ } + } +- + return $isValid; + } + } diff --git a/patches/os/ACSD-52167_2.4.5-p2.patch b/patches/os/ACSD-52167_2.4.5-p2.patch new file mode 100644 index 00000000..a90c1c74 --- /dev/null +++ b/patches/os/ACSD-52167_2.4.5-p2.patch @@ -0,0 +1,20 @@ +diff --git a/vendor/magento/module-quote-graph-ql/etc/schema.graphqls b/vendor/magento/module-quote-graph-ql/etc/schema.graphqls +index 1dc66531fbac..85a8c9b8cbee 100644 +--- a/vendor/magento/module-quote-graph-ql/etc/schema.graphqls ++++ b/vendor/magento/module-quote-graph-ql/etc/schema.graphqls +@@ -123,6 +123,7 @@ input CartAddressInput @doc(description: "Defines the billing or shipping addres + postcode: String @doc(description: "The ZIP or postal code of the billing or shipping address.") + country_code: String! @doc(description: "The country code and label for the billing or shipping address.") + telephone: String @doc(description: "The telephone number for the billing or shipping address.") ++ vat_id: String @doc(description: "The VAT company number for billing or shipping address.") + save_in_address_book: Boolean @doc(description: "Determines whether to save the address in the customer's address book. The default value is true.") + } + +@@ -229,6 +230,7 @@ interface CartAddressInterface @typeResolver(class: "\\Magento\\QuoteGraphQl\\Mo + postcode: String @doc(description: "The ZIP or postal code of the billing or shipping address.") + country: CartAddressCountry! @doc(description: "An object containing the country label and code.") + telephone: String @doc(description: "The telephone number for the billing or shipping address.") ++ vat_id: String @doc(description: "The VAT company number for billing or shipping address.") + } + + type ShippingCartAddress implements CartAddressInterface @doc(description: "Contains shipping addresses and methods.") { diff --git a/patches/os/ACSD-52202_1.2.5-p1.patch b/patches/os/ACSD-52202_1.2.5-p1.patch new file mode 100644 index 00000000..c9d8ffae --- /dev/null +++ b/patches/os/ACSD-52202_1.2.5-p1.patch @@ -0,0 +1,65 @@ +diff --git a/vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php b/vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php +index 67360c7ad899..63ff8353b62e 100644 +--- a/vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php ++++ b/vendor/magento/module-inventory-catalog/Plugin/InventoryApi/SynchronizeLegacyStockAfterDecrementStockPlugin.php +@@ -18,6 +18,7 @@ + use Magento\InventoryCatalog\Model\ResourceModel\DecrementQtyForLegacyStock; + use Magento\InventoryCatalog\Model\ResourceModel\SetDataToLegacyStockStatus; + use Magento\InventoryCatalogApi\Model\GetProductIdsBySkusInterface; ++use Magento\InventoryCatalogApi\Api\DefaultSourceProviderInterface; + + /** + * Synchronization between legacy Stock Items and saved Source Items after decrement quantity of stock item +@@ -59,6 +60,11 @@ class SynchronizeLegacyStockAfterDecrementStockPlugin + */ + private $stockStateProvider; + ++ /** ++ * @var DefaultSourceProviderInterface ++ */ ++ private $defaultSourceProvider; ++ + /** + * @param DecrementQtyForLegacyStock $decrementQuantityForLegacyCatalogInventory + * @param GetProductIdsBySkusInterface $getProductIdsBySkus +@@ -67,6 +73,7 @@ class SynchronizeLegacyStockAfterDecrementStockPlugin + * @param StockItemCriteriaInterfaceFactory $legacyStockItemCriteriaFactory + * @param StockItemRepositoryInterface $legacyStockItemRepository + * @param StockStateProviderInterface $stockStateProvider ++ * @param DefaultSourceProviderInterface $defaultSourceProvider + */ + public function __construct( + DecrementQtyForLegacyStock $decrementQuantityForLegacyCatalogInventory, +@@ -75,7 +82,8 @@ public function __construct( + SetDataToLegacyStockStatus $setDataToLegacyStockStatus, + StockItemCriteriaInterfaceFactory $legacyStockItemCriteriaFactory, + StockItemRepositoryInterface $legacyStockItemRepository, +- StockStateProviderInterface $stockStateProvider ++ StockStateProviderInterface $stockStateProvider, ++ DefaultSourceProviderInterface $defaultSourceProvider + ) { + $this->decrementQuantityForLegacyCatalogInventory = $decrementQuantityForLegacyCatalogInventory; + $this->getProductIdsBySkus = $getProductIdsBySkus; +@@ -84,9 +92,12 @@ public function __construct( + $this->legacyStockItemCriteriaFactory = $legacyStockItemCriteriaFactory; + $this->legacyStockItemRepository = $legacyStockItemRepository; + $this->stockStateProvider = $stockStateProvider; ++ $this->defaultSourceProvider = $defaultSourceProvider; + } + + /** ++ * Manage salable quantity for `default` stock ++ * + * @param DecrementSourceItemQty $subject + * @param void $result + * @param SourceItemInterface[] $sourceItemDecrementData +@@ -99,6 +110,9 @@ public function afterExecute(DecrementSourceItemQty $subject, $result, array $so + $this->decrementQuantityForLegacyCatalogInventory->execute($sourceItemDecrementData); + $sourceItems = array_column($sourceItemDecrementData, 'source_item'); + foreach ($sourceItems as $sourceItem) { ++ if ($sourceItem->getSourceCode() !== $this->defaultSourceProvider->getCode()) { ++ continue; ++ } + $sku = $sourceItem->getSku(); + $productId = (int)$this->getProductIdsBySkus->execute([$sku])[$sku]; + $productIds[] = $productId; diff --git a/patches/os/ACSD-52219_2.4.6.patch b/patches/os/ACSD-52219_2.4.6.patch new file mode 100644 index 00000000..85f1418e --- /dev/null +++ b/patches/os/ACSD-52219_2.4.6.patch @@ -0,0 +1,237 @@ +diff --git a/vendor/magento/module-ui/Controller/Adminhtml/Bookmark/Save.php b/vendor/magento/module-ui/Controller/Adminhtml/Bookmark/Save.php +index 1c95428ea93e..d668256847f5 100644 +--- a/vendor/magento/module-ui/Controller/Adminhtml/Bookmark/Save.php ++++ b/vendor/magento/module-ui/Controller/Adminhtml/Bookmark/Save.php +@@ -5,10 +5,13 @@ + */ + namespace Magento\Ui\Controller\Adminhtml\Bookmark; + +-use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; + use Magento\Authorization\Model\UserContextInterface; + use Magento\Backend\App\Action\Context; ++use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; ++use Magento\Framework\App\ObjectManager; ++use Magento\Framework\Exception\LocalizedException; + use Magento\Framework\Json\DecoderInterface; ++use Magento\Framework\Serialize\Serializer\Json; + use Magento\Framework\View\Element\UiComponentFactory; + use Magento\Ui\Api\BookmarkManagementInterface; + use Magento\Ui\Api\BookmarkRepositoryInterface; +@@ -55,11 +58,12 @@ class Save extends AbstractAction implements HttpPostActionInterface + /** + * @var DecoderInterface + * @deprecated 101.1.0 ++ * @see Replaced the usage of Magento\Framework\Json\DecoderInterface by Magento\Framework\Serialize\Serializer\Json + */ + protected $jsonDecoder; + + /** +- * @var \Magento\Framework\Serialize\Serializer\Json ++ * @var Json + */ + private $serializer; + +@@ -71,7 +75,7 @@ class Save extends AbstractAction implements HttpPostActionInterface + * @param BookmarkInterfaceFactory $bookmarkFactory + * @param UserContextInterface $userContext + * @param DecoderInterface $jsonDecoder +- * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer ++ * @param Json|null $serializer + * @throws \RuntimeException + */ + public function __construct( +@@ -82,7 +86,7 @@ public function __construct( + BookmarkInterfaceFactory $bookmarkFactory, + UserContextInterface $userContext, + DecoderInterface $jsonDecoder, +- \Magento\Framework\Serialize\Serializer\Json $serializer = null ++ Json $serializer = null + ) { + parent::__construct($context, $factory); + $this->bookmarkRepository = $bookmarkRepository; +@@ -90,8 +94,8 @@ public function __construct( + $this->bookmarkFactory = $bookmarkFactory; + $this->userContext = $userContext; + $this->jsonDecoder = $jsonDecoder; +- $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance() +- ->get(\Magento\Framework\Serialize\Serializer\Json::class); ++ $this->serializer = $serializer ?: ObjectManager::getInstance() ++ ->get(Json::class); + } + + /** +@@ -99,7 +103,7 @@ public function __construct( + * + * @return void + * @throws \InvalidArgumentException +- * @throws \LogicException ++ * @throws \LogicException|LocalizedException + */ + public function execute() + { +@@ -126,6 +130,7 @@ public function execute() + $bookmark->getTitle(), + $jsonData + ); ++ $this->updateCurrentBookmarkConfig($data); + + break; + +@@ -134,7 +139,7 @@ public function execute() + $this->updateBookmark( + $bookmark, + $identifier, +- isset($data['label']) ? $data['label'] : '', ++ $data['label'] ?? '', + $jsonData + ); + $this->updateCurrentBookmark($identifier); +@@ -176,32 +181,31 @@ protected function updateBookmark(BookmarkInterface $bookmark, $identifier, $tit + * + * @param string $identifier + * @return void ++ * @throws LocalizedException + */ + protected function updateCurrentBookmark($identifier) + { + $bookmarks = $this->bookmarkManagement->loadByNamespace($this->_request->getParam('namespace')); + $currentConfig = null; + foreach ($bookmarks->getItems() as $bookmark) { +- if ($bookmark->getIdentifier() === self::CURRENT_IDENTIFIER) { ++ if ($bookmark->getIdentifier() == $identifier) { + $current = $bookmark->getConfig(); +- $currentConfig = $current[self::CURRENT_IDENTIFIER]; +- break; ++ $currentConfig = $current['views'][$bookmark->getIdentifier()]['data']; ++ $bookmark->setCurrent(true); ++ } else { ++ $bookmark->setCurrent(false); + } ++ $this->bookmarkRepository->save($bookmark); + } + + foreach ($bookmarks->getItems() as $bookmark) { +- if ($bookmark->getCurrent() && $currentConfig !== null) { ++ if ($bookmark->getIdentifier() === self::CURRENT_IDENTIFIER && $currentConfig !== null) { + $bookmarkConfig = $bookmark->getConfig(); +- $bookmarkConfig['views'][$bookmark->getIdentifier()]['data'] = $currentConfig; ++ $bookmarkConfig[self::CURRENT_IDENTIFIER] = $currentConfig; + $bookmark->setConfig($this->serializer->serialize($bookmarkConfig)); ++ $this->bookmarkRepository->save($bookmark); ++ break; + } +- +- if ($bookmark->getIdentifier() == $identifier) { +- $bookmark->setCurrent(true); +- } else { +- $bookmark->setCurrent(false); +- } +- $this->bookmarkRepository->save($bookmark); + } + } + +@@ -226,4 +230,33 @@ protected function checkBookmark($identifier) + + return $result; + } ++ ++ /** ++ * Update current bookmark config data ++ * ++ * @param array $data ++ * @return void ++ * @throws LocalizedException ++ */ ++ private function updateCurrentBookmarkConfig(array $data): void ++ { ++ $bookmarks = $this->bookmarkManagement->loadByNamespace($this->_request->getParam('namespace')); ++ foreach ($bookmarks->getItems() as $bookmark) { ++ if ($bookmark->getCurrent()) { ++ $bookmarkConfig = $bookmark->getConfig(); ++ $existingConfig = $bookmarkConfig['views'][$bookmark->getIdentifier()]['data'] ?? null; ++ $currentConfig = $data[self::CURRENT_IDENTIFIER] ?? null; ++ if ($existingConfig && $currentConfig) { ++ if ($existingConfig['filters'] === $currentConfig['filters'] ++ && $existingConfig['positions'] !== $currentConfig['positions'] ++ ) { ++ $bookmarkConfig['views'][$bookmark->getIdentifier()]['data'] = $data[self::CURRENT_IDENTIFIER]; ++ $bookmark->setConfig($this->serializer->serialize($bookmarkConfig)); ++ $this->bookmarkRepository->save($bookmark); ++ } ++ } ++ break; ++ } ++ } ++ } + } +diff --git a/vendor/magento/module-ui/view/base/web/js/grid/controls/bookmarks/bookmarks.js b/vendor/magento/module-ui/view/base/web/js/grid/controls/bookmarks/bookmarks.js +index ca3a78a7318b..365d60001110 100644 +--- a/vendor/magento/module-ui/view/base/web/js/grid/controls/bookmarks/bookmarks.js ++++ b/vendor/magento/module-ui/view/base/web/js/grid/controls/bookmarks/bookmarks.js +@@ -58,7 +58,8 @@ define([ + activeView: true, + hasChanges: true, + customLabel: true, +- customVisible: true ++ customVisible: true, ++ isActiveIndexChanged: false + }, + listens: { + activeIndex: 'onActiveIndexChange', +@@ -105,9 +106,9 @@ define([ + var data = this.getViewData(this.defaultIndex); + + if (!_.size(data) && (this.current.columns && this.current.positions)) { +- this.setViewData(this.defaultIndex, this.current) +- .saveView(this.defaultIndex); +- this.defaultDefined = true; ++ this.setViewData(this.defaultIndex, this.current) ++ .saveView(this.defaultIndex); ++ this.defaultDefined = true; + } + + return this; +@@ -195,6 +196,7 @@ define([ + .remove(viewPath) + .removeStored(viewPath) + .updateArray(); ++ this.isActiveIndexChanged = false; + + return this; + }, +@@ -446,7 +448,10 @@ define([ + * @returns {Bookmarks} Chainable. + */ + saveState: function () { +- this.store('current'); ++ if (!this.isActiveIndexChanged) { ++ this.store('current'); ++ } ++ this.isActiveIndexChanged = false; + return this; + }, + +@@ -554,6 +559,7 @@ define([ + this.activeView = this.getActiveView(); + this.updateActiveView(); + this.store('activeIndex'); ++ this.isActiveIndexChanged = true; + }, + + /** +@@ -566,6 +572,15 @@ define([ + if (!this.defaultDefined) { + resolver(this.initDefaultView, this); + } ++ ++ if (!_.isUndefined(this.activeView) ++ && !_.isUndefined(this.activeView.data) ++ && !_.isUndefined(this.current)) { ++ if (JSON.stringify(this.activeView.data.filters) === JSON.stringify(this.current.filters) ++ && JSON.stringify(this.activeView.data.positions) !== JSON.stringify(this.current.positions)) { ++ this.updateActiveView(); ++ } ++ } + } + }); + }); diff --git a/patches/os/ACSD-52277_2.4.6.patch b/patches/os/ACSD-52277_2.4.6.patch new file mode 100644 index 00000000..f51a1ee7 --- /dev/null +++ b/patches/os/ACSD-52277_2.4.6.patch @@ -0,0 +1,40 @@ +diff --git a/vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js b/vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js +index c09b9dfaa3d..d3af44ea6c5 100644 +--- a/vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js ++++ b/vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js +@@ -157,8 +157,14 @@ + this.sidebarShow(); + //this.loadArea(['header', 'sidebar','data'], true); + this.dataShow(); +- this.loadArea(['header', 'data'], true); +- location.reload(); ++ this.loadArea( ++ ['header', 'data'], ++ true, ++ null, ++ function () { ++ location.reload(); ++ } ++ ); + }, + + setCurrencyId: function (id) { +@@ -1164,7 +1170,7 @@ + } + }, + +- loadArea: function (area, indicator, params) { ++ loadArea: function (area, indicator, params, callback) { + var deferred = new jQuery.Deferred(); + var url = this.loadBaseUrl; + if (area) { +@@ -1183,6 +1189,9 @@ + onSuccess: function (transport) { + var response = transport.responseText.evalJSON(); + this.loadAreaResponseHandler(response); ++ if (callback instanceof Function) { ++ callback(); ++ } + deferred.resolve(); + }.bind(this) + }); diff --git a/patches/os/ACSD-52302_1.2.5-p2.patch b/patches/os/ACSD-52302_1.2.5-p2.patch new file mode 100644 index 00000000..15eb3127 --- /dev/null +++ b/patches/os/ACSD-52302_1.2.5-p2.patch @@ -0,0 +1,32 @@ +diff --git a/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php b/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php +index e736e64643ad..d549f24ae610 100644 +--- a/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php ++++ b/vendor/magento/module-inventory-catalog/Model/ResourceModel/AddStockStatusToSelect.php +@@ -11,9 +11,6 @@ + use Magento\InventoryIndexer\Indexer\IndexStructure; + use Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface; + +-/** +- * Adapt adding stock status to select for Multi Stocks. +- */ + class AddStockStatusToSelect + { + /** +@@ -30,6 +27,8 @@ public function __construct(StockIndexTableNameResolverInterface $stockIndexTabl + } + + /** ++ * Adapt adding stock status to select for Multi Stocks. ++ * + * @param Select $select + * @param int $stockId + * @return void +@@ -41,7 +40,7 @@ public function execute(Select $select, int $stockId) + $select->joinLeft( + ['stock_status' => $tableName], + 'e.sku = stock_status.sku', +- [IndexStructure::IS_SALABLE] ++ [IndexStructure::IS_SALABLE => IndexStructure::IS_SALABLE] + ); + } + } diff --git a/patches/os/ACSD-52302_2.4.5-p2.patch b/patches/os/ACSD-52302_2.4.5-p2.patch new file mode 100644 index 00000000..862f9075 --- /dev/null +++ b/patches/os/ACSD-52302_2.4.5-p2.patch @@ -0,0 +1,31 @@ +diff --git a/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php b/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php +index adf62b75b2ad..a98b3daad4cc 100644 +--- a/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php ++++ b/vendor/magento/module-catalog-inventory/Model/ResourceModel/Stock/Status.php +@@ -23,7 +23,8 @@ + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @api + * +- * @deprecated 100.3.0 Replaced with Multi Source Inventory ++ * @deprecated 100.3.0 ++ * @see Replaced with Multi Source Inventory + * @link https://devdocs.magento.com/guides/v2.4/inventory/index.html + * @link https://devdocs.magento.com/guides/v2.4/inventory/inventory-api-reference.html + * @since 100.0.2 +@@ -35,6 +36,7 @@ class Status extends AbstractDb + * + * @var StoreManagerInterface + * @deprecated 100.1.0 ++ * @see Not used anymore + */ + protected $_storeManager; + +@@ -227,7 +229,7 @@ public function getProductCollection($lastEntityId = 0, $limit = 1000) + */ + public function addStockStatusToSelect(Select $select, Website $website) + { +- $websiteId = $this->getWebsiteId($website->getId()); ++ $websiteId = $this->getWebsiteId(); + $select->joinLeft( + ['stock_status' => $this->getMainTable()], + 'e.entity_id = stock_status.product_id AND stock_status.website_id=' . $websiteId, diff --git a/patches/os/ACSD-52398_2.4.3-p3.patch b/patches/os/ACSD-52398_2.4.3-p3.patch new file mode 100644 index 00000000..8a11b0a9 --- /dev/null +++ b/patches/os/ACSD-52398_2.4.3-p3.patch @@ -0,0 +1,13 @@ +diff --git a/vendor/magento/module-catalog-inventory/Model/Quote/Item/QuantityValidator/QuoteItemQtyList.php b/vendor/magento/module-catalog-inventory/Model/Quote/Item/QuantityValidator/QuoteItemQtyList.php +index 600bf9897a0..363f91916fb 100644 +--- a/vendor/magento/module-catalog-inventory/Model/Quote/Item/QuantityValidator/QuoteItemQtyList.php ++++ b/vendor/magento/module-catalog-inventory/Model/Quote/Item/QuantityValidator/QuoteItemQtyList.php +@@ -33,7 +33,7 @@ class QuoteItemQtyList + public function getQty($productId, $quoteItemId, $quoteId, $itemQty) + { + $qty = $itemQty; +- if (isset($this->_checkedQuoteItems[$quoteId][$productId]['qty']) && !in_array( ++ if (isset($this->_checkedQuoteItems[$quoteId][$productId]['qty']) && $quoteItemId !== null && !in_array( + $quoteItemId, + $this->_checkedQuoteItems[$quoteId][$productId]['items'] + ) diff --git a/patches/os/ACSD-52399_2.4.5-p2.patch b/patches/os/ACSD-52399_2.4.5-p2.patch new file mode 100644 index 00000000..01a54563 --- /dev/null +++ b/patches/os/ACSD-52399_2.4.5-p2.patch @@ -0,0 +1,40 @@ +diff --git a/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js b/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js +index fdf76406f77..db1a6eb604a 100644 +--- a/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js ++++ b/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js +@@ -501,6 +501,27 @@ define([ + $widget._EmulateSelected($widget._getSelectedAttributes()); + }, + ++ disableSwatchForOutOfStockProducts: function () { ++ let $widget = this, container = this.element; ++ ++ $.each(this.options.jsonConfig.attributes, function () { ++ let item = this; ++ ++ if ($widget.options.jsonConfig.canDisplayShowOutOfStockStatus) { ++ let salableProducts = $widget.options.jsonConfig.salable[item.id], ++ swatchOptions = $(container).find(`[data-attribute-id='${item.id}']`).find('.swatch-option'); ++ ++ swatchOptions.each(function (key, value) { ++ let optionId = $(value).data('option-id'); ++ ++ if (!salableProducts.hasOwnProperty(optionId)) { ++ $(value).attr('disabled', true).addClass('disabled'); ++ } ++ }); ++ } ++ }); ++ }, ++ + /** + * Render swatch options by part of config + * +@@ -891,6 +912,7 @@ define([ + .attr('disabled', true) + .addClass('disabled') + .attr('tabindex', '-1'); ++ this.disableSwatchForOutOfStockProducts(); + }, + + /** diff --git a/patches/os/ACSD-52399_2.4.5-p2_v2.patch b/patches/os/ACSD-52399_2.4.5-p2_v2.patch new file mode 100644 index 00000000..7f25fb74 --- /dev/null +++ b/patches/os/ACSD-52399_2.4.5-p2_v2.patch @@ -0,0 +1,59 @@ +diff --git a/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js b/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js +index 58a68fd18ae..734cde2b4cc 100644 +--- a/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js ++++ b/vendor/magento/module-swatches/view/base/web/js/swatch-renderer.js +@@ -465,12 +465,17 @@ define([ + // Aggregate options array to hash (key => value) + $.each(item.options, function () { + if (this.products.length > 0) { ++ let salableProducts = this.products; ++ ++ if ($widget.options.jsonConfig.canDisplayShowOutOfStockStatus) { ++ salableProducts = $widget.options.jsonConfig.salable[item.id][this.id]; ++ } + $widget.optionsMap[item.id][this.id] = { + price: parseInt( + $widget.options.jsonConfig.optionPrices[this.products[0]].finalPrice.amount, + 10 + ), +- products: this.products ++ products: salableProducts + }; + } + }); +@@ -498,6 +503,27 @@ define([ + $widget._EmulateSelected($widget._getSelectedAttributes()); + }, + ++ disableSwatchForOutOfStockProducts: function () { ++ let $widget = this, container = this.element; ++ ++ $.each(this.options.jsonConfig.attributes, function () { ++ let item = this; ++ ++ if ($widget.options.jsonConfig.canDisplayShowOutOfStockStatus) { ++ let salableProducts = $widget.options.jsonConfig.salable[item.id], ++ swatchOptions = $(container).find(`[data-attribute-id='${item.id}']`).find('.swatch-option'); ++ ++ swatchOptions.each(function (key, value) { ++ let optionId = $(value).data('option-id'); ++ ++ if (!salableProducts.hasOwnProperty(optionId)) { ++ $(value).attr('disabled', true).addClass('disabled'); ++ } ++ }); ++ } ++ }); ++ }, ++ + /** + * Render swatch options by part of config + * +@@ -888,6 +914,7 @@ define([ + .attr('disabled', true) + .addClass('disabled') + .attr('tabindex', '-1'); ++ this.disableSwatchForOutOfStockProducts(); + }, + + /** diff --git a/patches/os/ACSD-52419_1.1.4-p2.patch b/patches/os/ACSD-52419_1.1.4-p2.patch new file mode 100644 index 00000000..edddd0dd --- /dev/null +++ b/patches/os/ACSD-52419_1.1.4-p2.patch @@ -0,0 +1,414 @@ +diff --git a/vendor/magento/module-re-captcha-contact/etc/frontend/di.xml b/vendor/magento/module-re-captcha-contact/etc/frontend/di.xml +new file mode 100644 +index 000000000..ee228c250 +--- /dev/null ++++ b/vendor/magento/module-re-captcha-contact/etc/frontend/di.xml +@@ -0,0 +1,25 @@ ++ ++ ++ ++ ++ ++ ++ ++ Magento\ReCaptchaContact\Model\ButtonLock\ContactUsFormSubmit ++ ++ ++ ++ ++ ++ ++ contact_us_form_submit ++ contact ++ ++ ++ +diff --git a/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableCreateAccountButton.php b/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableCreateAccountButton.php +deleted file mode 100644 +index ea6e3ebc5..000000000 +--- a/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableCreateAccountButton.php ++++ /dev/null +@@ -1,46 +0,0 @@ +-isCaptchaEnabled = $isCaptchaEnabled; +- } +- +- /** +- * Temporally disable button Create Account while captcha is loading +- * +- * @param CreateAccountButton $subject +- * @return bool +- * @throws InputException +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function afterDisabled(CreateAccountButton $subject): bool +- { +- $key = 'customer_create'; +- return $this->isCaptchaEnabled->isCaptchaEnabledFor($key); +- } +-} +diff --git a/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableForgotPasswordButton.php b/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableForgotPasswordButton.php +deleted file mode 100644 +index 6c3d7df6e..000000000 +--- a/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableForgotPasswordButton.php ++++ /dev/null +@@ -1,46 +0,0 @@ +-isCaptchaEnabled = $isCaptchaEnabled; +- } +- +- /** +- * Temporally disable Forgot password button while captcha is loading +- * +- * @param ForgotPasswordButton $subject +- * @return bool +- * @throws InputException +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function afterDisabled(ForgotPasswordButton $subject): bool +- { +- $key = 'customer_forgot_password'; +- return $this->isCaptchaEnabled->isCaptchaEnabledFor($key); +- } +-} +diff --git a/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableLoginButton.php b/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableLoginButton.php +deleted file mode 100644 +index b0713fa3c..000000000 +--- a/vendor/magento/module-re-captcha-customer/Plugin/Customer/DisableLoginButton.php ++++ /dev/null +@@ -1,47 +0,0 @@ +-isCaptchaEnabled = $isCaptchaEnabled; +- } +- +- /** +- * Temporally disable Login button while captcha is loading +- * +- * @param LoginButton $subject +- * @return bool +- * @throws InputException +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function afterDisabled(LoginButton $subject): bool +- { +- $key = 'customer_login'; +- return $this->isCaptchaEnabled->isCaptchaEnabledFor($key); +- } +-} +diff --git a/vendor/magento/module-re-captcha-customer/etc/frontend/di.xml b/vendor/magento/module-re-captcha-customer/etc/frontend/di.xml +index 736409685..e32489da4 100644 +--- a/vendor/magento/module-re-captcha-customer/etc/frontend/di.xml ++++ b/vendor/magento/module-re-captcha-customer/etc/frontend/di.xml +@@ -20,16 +20,38 @@ + + +- +- +- +- +- +- +- +- ++ ++ ++ ++ Magento\ReCaptchaCustomer\Model\ButtonLock\CustomerCreateFormSubmit ++ Magento\ReCaptchaCustomer\Model\ButtonLock\CustomerEditFormSubmit ++ Magento\ReCaptchaCustomer\Model\ButtonLock\CustomerForgotPasswordFormSubmit ++ Magento\ReCaptchaCustomer\Model\ButtonLock\CustomerLoginFormSubmit ++ ++ + ++ ++ ++ customer_create_form_submit ++ customer_create ++ ++ ++ ++ ++ customer_edit_form_submit ++ customer_edit ++ ++ ++ ++ ++ customer_forgot_password_form_submit ++ customer_forgot_password ++ ++ ++ ++ ++ customer_login_form_submit ++ customer_login ++ ++ + +diff --git a/vendor/magento/module-re-captcha-frontend-ui/view/frontend/web/js/reCaptcha.js b/vendor/magento/module-re-captcha-frontend-ui/view/frontend/web/js/reCaptcha.js +index 14f2af32f..43c476ec1 100644 +--- a/vendor/magento/module-re-captcha-frontend-ui/view/frontend/web/js/reCaptcha.js ++++ b/vendor/magento/module-re-captcha-frontend-ui/view/frontend/web/js/reCaptcha.js +@@ -174,7 +174,11 @@ define( + } else { + this.tokenField = null; + } +- if ($('#send2').length > 0) {$('#send2').prop('disabled', false);} ++ let submitButton = parentForm.find('button:not([type]), [type=submit]'); ++ ++ if (submitButton.length) { ++ submitButton.prop('disabled', false); ++ } + }, + + /** +diff --git a/vendor/magento/module-re-captcha-newsletter/etc/frontend/di.xml b/vendor/magento/module-re-captcha-newsletter/etc/frontend/di.xml +new file mode 100644 +index 000000000..4622e4c31 +--- /dev/null ++++ b/vendor/magento/module-re-captcha-newsletter/etc/frontend/di.xml +@@ -0,0 +1,24 @@ ++ ++ ++ ++ ++ ++ ++ ++ Magento\ReCaptchaNewsletter\Model\ButtonLock\NewsletterFormSubmit ++ ++ ++ ++ ++ ++ newsletter_form_submit ++ newsletter ++ ++ ++ +diff --git a/vendor/magento/module-re-captcha-review/etc/frontend/di.xml b/vendor/magento/module-re-captcha-review/etc/frontend/di.xml +new file mode 100644 +index 000000000..509158d4f +--- /dev/null ++++ b/vendor/magento/module-re-captcha-review/etc/frontend/di.xml +@@ -0,0 +1,24 @@ ++ ++ ++ ++ ++ ++ ++ ++ Magento\ReCaptchaReview\Model\ButtonLock\ReviewFormSubmit ++ ++ ++ ++ ++ ++ review_form_submit ++ product_review ++ ++ ++ +diff --git a/vendor/magento/module-re-captcha-send-friend/etc/frontend/di.xml b/vendor/magento/module-re-captcha-send-friend/etc/frontend/di.xml +new file mode 100644 +index 000000000..b48b3cb74 +--- /dev/null ++++ b/vendor/magento/module-re-captcha-send-friend/etc/frontend/di.xml +@@ -0,0 +1,24 @@ ++ ++ ++ ++ ++ ++ ++ ++ Magento\ReCaptchaSendFriend\Model\ButtonLock\SendFriendFormSubmit ++ ++ ++ ++ ++ ++ sendfriend_form_submit ++ sendfriend ++ ++ ++ +diff --git a/vendor/magento/module-re-captcha-ui/Model/ButtonLock.php b/vendor/magento/module-re-captcha-ui/Model/ButtonLock.php +new file mode 100644 +index 000000000..8b349ee5c +--- /dev/null ++++ b/vendor/magento/module-re-captcha-ui/Model/ButtonLock.php +@@ -0,0 +1,59 @@ ++isCaptchaEnabled = $isCaptchaEnabled; ++ $this->reCaptchaId = $reCaptchaId; ++ $this->buttonCode = $buttonCode; ++ } ++ ++ /** ++ * @inheritDoc ++ */ ++ public function getCode(): string ++ { ++ return $this->buttonCode; ++ } ++ ++ /** ++ * @inheritDoc ++ */ ++ public function isDisabled(): bool ++ { ++ return $this->isCaptchaEnabled->isCaptchaEnabledFor($this->reCaptchaId); ++ } ++} diff --git a/patches/os/ACSD-52419_2.4.5-p2.patch b/patches/os/ACSD-52419_2.4.5-p2.patch new file mode 100644 index 00000000..be77a05d --- /dev/null +++ b/patches/os/ACSD-52419_2.4.5-p2.patch @@ -0,0 +1,513 @@ +diff --git a/vendor/magento/module-contact/view/frontend/layout/contact_index_index.xml b/vendor/magento/module-contact/view/frontend/layout/contact_index_index.xml +index 078c1a4ff562..9fb4fea6c773 100644 +--- a/vendor/magento/module-contact/view/frontend/layout/contact_index_index.xml ++++ b/vendor/magento/module-contact/view/frontend/layout/contact_index_index.xml +@@ -12,6 +12,9 @@ + + + ++ ++ Magento\Framework\View\Element\ButtonLockManager ++ + + + +diff --git a/vendor/magento/module-contact/view/frontend/templates/form.phtml b/vendor/magento/module-contact/view/frontend/templates/form.phtml +index 99e61e8249da..54bb9e78287c 100644 +--- a/vendor/magento/module-contact/view/frontend/templates/form.phtml ++++ b/vendor/magento/module-contact/view/frontend/templates/form.phtml +@@ -80,7 +80,11 @@ $viewModel = $block->getViewModel(); +
+
+ +- +
+diff --git a/vendor/magento/module-customer/ViewModel/CreateAccountButton.php b/vendor/magento/module-customer/ViewModel/CreateAccountButton.php +deleted file mode 100644 +index 8fa8718fe37e..000000000000 +--- a/vendor/magento/module-customer/ViewModel/CreateAccountButton.php ++++ /dev/null +@@ -1,26 +0,0 @@ +- + Magento\Customer\Block\DataProviders\AddressAttributeData + Magento\Customer\ViewModel\Address\RegionProvider +- Magento\Customer\ViewModel\CreateAccountButton ++ Magento\Framework\View\Element\ButtonLockManager + + + +diff --git a/vendor/magento/module-customer/view/frontend/layout/customer_account_edit.xml b/vendor/magento/module-customer/view/frontend/layout/customer_account_edit.xml +index e89aa5ab624d..3dd38d61aee0 100644 +--- a/vendor/magento/module-customer/view/frontend/layout/customer_account_edit.xml ++++ b/vendor/magento/module-customer/view/frontend/layout/customer_account_edit.xml +@@ -21,6 +21,9 @@ + + + ++ ++ Magento\Framework\View\Element\ButtonLockManager ++ + + + +diff --git a/vendor/magento/module-customer/view/frontend/layout/customer_account_forgotpassword.xml b/vendor/magento/module-customer/view/frontend/layout/customer_account_forgotpassword.xml +index 7c8a6991e5a8..7fcf612de0c0 100644 +--- a/vendor/magento/module-customer/view/frontend/layout/customer_account_forgotpassword.xml ++++ b/vendor/magento/module-customer/view/frontend/layout/customer_account_forgotpassword.xml +@@ -18,7 +18,7 @@ + + + +- Magento\Customer\ViewModel\ForgotPasswordButton ++ Magento\Framework\View\Element\ButtonLockManager + + + +diff --git a/vendor/magento/module-customer/view/frontend/layout/customer_account_login.xml b/vendor/magento/module-customer/view/frontend/layout/customer_account_login.xml +index 8fb51eeb6650..90cd080cf2f6 100644 +--- a/vendor/magento/module-customer/view/frontend/layout/customer_account_login.xml ++++ b/vendor/magento/module-customer/view/frontend/layout/customer_account_login.xml +@@ -16,7 +16,7 @@ + + + +- Magento\Customer\ViewModel\LoginButton ++ Magento\Framework\View\Element\ButtonLockManager + + + +diff --git a/vendor/magento/module-customer/view/frontend/templates/form/edit.phtml b/vendor/magento/module-customer/view/frontend/templates/form/edit.phtml +index 6734e9ad30a4..342f1ea23cdf 100644 +--- a/vendor/magento/module-customer/view/frontend/templates/form/edit.phtml ++++ b/vendor/magento/module-customer/view/frontend/templates/form/edit.phtml +@@ -115,8 +115,11 @@ use Magento\Customer\Block\Widget\Name; + +
+
+- +
+
+diff --git a/vendor/magento/module-customer/view/frontend/templates/form/forgotpassword.phtml b/vendor/magento/module-customer/view/frontend/templates/form/forgotpassword.phtml +index 2c6615828394..1455fdbbd9f1 100644 +--- a/vendor/magento/module-customer/view/frontend/templates/form/forgotpassword.phtml ++++ b/vendor/magento/module-customer/view/frontend/templates/form/forgotpassword.phtml +@@ -9,8 +9,6 @@ + // phpcs:disable Generic.Files.LineLength.TooLong + + /** @var \Magento\Customer\Block\Account\Forgotpassword $block */ +-/** @var \Magento\Customer\ViewModel\ForgotPasswordButton $forgotPasswordButtonViewModel */ +-$forgotPasswordButtonViewModel = $block->getData('forgot_password_button_view_model'); + ?> + getData('forgot_password_button_view_mo + +
+
+- ++ +
+
+ escapeHtml(__('Go back')) ?> +diff --git a/vendor/magento/module-customer/view/frontend/templates/form/login.phtml b/vendor/magento/module-customer/view/frontend/templates/form/login.phtml +index 0cc3dd5973b2..15500f4241ff 100644 +--- a/vendor/magento/module-customer/view/frontend/templates/form/login.phtml ++++ b/vendor/magento/module-customer/view/frontend/templates/form/login.phtml +@@ -7,8 +7,6 @@ + // phpcs:disable Generic.Files.LineLength.TooLong + + /** @var \Magento\Customer\Block\Form\Login $block */ +-/** @var \Magento\Customer\ViewModel\LoginButton $loginButtonViewModel */ +-$loginButtonViewModel = $block->getData('login_button_view_model'); + ?> + +diff --git a/vendor/magento/module-newsletter/view/frontend/layout/default.xml b/vendor/magento/module-newsletter/view/frontend/layout/default.xml +index 32a08359333c..6a2835862096 100644 +--- a/vendor/magento/module-newsletter/view/frontend/layout/default.xml ++++ b/vendor/magento/module-newsletter/view/frontend/layout/default.xml +@@ -11,7 +11,11 @@ + + + +- ++ ++ ++ Magento\Framework\View\Element\ButtonLockManager ++ ++ + + + +diff --git a/vendor/magento/module-newsletter/view/frontend/templates/subscribe.phtml b/vendor/magento/module-newsletter/view/frontend/templates/subscribe.phtml +index 768c97ef316f..554cc4e16bd6 100644 +--- a/vendor/magento/module-newsletter/view/frontend/templates/subscribe.phtml ++++ b/vendor/magento/module-newsletter/view/frontend/templates/subscribe.phtml +@@ -33,7 +33,10 @@ + +
+diff --git a/vendor/magento/module-review/view/frontend/layout/catalog_product_view.xml b/vendor/magento/module-review/view/frontend/layout/catalog_product_view.xml +index a6b46f8f25a7..b714bac3a7ab 100644 +--- a/vendor/magento/module-review/view/frontend/layout/catalog_product_view.xml ++++ b/vendor/magento/module-review/view/frontend/layout/catalog_product_view.xml +@@ -23,6 +23,9 @@ + 30 + + ++ ++ Magento\Framework\View\Element\ButtonLockManager ++ + + + +diff --git a/vendor/magento/module-review/view/frontend/layout/checkout_cart_configure.xml b/vendor/magento/module-review/view/frontend/layout/checkout_cart_configure.xml +index 8a853cdd2e40..815d7ee1f3ad 100644 +--- a/vendor/magento/module-review/view/frontend/layout/checkout_cart_configure.xml ++++ b/vendor/magento/module-review/view/frontend/layout/checkout_cart_configure.xml +@@ -11,6 +11,7 @@ + + + ++ Magento\Framework\View\Element\ButtonLockManager + + + +diff --git a/vendor/magento/module-review/view/frontend/layout/wishlist_index_configure.xml b/vendor/magento/module-review/view/frontend/layout/wishlist_index_configure.xml +index 8a853cdd2e40..815d7ee1f3ad 100644 +--- a/vendor/magento/module-review/view/frontend/layout/wishlist_index_configure.xml ++++ b/vendor/magento/module-review/view/frontend/layout/wishlist_index_configure.xml +@@ -11,6 +11,7 @@ + + + ++ Magento\Framework\View\Element\ButtonLockManager + + + +diff --git a/vendor/magento/module-review/view/frontend/templates/form.phtml b/vendor/magento/module-review/view/frontend/templates/form.phtml +index 6b00bf681c1e..1a01bfd387cd 100644 +--- a/vendor/magento/module-review/view/frontend/templates/form.phtml ++++ b/vendor/magento/module-review/view/frontend/templates/form.phtml +@@ -74,7 +74,12 @@ + +
+
+- ++ +
+
+ +diff --git a/vendor/magento/module-send-friend/view/frontend/layout/sendfriend_product_send.xml b/vendor/magento/module-send-friend/view/frontend/layout/sendfriend_product_send.xml +index 4d6f3d8c628b..0f76607a4ab7 100644 +--- a/vendor/magento/module-send-friend/view/frontend/layout/sendfriend_product_send.xml ++++ b/vendor/magento/module-send-friend/view/frontend/layout/sendfriend_product_send.xml +@@ -14,6 +14,9 @@ +
+ + ++ ++ Magento\Framework\View\Element\ButtonLockManager ++ + + + +diff --git a/vendor/magento/module-send-friend/view/frontend/templates/send.phtml b/vendor/magento/module-send-friend/view/frontend/templates/send.phtml +index bcfc243a4364..2e3058cae896 100644 +--- a/vendor/magento/module-send-friend/view/frontend/templates/send.phtml ++++ b/vendor/magento/module-send-friend/view/frontend/templates/send.phtml +@@ -40,7 +40,8 @@ + escapeHtml(__('Email')) ?> + +
+- +@@ -71,7 +72,8 @@ + +
+ +
+
+@@ -88,7 +90,9 @@ +
+ +
+- ++ +
+ +@@ -103,7 +107,8 @@ +
+ getMaxRecipients()): ?> + + renderStyleAsTag("display: none;", 'div#max-recipient-message') ?> +@@ -122,7 +127,11 @@ +
+
+ +
+
+diff --git a/vendor/magento/framework/View/Element/ButtonLockInterface.php b/vendor/magento/framework/View/Element/ButtonLockInterface.php +new file mode 100644 +index 000000000000..e65ce3f245a8 +--- /dev/null ++++ b/vendor/magento/framework/View/Element/ButtonLockInterface.php +@@ -0,0 +1,28 @@ ++buttonLockPool = $buttonLockPool; ++ } ++ ++ /** ++ * Returns true if the button has to be disabled. ++ * ++ * @param string $buttonCode ++ * @return bool ++ * @throws \Magento\Framework\Exception\InputException ++ */ ++ public function isDisabled(string $buttonCode): bool ++ { ++ $result = array_filter($this->buttonLockPool, function ($item) use ($buttonCode) { ++ return $item->getCode() === $buttonCode && $item->isDisabled(); ++ }); ++ ++ return !empty($result); ++ } ++} diff --git a/patches/os/ACSD-52538_2.4.6.patch b/patches/os/ACSD-52538_2.4.6.patch new file mode 100644 index 00000000..7740df1d --- /dev/null +++ b/patches/os/ACSD-52538_2.4.6.patch @@ -0,0 +1,78 @@ +diff --git a/vendor/magento/module-sales/Model/Service/OrderService.php b/vendor/magento/module-sales/Model/Service/OrderService.php +index 12ff4adcc4d..2234e8ed877 100644 +--- a/vendor/magento/module-sales/Model/Service/OrderService.php ++++ b/vendor/magento/module-sales/Model/Service/OrderService.php +@@ -5,8 +5,10 @@ + */ + namespace Magento\Sales\Model\Service; + +-use Magento\Sales\Api\OrderManagementInterface; ++use Magento\Framework\App\ObjectManager; + use Magento\Payment\Gateway\Command\CommandException; ++use Magento\Sales\Api\OrderManagementInterface; ++use Magento\Sales\Model\OrderMutexInterface; + use Psr\Log\LoggerInterface; + + /** +@@ -59,6 +61,11 @@ class OrderService implements OrderManagementInterface + */ + private $logger; + ++ /** ++ * @var OrderMutexInterface ++ */ ++ private $orderMutex; ++ + /** + * Constructor + * +@@ -71,6 +78,8 @@ class OrderService implements OrderManagementInterface + * @param \Magento\Sales\Model\Order\Email\Sender\OrderCommentSender $orderCommentSender + * @param \Magento\Sales\Api\PaymentFailuresInterface $paymentFailures + * @param LoggerInterface $logger ++ * @param OrderMutexInterface|null $orderMutex ++ * @SuppressWarnings(PHPMD.ExcessiveParameterList) + */ + public function __construct( + \Magento\Sales\Api\OrderRepositoryInterface $orderRepository, +@@ -81,7 +90,8 @@ class OrderService implements OrderManagementInterface + \Magento\Framework\Event\ManagerInterface $eventManager, + \Magento\Sales\Model\Order\Email\Sender\OrderCommentSender $orderCommentSender, + \Magento\Sales\Api\PaymentFailuresInterface $paymentFailures, +- LoggerInterface $logger ++ LoggerInterface $logger, ++ ?OrderMutexInterface $orderMutex = null + ) { + $this->orderRepository = $orderRepository; + $this->historyRepository = $historyRepository; +@@ -92,6 +102,7 @@ class OrderService implements OrderManagementInterface + $this->orderCommentSender = $orderCommentSender; + $this->paymentFailures = $paymentFailures; + $this->logger = $logger; ++ $this->orderMutex = $orderMutex ?: ObjectManager::getInstance()->get(OrderMutexInterface::class); + } + + /** +@@ -101,6 +112,22 @@ class OrderService implements OrderManagementInterface + * @return bool + */ + public function cancel($id) ++ { ++ return $this->orderMutex->execute( ++ (int) $id, ++ \Closure::fromCallable([$this, 'cancelOrder']), ++ [$id] ++ ); ++ } ++ ++ /** ++ * Order cancel ++ * ++ * @param int $id ++ * @return bool ++ * @SuppressWarnings(PHPMD.UnusedPrivateMethod) ++ */ ++ private function cancelOrder($id): bool + { + $order = $this->orderRepository->get($id); + if ($order->canCancel()) { diff --git a/patches/os/ACSD-52606_1.2.4.patch b/patches/os/ACSD-52606_1.2.4.patch new file mode 100644 index 00000000..623642d0 --- /dev/null +++ b/patches/os/ACSD-52606_1.2.4.patch @@ -0,0 +1,18 @@ +diff --git a/vendor/magento/module-inventory-in-store-pickup-sales/Model/Order/IsFulfillable.php b/vendor/magento/module-inventory-in-store-pickup-sales/Model/Order/IsFulfillable.php +index 0c51389acb9f..c128dccea722 100644 +--- a/vendor/magento/module-inventory-in-store-pickup-sales/Model/Order/IsFulfillable.php ++++ b/vendor/magento/module-inventory-in-store-pickup-sales/Model/Order/IsFulfillable.php +@@ -74,7 +74,12 @@ public function execute(OrderInterface $order): bool + if ($item->getHasChildren()) { + continue; + } +- if (!$this->isItemFulfillable($item->getSku(), $sourceCode, (float)$item->getQtyOrdered())) { ++ ++ $stockItem = $item->getProduct()->getExtensionAttributes()->getStockItem(); ++ if (!$stockItem->getManageStock()) { ++ return $stockItem->getIsInStock() === (bool)SourceItemInterface::STATUS_IN_STOCK && ++ $this->sourceRepository->get($sourceCode)->isEnabled(); ++ } elseif (!$this->isItemFulfillable($item->getSku(), $sourceCode, (float)$item->getQtyOrdered())) { + return false; + } + } diff --git a/patches/os/ACSD-52613_1.2.6_v2.patch b/patches/os/ACSD-52613_1.2.6_v2.patch new file mode 100644 index 00000000..d68aecbc --- /dev/null +++ b/patches/os/ACSD-52613_1.2.6_v2.patch @@ -0,0 +1,1084 @@ +diff --git a/vendor/magento/module-inventory-bundle-product-indexer/Indexer/SourceItemIndexerProcessor.php b/vendor/magento/module-inventory-bundle-product-indexer/Indexer/SourceItemIndexerProcessor.php +new file mode 100644 +index 00000000000..60c038a118f +--- /dev/null ++++ b/vendor/magento/module-inventory-bundle-product-indexer/Indexer/SourceItemIndexerProcessor.php +@@ -0,0 +1,70 @@ ++bundleProductsSourceItemIndexer = $configurableProductsSourceItemIndexer; ++ $this->sortOrder = $sortOrder; ++ } ++ ++ /** ++ * Reindex source items list for bundle products. ++ * ++ * @param array $sourceItemIds ++ * @param array $saleableStatusesBeforeSync ++ * @param array $saleableStatusesAfterSync ++ * @return void ++ * @SuppressWarnings(PHPMD.UnusedFormalParameter) ++ * @throws StateException ++ */ ++ public function process( ++ array $sourceItemIds, ++ array $saleableStatusesBeforeSync, ++ array $saleableStatusesAfterSync ++ ): void { ++ $this->bundleProductsSourceItemIndexer->executeList($sourceItemIds); ++ } ++ ++ /** ++ * @inheritdoc ++ * ++ * @return int ++ */ ++ public function getSortOrder(): int ++ { ++ return $this->sortOrder; ++ } ++} +diff --git a/vendor/magento/module-inventory-bundle-product-indexer/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/SourceItemIndexerPlugin.php b/vendor/magento/module-inventory-bundle-product-indexer/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/SourceItemIndexerPlugin.php +deleted file mode 100644 +index 6468b22743d..00000000000 +--- a/vendor/magento/module-inventory-bundle-product-indexer/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/SourceItemIndexerPlugin.php ++++ /dev/null +@@ -1,50 +0,0 @@ +-bundleProductsSourceItemIndexer = $configurableProductsSourceItemIndexer; +- } +- +- /** +- * Reindex source items list for bundle products. +- * +- * @param Sync $subject +- * @param callable $proceed +- * @param array $sourceItemIds +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- * @throws StateException +- */ +- public function aroundExecuteList( +- Sync $subject, +- callable $proceed, +- array $sourceItemIds +- ) { +- $proceed($sourceItemIds); +- $this->bundleProductsSourceItemIndexer->executeList($sourceItemIds); +- } +-} +diff --git a/vendor/magento/module-inventory-bundle-product-indexer/etc/di.xml b/vendor/magento/module-inventory-bundle-product-indexer/etc/di.xml +index f8aed1d917d..c01801a3fc8 100644 +--- a/vendor/magento/module-inventory-bundle-product-indexer/etc/di.xml ++++ b/vendor/magento/module-inventory-bundle-product-indexer/etc/di.xml +@@ -10,9 +10,6 @@ + + + +- +- +- + + + Magento\InventoryIndexer\Indexer\IndexHandler +@@ -30,4 +27,16 @@ + + + ++ ++ ++ 5 ++ ++ ++ ++ ++ ++ Magento\InventoryBundleProductIndexer\Indexer\SourceItemIndexerProcessor ++ ++ ++ + +diff --git a/vendor/magento/module-inventory-cache/Model/CacheFlushProcessor.php b/vendor/magento/module-inventory-cache/Model/CacheFlushProcessor.php +new file mode 100644 +index 00000000000..c8d805d78c6 +--- /dev/null ++++ b/vendor/magento/module-inventory-cache/Model/CacheFlushProcessor.php +@@ -0,0 +1,112 @@ ++flushCacheByIds = $flushCacheByIds; ++ $this->getCategoryIdsByProductIds = $getCategoryIdsByProductIds; ++ $this->flushCategoryByCategoryIds = $flushCategoryByCategoryIds; ++ $this->getProductsIdsToProcess = $getProductsIdsToProcess; ++ $this->indexerRegistry = $indexerRegistry; ++ $this->sortOrder = $sortOrder; ++ } ++ ++ /** ++ * Clean cache for specific products after source items reindex. ++ * ++ * @param array $sourceItemIds ++ * @param array $saleableStatusesBeforeSync ++ * @param array $saleableStatusesAfterSync ++ * @return void ++ * @SuppressWarnings(PHPMD.UnusedFormalParameter) ++ */ ++ public function process( ++ array $sourceItemIds, ++ array $saleableStatusesBeforeSync, ++ array $saleableStatusesAfterSync ++ ): void { ++ $forceDefaultProcessing = !$this->indexerRegistry->get(InventoryIndexer::INDEXER_ID)->isScheduled(); ++ ++ $productsIdsToFlush = $this->getProductsIdsToProcess->execute( ++ $saleableStatusesBeforeSync, ++ $saleableStatusesAfterSync, ++ $forceDefaultProcessing ++ ); ++ ++ if (!empty($productsIdsToFlush)) { ++ $categoryIds = $this->getCategoryIdsByProductIds->execute($productsIdsToFlush); ++ $this->flushCacheByIds->execute($productsIdsToFlush); ++ $this->flushCategoryByCategoryIds->execute($categoryIds); ++ } ++ } ++ ++ /** ++ * @inheritdoc ++ * ++ * @return int ++ */ ++ public function getSortOrder(): int ++ { ++ return $this->sortOrder; ++ } ++} +diff --git a/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php b/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php +deleted file mode 100644 +index 2114f7cdd28..00000000000 +--- a/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php ++++ /dev/null +@@ -1,105 +0,0 @@ +-flushCacheByIds = $flushCacheByIds; +- $this->getCategoryIdsByProductIds = $getCategoryIdsByProductIds; +- $this->flushCategoryByCategoryIds = $flushCategoryByCategoryIds; +- $this->getSalableStatuses = $getSalableStatuses; +- $this->getProductsIdsToProcess = $getProductsIdsToProcess; +- $this->indexerRegistry = $indexerRegistry; +- } +- +- /** +- * Clean cache for specific products after source items reindex. +- * +- * @param Sync $subject +- * @param callable $proceed +- * @param array $sourceItemIds +- * @return void +- * @throws \Exception in case catalog product entity type hasn't been initialized. +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function aroundExecuteList(Sync $subject, callable $proceed, array $sourceItemIds) : void +- { +- $beforeSalableList = $this->getSalableStatuses->execute($sourceItemIds); +- $proceed($sourceItemIds); +- $afterSalableList = $this->getSalableStatuses->execute($sourceItemIds); +- $forceDefaultProcessing = !$this->indexerRegistry->get(InventoryIndexer::INDEXER_ID)->isScheduled(); +- $productsIdsToFlush = $this->getProductsIdsToProcess->execute( +- $beforeSalableList, +- $afterSalableList, +- $forceDefaultProcessing +- ); +- if (!empty($productsIdsToFlush)) { +- $categoryIds = $this->getCategoryIdsByProductIds->execute($productsIdsToFlush); +- $this->flushCacheByIds->execute($productsIdsToFlush); +- $this->flushCategoryByCategoryIds->execute($categoryIds); +- } +- } +-} +diff --git a/vendor/magento/module-inventory-cache/etc/di.xml b/vendor/magento/module-inventory-cache/etc/di.xml +index 269ae6223d4..0bace2f47a6 100644 +--- a/vendor/magento/module-inventory-cache/etc/di.xml ++++ b/vendor/magento/module-inventory-cache/etc/di.xml +@@ -9,9 +9,6 @@ + + + +- +- +- + + + Magento\Catalog\Model\Product::CACHE_TAG +@@ -25,4 +22,16 @@ + + + ++ ++ ++ 30 ++ ++ ++ ++ ++ ++ Magento\InventoryCache\Model\CacheFlushProcessor ++ ++ ++ + +diff --git a/vendor/magento/module-inventory-catalog/Model/PriceIndexUpdateProcessor.php b/vendor/magento/module-inventory-catalog/Model/PriceIndexUpdateProcessor.php +new file mode 100644 +index 00000000000..19bff22889a +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog/Model/PriceIndexUpdateProcessor.php +@@ -0,0 +1,80 @@ ++priceIndexProcessor = $priceIndexProcessor; ++ $this->getProductsIdsToProcess = $getProductsIdsToProcess; ++ $this->sortOrder = $sortOrder; ++ } ++ ++ /** ++ * Price index update for specific products after source items reindex. ++ * ++ * @param array $sourceItemIds ++ * @param array $saleableStatusesBeforeSync ++ * @param array $saleableStatusesAfterSync ++ * @return void ++ * @SuppressWarnings(PHPMD.UnusedFormalParameter) ++ */ ++ public function process( ++ array $sourceItemIds, ++ array $saleableStatusesBeforeSync, ++ array $saleableStatusesAfterSync ++ ): void { ++ $productsIdsToReindex = $this->getProductsIdsToProcess->execute( ++ $saleableStatusesBeforeSync, ++ $saleableStatusesAfterSync ++ ); ++ if (!empty($productsIdsToReindex)) { ++ $this->priceIndexProcessor->reindexList($productsIdsToReindex, true); ++ } ++ } ++ ++ /** ++ * @inheritdoc ++ * ++ * @return int ++ */ ++ public function getSortOrder(): int ++ { ++ return $this->sortOrder; ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php b/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php +deleted file mode 100644 +index eb0d359b4ac..00000000000 +--- a/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php ++++ /dev/null +@@ -1,95 +0,0 @@ +-priceIndexProcessor = $priceIndexProcessor; +- $this->getSourceCodesBySourceItemIds = $getSourceCodesBySourceItemIds; +- $this->defaultSourceProvider = $defaultSourceProvider; +- $this->getSalableStatuses = $getSalableStatuses; +- $this->getProductsIdsToProcess = $getProductsIdsToProcess; +- } +- +- /** +- * Reindex product prices. +- * +- * @param Sync $subject +- * @param callable $proceed +- * @param array $sourceItemIds +- * @return void +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function aroundExecuteList(Sync $subject, callable $proceed, array $sourceItemIds) : void +- { +- $customSourceItemIds = []; +- $defaultSourceCode = $this->defaultSourceProvider->getCode(); +- foreach ($this->getSourceCodesBySourceItemIds->execute($sourceItemIds) as $sourceItemId => $sourceCode) { +- if ($sourceCode !== $defaultSourceCode) { +- $customSourceItemIds[] = $sourceItemId; +- } +- } +- $beforeSalableList = $this->getSalableStatuses->execute($customSourceItemIds); +- $proceed($sourceItemIds); +- $afterSalableList = $this->getSalableStatuses->execute($customSourceItemIds); +- +- $productsIdsToReindex = $this->getProductsIdsToProcess->execute($beforeSalableList, $afterSalableList); +- if (!empty($productsIdsToReindex)) { +- $this->priceIndexProcessor->reindexList($productsIdsToReindex, true); +- } +- } +-} +diff --git a/vendor/magento/module-inventory-catalog/etc/di.xml b/vendor/magento/module-inventory-catalog/etc/di.xml +index f5e7210230b..a72055ff7a7 100644 +--- a/vendor/magento/module-inventory-catalog/etc/di.xml ++++ b/vendor/magento/module-inventory-catalog/etc/di.xml +@@ -31,9 +31,6 @@ + + +- +- +- + + + +@@ -198,4 +195,16 @@ + + + ++ ++ ++ 10 ++ ++ ++ ++ ++ ++ Magento\InventoryCatalog\Model\PriceIndexUpdateProcessor ++ ++ ++ + +diff --git a/vendor/magento/module-inventory-catalog-search/Model/FullTextIndexUpdateProcessor.php b/vendor/magento/module-inventory-catalog-search/Model/FullTextIndexUpdateProcessor.php +new file mode 100644 +index 00000000000..c1c7d608448 +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search/Model/FullTextIndexUpdateProcessor.php +@@ -0,0 +1,81 @@ ++fulltextIndexProcessor = $fulltextIndexProcessor; ++ $this->getProductsIdsToProcess = $getProductsIdsToProcess; ++ $this->sortOrder = $sortOrder; ++ } ++ ++ /** ++ * Perform fulltext index update for specific products after source items reindex. ++ * ++ * @param array $sourceItemIds ++ * @param array $saleableStatusesBeforeSync ++ * @param array $saleableStatusesAfterSync ++ * @return void ++ * @SuppressWarnings(PHPMD.UnusedFormalParameter) ++ */ ++ public function process( ++ array $sourceItemIds, ++ array $saleableStatusesBeforeSync, ++ array $saleableStatusesAfterSync ++ ): void { ++ $productsIdsToProcess = $this->getProductsIdsToProcess->execute( ++ $saleableStatusesBeforeSync, ++ $saleableStatusesAfterSync ++ ); ++ ++ if (!empty($productsIdsToProcess)) { ++ $this->fulltextIndexProcessor->reindexList($productsIdsToProcess, true); ++ } ++ } ++ ++ /** ++ * @inheritdoc ++ * ++ * @return int ++ */ ++ public function getSortOrder(): int ++ { ++ return $this->sortOrder; ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/FulltextIndexUpdater.php b/vendor/magento/module-inventory-catalog-search/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/FulltextIndexUpdater.php +deleted file mode 100644 +index 4ae3da00940..00000000000 +--- a/vendor/magento/module-inventory-catalog-search/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/FulltextIndexUpdater.php ++++ /dev/null +@@ -1,102 +0,0 @@ +-fulltextIndexProcessor = $fulltextIndexProcessor; +- $this->productIdsBySourceItemIds = $productIdsBySourceItemIds; +- $this->getSalableStatuses = $getSalableStatuses; +- $this->getProductsIdsToProcess = $getProductsIdsToProcess; +- } +- +- /** +- * Reindex fulltext entities +- * +- * @param Sync $subject +- * @param callable $proceed +- * @param array $sourceItemIds +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function aroundExecuteList( +- Sync $subject, +- callable $proceed, +- array $sourceItemIds +- ) { +- $beforeSalableList = $this->getSalableStatuses->execute($sourceItemIds); +- $proceed($sourceItemIds); +- $afterSalableList = $this->getSalableStatuses->execute($sourceItemIds); +- $productsIdsToProcess = $this->getProductsIdsToProcess->execute($beforeSalableList, $afterSalableList); +- if (!empty($productsIdsToProcess)) { +- $this->fulltextIndexProcessor->reindexList($productsIdsToProcess, true); +- } +- } +- +- /** +- * Reindex fulltext entity +- * +- * @param Sync $subject +- * @param callable $proceed +- * @param int $sourceItemId +- * @SuppressWarnings(PHPMD.UnusedFormalParameter) +- */ +- public function aroundExecuteRow( +- Sync $subject, +- callable $proceed, +- int $sourceItemId +- ) { +- $beforeSalableList = $this->getSalableStatuses->execute([$sourceItemId]); +- $proceed($sourceItemId); +- $afterSalableList = $this->getSalableStatuses->execute([$sourceItemId]); +- $productsIdsToProcess = $this->getProductsIdsToProcess->execute($beforeSalableList, $afterSalableList); +- if (!empty($productsIdsToProcess)) { +- $this->fulltextIndexProcessor->reindexList($productsIdsToProcess, true); +- } +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search/etc/di.xml b/vendor/magento/module-inventory-catalog-search/etc/di.xml +index 99e8662b80e..1078a09b324 100644 +--- a/vendor/magento/module-inventory-catalog-search/etc/di.xml ++++ b/vendor/magento/module-inventory-catalog-search/etc/di.xml +@@ -9,7 +9,16 @@ + + + ++ ++ ++ 20 ++ ++ + +- ++ ++ ++ Magento\InventoryCatalogSearch\Model\FullTextIndexUpdateProcessor ++ ++ + + +diff --git a/vendor/magento/module-inventory-indexer/Indexer/SourceItem/CompositeProductProcessorInterface.php b/vendor/magento/module-inventory-indexer/Indexer/SourceItem/CompositeProductProcessorInterface.php +new file mode 100644 +index 00000000000..5a02482423c +--- /dev/null ++++ b/vendor/magento/module-inventory-indexer/Indexer/SourceItem/CompositeProductProcessorInterface.php +@@ -0,0 +1,32 @@ ++getSkuListInStock = $getSkuListInStockToUpdate; + $this->indexStructure = $indexStructureHandler; +@@ -105,6 +121,8 @@ class Sync + $this->defaultStockProvider = $defaultStockProvider; + $this->reservationsIndexTable = $reservationsIndexTable; + $this->prepareReservationsIndexData = $prepareReservationsIndexData; ++ $this->getSalableStatuses = $getSalableStatuses; ++ $this->saleabilityChangesProcessorsPool = $saleabilityChangesProcessorsPool; + } + + /** +@@ -114,6 +132,9 @@ class Sync + */ + public function executeList(array $sourceItemIds) : void + { ++ // Store products salable statuses before reindex ++ $salableStatusesBefore = $this->getSalableStatuses->execute($sourceItemIds); ++ + $skuListInStockList = $this->getSkuListInStock->execute($sourceItemIds); + + foreach ($skuListInStockList as $skuListInStock) { +@@ -152,6 +173,36 @@ class Sync + + $this->reservationsIndexTable->dropTable($stockId); + } ++ ++ // Store products salable statuses after reindex ++ $salableStatusesAfter = $this->getSalableStatuses->execute($sourceItemIds); ++ // Process products with changed salable statuses ++ $this->processProductsWithChangedSaleability($sourceItemIds, $salableStatusesBefore, $salableStatusesAfter); ++ } ++ ++ /** ++ * Process products with changed salable statuses ++ * ++ * @param array $sourceItemIds ++ * @param array $saleableStatusesBefore ++ * @param array $saleableStatusesAfter ++ * @return void ++ */ ++ private function processProductsWithChangedSaleability( ++ array $sourceItemIds, ++ array $saleableStatusesBefore, ++ array $saleableStatusesAfter ++ ): void { ++ $processors = $this->saleabilityChangesProcessorsPool; ++ ++ // Sort processors by sort order ++ uasort($processors, function ($a, $b) { ++ return $a->getSortOrder() <=> $b->getSortOrder(); ++ }); ++ ++ foreach ($processors as $processor) { ++ $processor->process($sourceItemIds, $saleableStatusesBefore, $saleableStatusesAfter); ++ } + } + + /** +diff --git a/vendor/magento/module-inventory-indexer/Model/GetProductsIdsToProcess.php b/vendor/magento/module-inventory-indexer/Model/GetProductsIdsToProcess.php +index caa30a2c0a1..2ce0856e481 100644 +--- a/vendor/magento/module-inventory-indexer/Model/GetProductsIdsToProcess.php ++++ b/vendor/magento/module-inventory-indexer/Model/GetProductsIdsToProcess.php +@@ -45,36 +45,58 @@ class GetProductsIdsToProcess + * @param array $after + * @param bool $forceDefaultStockProcessing + * @return array ++ * @SuppressWarnings(PHPMD.UnusedLocalVariable) + */ + public function execute(array $before, array $after, bool $forceDefaultStockProcessing = false) : array + { +- $productIds = []; + $productSkus = array_merge( + array_diff(array_keys($before), array_keys($after)), + array_diff(array_keys($after), array_keys($before)) + ); + foreach ($before as $sku => $salableData) { +- if (!in_array($sku, $productSkus)) { +- foreach ($salableData as $stockId => $isSalable) { +- if (empty($after[$sku][$stockId]) +- || $before[$sku][$stockId] !== $after[$sku][$stockId] +- || ($stockId === $this->defaultStockProvider->getId() && $forceDefaultStockProcessing)) { +- $productSkus[] = $sku; +- } ++ if (in_array($sku, $productSkus)) { ++ continue; ++ } ++ $afterSalableData = $after[$sku] ?? []; ++ // get stock IDs from "after" that doesn't exist in "before" ++ $diff = array_diff(array_keys($afterSalableData), array_keys($salableData)); ++ if ($diff) { ++ $productSkus[] = $sku; ++ continue; ++ } ++ foreach ($salableData as $stockId => $isSalable) { ++ if (!isset($after[$sku][$stockId]) ++ || $before[$sku][$stockId] !== $after[$sku][$stockId] ++ || ($stockId === $this->defaultStockProvider->getId() && $forceDefaultStockProcessing)) { ++ $productSkus[] = $sku; + } + } + } +- if (!empty($productSkus)) { +- $productSkus = array_unique($productSkus); +- foreach ($productSkus as $sku) { +- try { +- $productId = $this->getProductIdsBySkus->execute([$sku]); +- $productIds = array_merge($productIds, $productId); +- } catch (NoSuchEntityException $e) { +- continue; +- } ++ ++ return $this->getProductIdsBySkus($productSkus); ++ } ++ ++ /** ++ * Retrieve product ids by skus ++ * ++ * @param array $productSkus ++ * @return array ++ */ ++ private function getProductIdsBySkus(array $productSkus): array ++ { ++ if (empty($productSkus)) { ++ return []; ++ } ++ ++ $productSkus = array_unique($productSkus); ++ $ids = []; ++ foreach ($productSkus as $sku) { ++ try { ++ $ids[] = $this->getProductIdsBySkus->execute([$sku]); ++ } catch (NoSuchEntityException $e) { ++ continue; + } + } +- return $productIds; ++ return array_merge(...$ids); + } + } + diff --git a/patches/os/ACSD-52657_2.4.5-p1.patch b/patches/os/ACSD-52657_2.4.5-p1.patch new file mode 100644 index 00000000..55f564e7 --- /dev/null +++ b/patches/os/ACSD-52657_2.4.5-p1.patch @@ -0,0 +1,426 @@ +diff --git a/vendor/magento/module-customer/ViewModel/CookieSettings.php b/vendor/magento/module-customer/ViewModel/CookieSettings.php +new file mode 100644 +index 000000000000..a725352f4d09 +--- /dev/null ++++ b/vendor/magento/module-customer/ViewModel/CookieSettings.php +@@ -0,0 +1,42 @@ ++scopeConfig = $scopeConfig; ++ } ++ ++ /** ++ * Get cookie domain for a store view ++ * ++ * @return mixed ++ */ ++ public function getCookieDomain() ++ { ++ return $this->scopeConfig->getValue( ++ self::XML_PATH_COOKIE_DOMAIN, ++ \Magento\Store\Model\ScopeInterface::SCOPE_STORE ++ ); ++ } ++} +diff --git a/vendor/magento/module-customer/ViewModel/Customer/Auth.php b/vendor/magento/module-customer/ViewModel/Customer/Auth.php +new file mode 100644 +index 000000000000..e8c9210d32e1 +--- /dev/null ++++ b/vendor/magento/module-customer/ViewModel/Customer/Auth.php +@@ -0,0 +1,36 @@ ++httpContext->getValue(Context::CONTEXT_AUTH) ?? false; ++ } ++} +diff --git a/vendor/magento/module-customer/ViewModel/Customer/JsonSerializer.php b/vendor/magento/module-customer/ViewModel/Customer/JsonSerializer.php +new file mode 100644 +index 000000000000..c7a7be29a294 +--- /dev/null ++++ b/vendor/magento/module-customer/ViewModel/Customer/JsonSerializer.php +@@ -0,0 +1,36 @@ ++jsonEncoder->serialize($value); ++ } ++} +diff --git a/vendor/magento/module-customer/view/frontend/layout/default.xml b/vendor/magento/module-customer/view/frontend/layout/default.xml +index b431373ca412..7c2199763a30 100644 +--- a/vendor/magento/module-customer/view/frontend/layout/default.xml ++++ b/vendor/magento/module-customer/view/frontend/layout/default.xml +@@ -48,7 +48,13 @@ + + + ++ template="Magento_Customer::js/customer-data.phtml"> ++ ++ Magento\Customer\ViewModel\Customer\Auth ++ Magento\Customer\ViewModel\Customer\JsonSerializer ++ Magento\Customer\ViewModel\CookieSettings ++ ++ + + +diff --git a/vendor/magento/module-customer/view/frontend/templates/js/customer-data.phtml b/vendor/magento/module-customer/view/frontend/templates/js/customer-data.phtml +index eb50ea645478..361ebe0073eb 100644 +--- a/vendor/magento/module-customer/view/frontend/templates/js/customer-data.phtml ++++ b/vendor/magento/module-customer/view/frontend/templates/js/customer-data.phtml +@@ -3,10 +3,22 @@ + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ ++use Magento\Customer\ViewModel\Customer\Data; ++use Magento\Framework\App\ObjectManager; ++use Magento\Customer\ViewModel\CookieSettings; + + /** @var \Magento\Customer\Block\CustomerData $block */ + + // phpcs:disable Magento2.Templates.ThisInTemplate.FoundHelper ++/** @var Auth $auth */ ++$auth = $block->getAuth() ?? ObjectManager::getInstance()->get(Auth::class); ++/** @var JsonSerializer $jsonSerializer */ ++$jsonSerializer = $block->getJsonSerializer() ?? ++ ObjectManager::getInstance()->get(JsonSerializer::class); ++$customerDataUrl = $block->getCustomerDataUrl('customer/account/updateSession'); ++$expirableSectionNames = $block->getExpirableSectionNames(); ++/** @var CookieSettings $cookieSettings */ ++$cookieSettings = $block->getCookieSettings(); + ?> + + +-
++ class="form send friend" data-hasRequired="escapeHtmlAttr(__('* Required Fields')) ?>"> +
+ getBlockHtml('formkey') ?> +- escapeHtml(__('Sender')) ?> ++ escapeHtml(__('Sender')) ?> +
+
+- ++ +
+- +
+
+ +
+ +
+ getBlockHtml('formkey') ?> +- escapeHtml(__('Invitee')) ?> ++ escapeHtml(__('Invitee')) ?> +
+
+ getMaxRecipients()): ?> + + renderStyleAsTag("display: none;", 'div#max-recipient-message') ?> +@@ -112,7 +122,7 @@ +
+ getMaxRecipients()): ?> + ++ escapeHtml(__('Add Invitee')) ?> + +
+
+@@ -122,11 +132,15 @@ +
+
+ ++ class="action submit primary" ++ canSend() || ++ $block->getButtonLockManager()->isDisabled('sendfriend_form_submit')): ?> ++ disabled="disabled" ++ > ++ escapeHtml(__('Send Email')) ?> +
+ +
+ +diff --git a/vendor/magento/framework/View/Element/ButtonLockInterface.php b/vendor/magento/framework/View/Element/ButtonLockInterface.php +new file mode 100644 +index 000000000000..e65ce3f245a8 +--- /dev/null ++++ b/vendor/magento/framework/View/Element/ButtonLockInterface.php +@@ -0,0 +1,28 @@ ++buttonLockPool = $buttonLockPool; ++ } ++ ++ /** ++ * Returns true if the button has to be disabled. ++ * ++ * @param string $buttonCode ++ * @return bool ++ * @throws \Magento\Framework\Exception\InputException ++ */ ++ public function isDisabled(string $buttonCode): bool ++ { ++ $result = array_filter($this->buttonLockPool, function ($item) use ($buttonCode) { ++ return $item->getCode() === $buttonCode && $item->isDisabled(); ++ }); ++ ++ return !empty($result); ++ } ++} diff --git a/patches/os/ACSD-56546_1.2.4-p2.patch b/patches/os/ACSD-56546_1.2.4-p2.patch new file mode 100644 index 00000000..a31c70da --- /dev/null +++ b/patches/os/ACSD-56546_1.2.4-p2.patch @@ -0,0 +1,892 @@ +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStatusAndStock.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStatusAndStock.php +new file mode 100644 +index 00000000000..c6eb906fe86 +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStatusAndStock.php +@@ -0,0 +1,75 @@ ++storeManager->getStore($storeId); ++ $this->stockStatusFilter->process( ++ $select, ++ 'e', ++ 'stock', ++ (int)$store->getWebsiteId() ++ ); ++ $this->applySelectModifiers($select, $store); ++ ++ return $select; ++ } ++ ++ /** ++ * Iterate product type modifier to the select ++ * ++ * @param Select $select ++ * @param Store $store ++ * @return void ++ */ ++ private function applySelectModifiers(Select $select, Store $store): void ++ { ++ foreach ($this->selectModifiersPool as $selectModifier) { ++ $selectModifier->modify($select, $store); ++ } ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php +deleted file mode 100644 +index 36851f4b134..00000000000 +--- a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php ++++ /dev/null +@@ -1,83 +0,0 @@ +-storeRepository = $storeRepository; +- $this->stockStatusFilter = $stockStatusFilter; +- $this->selectModifiersPool = $selectModifiersPool; +- } +- +- /** +- * Return filtered product by stock status for product indexer +- * +- * @param Select $select +- * @param int $storeId +- * @return Select +- */ +- public function execute(Select $select, int $storeId): Select +- { +- $store = $this->storeRepository->getById($storeId); +- $this->stockStatusFilter->execute( +- $select, +- 'e', +- StockStatusFilterInterface::TABLE_ALIAS, +- (int) $store->getWebsiteId() +- ); +- $this->applySelectModifiers($select, $storeId); +- +- return $select; +- } +- +- /** +- * Applying filters to select via select modifiers +- * +- * @param Select $select +- * @param int $storeId +- * @return void +- */ +- private function applySelectModifiers(Select $select, int $storeId): void +- { +- foreach ($this->selectModifiersPool as $selectModifier) { +- $selectModifier->modify($select, $storeId); +- } +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilteringSalableProductSelectBuilderInterface.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilteringSalableProductSelectBuilderInterface.php +new file mode 100644 +index 00000000000..afd2cb8a890 +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilteringSalableProductSelectBuilderInterface.php +@@ -0,0 +1,34 @@ ++stockStatusFilter->execute($select, $productTableAliasAlias, $stockStatusTableAlias, $websiteId); ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php b/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php +index ed240f333f4..84eb9fec18e 100644 +--- a/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php ++++ b/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php +@@ -11,7 +11,7 @@ use Magento\CatalogInventory\Api\StockConfigurationInterface; + use Magento\CatalogSearch\Model\Indexer\Fulltext\Action\GetSearchableProductsSelect; + use Magento\Framework\DB\Select; + use Magento\Framework\Exception\NoSuchEntityException; +-use Magento\InventoryCatalogSearch\Model\Indexer\FilterProductByStock; ++use Magento\InventoryCatalogSearch\Model\Indexer\FilterProductByStatusAndStock; + + /** + * Filter composite products by enabled child product stock status. +@@ -24,17 +24,17 @@ class ChildProductFilterByInventoryStockPlugin + private $stockConfiguration; + + /** +- * @var FilterProductByStock ++ * @var FilterProductByStatusAndStock + */ + private $filterProductByStock; + + /** + * @param StockConfigurationInterface $stockConfiguration +- * @param FilterProductByStock $filterProductByStock ++ * @param FilterProductByStatusAndStock $filterProductByStock + */ + public function __construct( + StockConfigurationInterface $stockConfiguration, +- FilterProductByStock $filterProductByStock ++ FilterProductByStatusAndStock $filterProductByStock + ) { + $this->stockConfiguration = $stockConfiguration; + $this->filterProductByStock = $filterProductByStock; +@@ -54,9 +54,8 @@ class ChildProductFilterByInventoryStockPlugin + GetSearchableProductsSelect $subject, + Select $result, + int $storeId +- ): Select +- { +- if ($this->stockConfiguration->isShowOutOfStock($storeId) || empty($result)) { ++ ): Select { ++ if ($this->stockConfiguration->isShowOutOfStock($storeId)) { + return $result; + } + return $this->filterProductByStock->execute($result, $storeId); +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php +deleted file mode 100644 +index f20fe87ca4f..00000000000 +--- a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php ++++ /dev/null +@@ -1,144 +0,0 @@ +-metadataPool = $metadataPool; +- $this->resourceConnection = $resourceConnection; +- $this->productAttributeRepository = $productAttributeRepository; +- $this->storeRepository = $storeRepository; +- $this->stockStatusResource = $stockStatusResource; +- } +- +- /** +- * @inheritdoc +- */ +- public function modify(Select $select, int $storeId): void +- { +- $connection = $this->resourceConnection->getConnection(); +- $metadata = $this->metadataPool->getMetadata(ProductInterface::class); +- $linkField = $metadata->getLinkField(); +- $optionsAvailabilitySelect = $connection->select()->from( +- ['bundle_options' => $this->resourceConnection->getTableName('catalog_product_bundle_option')], +- [] +- )->joinInner( +- ['bundle_selections' => $this->resourceConnection->getTableName('catalog_product_bundle_selection')], +- 'bundle_selections.option_id = bundle_options.option_id', +- [] +- )->joinInner( +- // table alias must be "e" for joining the stock status +- ['e' => $this->resourceConnection->getTableName('catalog_product_entity')], +- 'e.entity_id = bundle_selections.product_id', +- [] +- )->group( +- ['bundle_options.parent_id', 'bundle_options.option_id'] +- ); +- +- $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); +- $optionsAvailabilitySelect->joinLeft( +- ['child_status_global' => $statusAttribute->getBackendTable()], +- "child_status_global.{$linkField} = e.{$linkField}" +- . " AND child_status_global.attribute_id = {$statusAttribute->getAttributeId()}" +- . " AND child_status_global.store_id = 0", +- [] +- )->joinLeft( +- ['child_status_store' => $statusAttribute->getBackendTable()], +- "child_status_store.{$linkField} = e.{$linkField}" +- . " AND child_status_store.attribute_id = {$statusAttribute->getAttributeId()}" +- . " AND child_status_store.store_id = {$storeId}", +- [] +- ); +- +- $store = $this->storeRepository->getById($storeId); +- $this->stockStatusResource->addStockStatusToSelect($optionsAvailabilitySelect, $store->getWebsite()); +- $columns = array_column($optionsAvailabilitySelect->getPart(Select::COLUMNS), 1, 2); +- $isSalableColumn = $columns['is_salable']; +- +- $optionAvailabilityExpr = sprintf( +- 'IFNULL(child_status_store.value, child_status_global.value) != %s AND %s = 1', +- Status::STATUS_DISABLED, +- $isSalableColumn +- ); +- $isOptionSalableExpr = new \Zend_Db_Expr('MAX(' . $optionAvailabilityExpr . ')'); +- $isRequiredOptionUnsalable = $connection->getCheckSql( +- 'required = 1 AND ' . $isOptionSalableExpr . ' = 0', +- '1', +- '0' +- ); +- $optionsAvailabilitySelect->columns([ +- 'parent_id' => 'bundle_options.parent_id', +- 'required' => 'bundle_options.required', +- 'is_available' => $isOptionSalableExpr, +- 'is_required_and_unavailable' => $isRequiredOptionUnsalable, +- ]); +- +- $existsSelect = $connection->select() +- ->from($optionsAvailabilitySelect) +- ->where("parent_id = e.{$linkField}") +- ->group('parent_id') +- ->having(new \Zend_Db_Expr('(MAX(is_available) = 1 AND MAX(is_required_and_unavailable) = 0)')); +- $typeBundle = Type::TYPE_CODE; +- $select->where( +- "e.type_id != '{$typeBundle}' OR EXISTS ({$existsSelect->assemble()})" +- ); +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusMultiStoreModifier.php b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusMultiStoreModifier.php +new file mode 100644 +index 00000000000..5bb319414c2 +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusMultiStoreModifier.php +@@ -0,0 +1,110 @@ ++resource->getConnection(); ++ $metadata = $this->metadataPool->getMetadata(ProductInterface::class); ++ $linkField = $metadata->getLinkField(); ++ $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); ++ $existsSelect = $connection->select()->from( ++ ['product_link_bundle' => $this->resource->getTableName('catalog_product_bundle_selection')], ++ [new \Zend_Db_Expr('1')] ++ )->where( ++ "product_link_bundle.parent_product_id = e.{$linkField}" ++ ); ++ $existsSelect->join( ++ ['bundle_product_child' => $this->resource->getTableName('catalog_product_entity')], ++ 'bundle_product_child.entity_id = product_link_bundle.product_id', ++ [] ++ ); ++ ++ $existsSelect->join( ++ ['bundle_at_status_default' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ "bundle_product_child.{$linkField} = bundle_at_status_default.{$linkField} AND " ++ . "bundle_at_status_default.attribute_id = {$statusAttribute->getId()} AND " ++ . "bundle_at_status_default.store_id = " . Store::DEFAULT_STORE_ID, ++ [] ++ ); ++ ++ $valueCondition = $connection->getCheckSql( ++ 'bundle_at_status.value_id > 0', ++ 'bundle_at_status.value', ++ 'bundle_at_status_default.value' ++ ); ++ $existsSelect->joinLeft( ++ ['bundle_at_status' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ implode( ++ ' ' . Select::SQL_AND . ' ', ++ [ ++ 'bundle_at_status.' . $linkField . ' = bundle_at_status_default.' . $linkField, ++ $connection->prepareSqlCondition('bundle_at_status.store_id', $store->getId()), ++ $connection->prepareSqlCondition( ++ 'bundle_at_status.attribute_id', ++ $statusAttribute->getAttributeId() ++ ), ++ ] ++ ), ++ [] ++ )->where("{$valueCondition} = " . Status::STATUS_ENABLED); ++ ++ $this->stockStatusFilter->process( ++ $existsSelect, ++ 'bundle_product_child', ++ 'stock_status_index_child', ++ (int)$store->getWebsiteId() ++ ); ++ ++ $typeBundle = Type::TYPE_CODE; ++ $select->where( ++ "e.type_id != '{$typeBundle}' OR EXISTS ({$existsSelect->assemble()})" ++ ); ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml b/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml +index 86ffea24672..bfef3d862de 100644 +--- a/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml ++++ b/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml +@@ -6,10 +6,10 @@ + */ + --> + +- ++ + + +- Magento\InventoryCatalogSearchBundleProduct\Model\CatalogSearch\Indexer\BundleChildStockStatusModifier ++ Magento\InventoryCatalogSearchBundleProduct\Model\CatalogSearch\Indexer\BundleChildStockStatusMultiStoreModifier + + + +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php +deleted file mode 100644 +index e8682d665da..00000000000 +--- a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php ++++ /dev/null +@@ -1,122 +0,0 @@ +-metadataPool = $metadataPool; +- $this->resourceConnection = $resourceConnection; +- $this->productAttributeRepository = $productAttributeRepository; +- $this->storeRepository = $storeRepository; +- $this->stockStatusFilter = $stockStatusFilter; +- } +- +- /** +- * @inheritdoc +- */ +- public function modify(Select $select, int $storeId): void +- { +- $connection = $this->resourceConnection->getConnection(); +- $metadata = $this->metadataPool->getMetadata(ProductInterface::class); +- $linkField = $metadata->getLinkField(); +- $existsSelect = $connection->select()->from( +- ['product_link_configurable' => $this->resourceConnection->getTableName('catalog_product_super_link')], +- [new \Zend_Db_Expr('1')] +- )->where( +- "product_link_configurable.parent_id = e.{$linkField}" +- ); +- $existsSelect->join( +- ['product_child' => $this->resourceConnection->getTableName('catalog_product_entity')], +- 'product_child.entity_id = product_link_configurable.product_id', +- [] +- ); +- +- $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); +- $existsSelect->joinLeft( +- ['child_status_global' => $statusAttribute->getBackendTable()], +- "child_status_global.{$linkField} = product_child.{$linkField}" +- . " AND child_status_global.attribute_id = {$statusAttribute->getAttributeId()}" +- . " AND child_status_global.store_id = 0", +- [] +- )->joinLeft( +- ['child_status_store' => $statusAttribute->getBackendTable()], +- "child_status_store.{$linkField} = product_child.{$linkField}" +- . " AND child_status_store.attribute_id = {$statusAttribute->getAttributeId()}" +- . " AND child_status_store.store_id = {$storeId}", +- [] +- )->where( +- 'IFNULL(child_status_store.value, child_status_global.value) != ' . Status::STATUS_DISABLED +- ); +- +- $store = $this->storeRepository->getById($storeId); +- $this->stockStatusFilter->execute( +- $existsSelect, +- 'product_child', +- StockStatusFilterInterface::TABLE_ALIAS, +- (int) $store->getWebsiteId() +- ); +- +- $typeConfigurable = Configurable::TYPE_CODE; +- $select->where( +- "e.type_id != '{$typeConfigurable}' OR EXISTS ({$existsSelect->assemble()})" +- ); +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusMultiStoreModifier.php b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusMultiStoreModifier.php +new file mode 100644 +index 00000000000..cf8b9993a28 +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusMultiStoreModifier.php +@@ -0,0 +1,110 @@ ++resource->getConnection(); ++ $metadata = $this->metadataPool->getMetadata(ProductInterface::class); ++ $linkField = $metadata->getLinkField(); ++ $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); ++ $existsSelect = $connection->select()->from( ++ ['product_link_configurable' => $this->resource->getTableName('catalog_product_super_link')], ++ [new \Zend_Db_Expr('1')] ++ )->where( ++ "product_link_configurable.parent_id = e.{$linkField}" ++ ); ++ $existsSelect->join( ++ ['configurable_product_child' => $this->resource->getTableName('catalog_product_entity')], ++ 'configurable_product_child.entity_id = product_link_configurable.product_id', ++ [] ++ ); ++ ++ $existsSelect->join( ++ ['configurable_at_status_default' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ "configurable_product_child.{$linkField} = configurable_at_status_default.{$linkField} AND " ++ . "configurable_at_status_default.attribute_id = {$statusAttribute->getId()} AND " ++ . "configurable_at_status_default.store_id = " . Store::DEFAULT_STORE_ID, ++ [] ++ ); ++ ++ $valueCondition = $connection->getCheckSql( ++ 'configurable_at_status.value_id > 0', ++ 'configurable_at_status.value', ++ 'configurable_at_status_default.value' ++ ); ++ $existsSelect->joinLeft( ++ ['configurable_at_status' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ implode( ++ ' ' . Select::SQL_AND . ' ', ++ [ ++ 'configurable_at_status.' . $linkField . ' = configurable_at_status_default.' . $linkField, ++ $connection->prepareSqlCondition('configurable_at_status.store_id', $store->getId()), ++ $connection->prepareSqlCondition( ++ 'configurable_at_status.attribute_id', ++ $statusAttribute->getAttributeId() ++ ), ++ ] ++ ), ++ [] ++ )->where("{$valueCondition} = " . Status::STATUS_ENABLED); ++ ++ $this->stockStatusFilter->process( ++ $existsSelect, ++ 'configurable_product_child', ++ 'stock_status_index_child', ++ (int)$store->getWebsiteId() ++ ); ++ ++ $typeConfigurable = Configurable::TYPE_CODE; ++ $select->where( ++ "e.type_id != '{$typeConfigurable}' OR EXISTS ({$existsSelect->assemble()})" ++ ); ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml b/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml +index 4d79ece0367..a44f2721c69 100644 +--- a/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml ++++ b/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml +@@ -6,10 +6,10 @@ + */ + --> + +- ++ + + +- Magento\InventoryCatalogSearchConfigurableProduct\Model\CatalogSearch\Indexer\ConfigurableChildStockStatusModifier ++ Magento\InventoryCatalogSearchConfigurableProduct\Model\CatalogSearch\Indexer\ConfigurableChildStockStatusMultiStoreModifier + + + diff --git a/patches/os/ACSD-56546_1.2.6-p3.patch b/patches/os/ACSD-56546_1.2.6-p3.patch new file mode 100644 index 00000000..fc0b8150 --- /dev/null +++ b/patches/os/ACSD-56546_1.2.6-p3.patch @@ -0,0 +1,864 @@ +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStatusAndStock.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStatusAndStock.php +new file mode 100644 +index 000000000000..c6eb906fe86b +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStatusAndStock.php +@@ -0,0 +1,75 @@ ++storeManager->getStore($storeId); ++ $this->stockStatusFilter->process( ++ $select, ++ 'e', ++ 'stock', ++ (int)$store->getWebsiteId() ++ ); ++ $this->applySelectModifiers($select, $store); ++ ++ return $select; ++ } ++ ++ /** ++ * Iterate product type modifier to the select ++ * ++ * @param Select $select ++ * @param Store $store ++ * @return void ++ */ ++ private function applySelectModifiers(Select $select, Store $store): void ++ { ++ foreach ($this->selectModifiersPool as $selectModifier) { ++ $selectModifier->modify($select, $store); ++ } ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php +deleted file mode 100644 +index 89b6f23ca4cf..000000000000 +--- a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilterProductByStock.php ++++ /dev/null +@@ -1,129 +0,0 @@ +-defaultStockProvider = $defaultStockProvider; +- $this->resourceConnection = $resourceConnection; +- $this->stockByWebsiteIdResolver = $stockByWebsiteIdResolver; +- $this->stockIndexTableNameResolver = $stockIndexTableNameResolver; +- $this->storeRepository = $storeRepository; +- $this->selectModifiersPool = $selectModifiersPool; +- } +- +- /** +- * Return filtered product by stock status for product indexer +- * +- * @param Select $select +- * @param int $storeId +- * @return Select +- * @throws NoSuchEntityException +- */ +- public function execute(Select $select, int $storeId): Select +- { +- $store = $this->storeRepository->getById($storeId); +- try { +- $stock = $this->stockByWebsiteIdResolver->execute((int)$store->getWebsiteId()); +- } catch (NoSuchEntityException $exception) { +- return $select; +- } +- +- $stockId = $stock->getStockId(); +- $stockTable = $this->stockIndexTableNameResolver->execute($stockId); +- $connection = $this->resourceConnection->getConnection(); +- +- if ($this->defaultStockProvider->getId() === $stockId || +- !$connection->isTableExists($stockTable)) { +- return $select; +- } +- +- $select->joinInner( +- ['stock' => $stockTable], +- 'e.sku = stock.sku', +- [] +- ); +- +- $select->where('stock.is_salable = ?', 1); +- $this->applySelectModifiers($select, $stockTable); +- +- return $select; +- } +- +- /** +- * Applying filters to select via select modifiers +- * +- * @param Select $select +- * @param string $stockTable +- * @return void +- */ +- private function applySelectModifiers(Select $select, string $stockTable): void +- { +- foreach ($this->selectModifiersPool as $selectModifier) { +- $selectModifier->modify($select, $stockTable); +- } +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilteringSalableProductSelectBuilderInterface.php b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilteringSalableProductSelectBuilderInterface.php +new file mode 100644 +index 000000000000..afd2cb8a890a +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search/Model/Indexer/FilteringSalableProductSelectBuilderInterface.php +@@ -0,0 +1,34 @@ ++stockStatusFilter->execute($select, $productTableAliasAlias, $stockStatusTableAlias, $websiteId); ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php b/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php +index ed240f333f4d..84eb9fec18e9 100644 +--- a/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php ++++ b/vendor/magento/module-inventory-catalog-search/Plugin/CatalogSearch/Model/Indexer/ChildProductFilterByInventoryStockPlugin.php +@@ -11,7 +11,7 @@ + use Magento\CatalogSearch\Model\Indexer\Fulltext\Action\GetSearchableProductsSelect; + use Magento\Framework\DB\Select; + use Magento\Framework\Exception\NoSuchEntityException; +-use Magento\InventoryCatalogSearch\Model\Indexer\FilterProductByStock; ++use Magento\InventoryCatalogSearch\Model\Indexer\FilterProductByStatusAndStock; + + /** + * Filter composite products by enabled child product stock status. +@@ -24,17 +24,17 @@ class ChildProductFilterByInventoryStockPlugin + private $stockConfiguration; + + /** +- * @var FilterProductByStock ++ * @var FilterProductByStatusAndStock + */ + private $filterProductByStock; + + /** + * @param StockConfigurationInterface $stockConfiguration +- * @param FilterProductByStock $filterProductByStock ++ * @param FilterProductByStatusAndStock $filterProductByStock + */ + public function __construct( + StockConfigurationInterface $stockConfiguration, +- FilterProductByStock $filterProductByStock ++ FilterProductByStatusAndStock $filterProductByStock + ) { + $this->stockConfiguration = $stockConfiguration; + $this->filterProductByStock = $filterProductByStock; +@@ -54,9 +54,8 @@ public function afterExecute( + GetSearchableProductsSelect $subject, + Select $result, + int $storeId +- ): Select +- { +- if ($this->stockConfiguration->isShowOutOfStock($storeId) || empty($result)) { ++ ): Select { ++ if ($this->stockConfiguration->isShowOutOfStock($storeId)) { + return $result; + } + return $this->filterProductByStock->execute($result, $storeId); +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php +deleted file mode 100644 +index 1fc119db67eb..000000000000 +--- a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusModifier.php ++++ /dev/null +@@ -1,96 +0,0 @@ +-eavConfig = $eavConfig; +- $this->metadataPool = $metadataPool; +- $this->resourceConnection = $resourceConnection; +- } +- +- /** +- * Add stock item filter to select +- * +- * @param Select $select +- * @param string $stockTable +- * @return void +- */ +- public function modify(Select $select, string $stockTable): void +- { +- $connection = $this->resourceConnection->getConnection(); +- $metadata = $this->metadataPool->getMetadata(ProductInterface::class); +- $linkField = $metadata->getLinkField(); +- $statusAttribute = $this->eavConfig->getAttribute(Product::ENTITY, 'status'); +- $existsSelect = $connection->select()->from( +- ['product_link_bundle' => $this->resourceConnection->getTableName('catalog_product_bundle_selection')], +- [new \Zend_Db_Expr('1')] +- )->where( +- "product_link_bundle.parent_product_id = e.{$linkField}" +- ); +- $existsSelect->join( +- ['bundle_product_child' => $this->resourceConnection->getTableName('catalog_product_entity')], +- 'bundle_product_child.entity_id = product_link_bundle.product_id', +- [] +- ); +- +- $existsSelect->join( +- ['child_product_status' => $this->resourceConnection->getTableName($statusAttribute->getBackendTable())], +- "bundle_product_child.{$linkField} = child_product_status.{$linkField} AND " +- . "child_product_status.attribute_id = " . $statusAttribute->getId(), +- [] +- )->where('child_product_status.value = 1'); +- +- $existsSelect->join( +- ['stock_status_index_child' => $stockTable], +- 'bundle_product_child.sku = stock_status_index_child.sku', +- [] +- )->where('stock_status_index_child.is_salable = 1'); +- $typeBundle = Type::TYPE_CODE; +- $select->where( +- "e.type_id != '{$typeBundle}' OR EXISTS ({$existsSelect->assemble()})" +- ); +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusMultiStoreModifier.php b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusMultiStoreModifier.php +new file mode 100644 +index 000000000000..5bb319414c21 +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search-bundle-product/Model/CatalogSearch/Indexer/BundleChildStockStatusMultiStoreModifier.php +@@ -0,0 +1,110 @@ ++resource->getConnection(); ++ $metadata = $this->metadataPool->getMetadata(ProductInterface::class); ++ $linkField = $metadata->getLinkField(); ++ $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); ++ $existsSelect = $connection->select()->from( ++ ['product_link_bundle' => $this->resource->getTableName('catalog_product_bundle_selection')], ++ [new \Zend_Db_Expr('1')] ++ )->where( ++ "product_link_bundle.parent_product_id = e.{$linkField}" ++ ); ++ $existsSelect->join( ++ ['bundle_product_child' => $this->resource->getTableName('catalog_product_entity')], ++ 'bundle_product_child.entity_id = product_link_bundle.product_id', ++ [] ++ ); ++ ++ $existsSelect->join( ++ ['bundle_at_status_default' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ "bundle_product_child.{$linkField} = bundle_at_status_default.{$linkField} AND " ++ . "bundle_at_status_default.attribute_id = {$statusAttribute->getId()} AND " ++ . "bundle_at_status_default.store_id = " . Store::DEFAULT_STORE_ID, ++ [] ++ ); ++ ++ $valueCondition = $connection->getCheckSql( ++ 'bundle_at_status.value_id > 0', ++ 'bundle_at_status.value', ++ 'bundle_at_status_default.value' ++ ); ++ $existsSelect->joinLeft( ++ ['bundle_at_status' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ implode( ++ ' ' . Select::SQL_AND . ' ', ++ [ ++ 'bundle_at_status.' . $linkField . ' = bundle_at_status_default.' . $linkField, ++ $connection->prepareSqlCondition('bundle_at_status.store_id', $store->getId()), ++ $connection->prepareSqlCondition( ++ 'bundle_at_status.attribute_id', ++ $statusAttribute->getAttributeId() ++ ), ++ ] ++ ), ++ [] ++ )->where("{$valueCondition} = " . Status::STATUS_ENABLED); ++ ++ $this->stockStatusFilter->process( ++ $existsSelect, ++ 'bundle_product_child', ++ 'stock_status_index_child', ++ (int)$store->getWebsiteId() ++ ); ++ ++ $typeBundle = Type::TYPE_CODE; ++ $select->where( ++ "e.type_id != '{$typeBundle}' OR EXISTS ({$existsSelect->assemble()})" ++ ); ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml b/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml +index 86ffea24672f..bfef3d862de4 100644 +--- a/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml ++++ b/vendor/magento/module-inventory-catalog-search-bundle-product/etc/di.xml +@@ -6,10 +6,10 @@ + */ + --> + +- ++ + + +- Magento\InventoryCatalogSearchBundleProduct\Model\CatalogSearch\Indexer\BundleChildStockStatusModifier ++ Magento\InventoryCatalogSearchBundleProduct\Model\CatalogSearch\Indexer\BundleChildStockStatusMultiStoreModifier + + + +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php +deleted file mode 100644 +index 5e54cac38980..000000000000 +--- a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusModifier.php ++++ /dev/null +@@ -1,96 +0,0 @@ +-metadataPool = $metadataPool; +- $this->eavConfig = $eavConfig; +- $this->resourceConnection = $resourceConnection; +- } +- +- /** +- * Add stock item filter to select +- * +- * @param Select $select +- * @param string $stockTable +- * @return void +- */ +- public function modify(Select $select, string $stockTable): void +- { +- $connection = $this->resourceConnection->getConnection(); +- $metadata = $this->metadataPool->getMetadata(ProductInterface::class); +- $linkField = $metadata->getLinkField(); +- $statusAttribute = $this->eavConfig->getAttribute(Product::ENTITY, 'status'); +- $existsSelect = $connection->select()->from( +- ['product_link_configurable' => $this->resourceConnection->getTableName('catalog_product_super_link')], +- [new \Zend_Db_Expr('1')] +- )->where( +- "product_link_configurable.parent_id = e.{$linkField}" +- ); +- $existsSelect->join( +- ['product_child' => $this->resourceConnection->getTableName('catalog_product_entity')], +- 'product_child.entity_id = product_link_configurable.product_id', +- [] +- ); +- +- $existsSelect->join( +- ['child_product_status' => $this->resourceConnection->getTableName($statusAttribute->getBackendTable())], +- "product_child.{$linkField} = child_product_status.{$linkField} AND " +- . "child_product_status.attribute_id = " . $statusAttribute->getId(), +- [] +- )->where('child_product_status.value = 1'); +- +- $existsSelect->join( +- ['stock_status_index_child' => $stockTable], +- 'product_child.sku = stock_status_index_child.sku', +- [] +- )->where('stock_status_index_child.is_salable = 1'); +- $typeConfigurable = Configurable::TYPE_CODE; +- $select->where( +- "e.type_id != '{$typeConfigurable}' OR EXISTS ({$existsSelect->assemble()})" +- ); +- } +-} +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusMultiStoreModifier.php b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusMultiStoreModifier.php +new file mode 100644 +index 000000000000..cf8b9993a28a +--- /dev/null ++++ b/vendor/magento/module-inventory-catalog-search-configurable-product/Model/CatalogSearch/Indexer/ConfigurableChildStockStatusMultiStoreModifier.php +@@ -0,0 +1,110 @@ ++resource->getConnection(); ++ $metadata = $this->metadataPool->getMetadata(ProductInterface::class); ++ $linkField = $metadata->getLinkField(); ++ $statusAttribute = $this->productAttributeRepository->get(ProductInterface::STATUS); ++ $existsSelect = $connection->select()->from( ++ ['product_link_configurable' => $this->resource->getTableName('catalog_product_super_link')], ++ [new \Zend_Db_Expr('1')] ++ )->where( ++ "product_link_configurable.parent_id = e.{$linkField}" ++ ); ++ $existsSelect->join( ++ ['configurable_product_child' => $this->resource->getTableName('catalog_product_entity')], ++ 'configurable_product_child.entity_id = product_link_configurable.product_id', ++ [] ++ ); ++ ++ $existsSelect->join( ++ ['configurable_at_status_default' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ "configurable_product_child.{$linkField} = configurable_at_status_default.{$linkField} AND " ++ . "configurable_at_status_default.attribute_id = {$statusAttribute->getId()} AND " ++ . "configurable_at_status_default.store_id = " . Store::DEFAULT_STORE_ID, ++ [] ++ ); ++ ++ $valueCondition = $connection->getCheckSql( ++ 'configurable_at_status.value_id > 0', ++ 'configurable_at_status.value', ++ 'configurable_at_status_default.value' ++ ); ++ $existsSelect->joinLeft( ++ ['configurable_at_status' => $this->resource->getTableName($statusAttribute->getBackendTable())], ++ implode( ++ ' ' . Select::SQL_AND . ' ', ++ [ ++ 'configurable_at_status.' . $linkField . ' = configurable_at_status_default.' . $linkField, ++ $connection->prepareSqlCondition('configurable_at_status.store_id', $store->getId()), ++ $connection->prepareSqlCondition( ++ 'configurable_at_status.attribute_id', ++ $statusAttribute->getAttributeId() ++ ), ++ ] ++ ), ++ [] ++ )->where("{$valueCondition} = " . Status::STATUS_ENABLED); ++ ++ $this->stockStatusFilter->process( ++ $existsSelect, ++ 'configurable_product_child', ++ 'stock_status_index_child', ++ (int)$store->getWebsiteId() ++ ); ++ ++ $typeConfigurable = Configurable::TYPE_CODE; ++ $select->where( ++ "e.type_id != '{$typeConfigurable}' OR EXISTS ({$existsSelect->assemble()})" ++ ); ++ } ++} +diff --git a/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml b/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml +index 4d79ece03675..a44f2721c69c 100644 +--- a/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml ++++ b/vendor/magento/module-inventory-catalog-search-configurable-product/etc/di.xml +@@ -6,10 +6,10 @@ + */ + --> + +- ++ + + +- Magento\InventoryCatalogSearchConfigurableProduct\Model\CatalogSearch\Indexer\ConfigurableChildStockStatusModifier ++ Magento\InventoryCatalogSearchConfigurableProduct\Model\CatalogSearch\Indexer\ConfigurableChildStockStatusMultiStoreModifier + + + diff --git a/patches/os/ACSD-56616_1.2.5-p1.patch b/patches/os/ACSD-56616_1.2.5-p1.patch new file mode 100644 index 00000000..ab451381 --- /dev/null +++ b/patches/os/ACSD-56616_1.2.5-p1.patch @@ -0,0 +1,132 @@ +diff --git a/vendor/magento/module-inventory-bundle-product/Plugin/InventorySales/Model/IsProductSalableCondition/GetIsQtySalableForBundleProduct.php b/vendor/magento/module-inventory-bundle-product/Plugin/InventorySales/Model/IsProductSalableCondition/GetIsQtySalableForBundleProduct.php +index 110f37b66f4b..429fbf96c95c 100644 +--- a/vendor/magento/module-inventory-bundle-product/Plugin/InventorySales/Model/IsProductSalableCondition/GetIsQtySalableForBundleProduct.php ++++ b/vendor/magento/module-inventory-bundle-product/Plugin/InventorySales/Model/IsProductSalableCondition/GetIsQtySalableForBundleProduct.php +@@ -53,7 +53,7 @@ public function afterExecute( + string $sku, + int $stockId + ): bool { +- return $this->getProductTypesBySkus->execute([$sku])[$sku] === Type::TYPE_CODE ++ return $isSalable && $this->getProductTypesBySkus->execute([$sku])[$sku] === Type::TYPE_CODE + ? $this->isBundleProductChildrenSalable->execute($sku, $stockId) + : $isSalable; + } +diff --git a/vendor/magento/module-inventory-bundle-product/etc/adminhtml/di.xml b/vendor/magento/module-inventory-bundle-product/etc/adminhtml/di.xml +deleted file mode 100644 +index f8f8d0905f09..000000000000 +--- a/vendor/magento/module-inventory-bundle-product/etc/adminhtml/di.xml ++++ /dev/null +@@ -1,13 +0,0 @@ +- +- +- +- +- +- +- +diff --git a/vendor/magento/module-inventory-bundle-product/etc/di.xml b/vendor/magento/module-inventory-bundle-product/etc/di.xml +index 126e580a5981..8d1c59b5b228 100644 +--- a/vendor/magento/module-inventory-bundle-product/etc/di.xml ++++ b/vendor/magento/module-inventory-bundle-product/etc/di.xml +@@ -33,4 +33,7 @@ + + ++ ++ ++ + +diff --git a/vendor/magento/module-inventory-indexer/Model/Queue/UpdateIndexSalabilityStatus.php b/vendor/magento/module-inventory-indexer/Model/Queue/UpdateIndexSalabilityStatus.php +index c0afcd853790..17e0df25fbf9 100644 +--- a/vendor/magento/module-inventory-indexer/Model/Queue/UpdateIndexSalabilityStatus.php ++++ b/vendor/magento/module-inventory-indexer/Model/Queue/UpdateIndexSalabilityStatus.php +@@ -37,22 +37,30 @@ class UpdateIndexSalabilityStatus + */ + private $getParentSkusOfChildrenSkus; + ++ /** ++ * @var ReservationDataFactory ++ */ ++ private $reservationDataFactory; ++ + /** + * @param DefaultStockProviderInterface $defaultStockProvider + * @param IndexProcessor $indexProcessor + * @param UpdateLegacyStock $updateLegacyStock + * @param GetParentSkusOfChildrenSkusInterface $getParentSkusByChildrenSkus ++ * @param ReservationDataFactory $reservationDataFactory + */ + public function __construct( + DefaultStockProviderInterface $defaultStockProvider, + IndexProcessor $indexProcessor, + UpdateLegacyStock $updateLegacyStock, +- GetParentSkusOfChildrenSkusInterface $getParentSkusByChildrenSkus ++ GetParentSkusOfChildrenSkusInterface $getParentSkusByChildrenSkus, ++ ReservationDataFactory $reservationDataFactory + ) { + $this->defaultStockProvider = $defaultStockProvider; + $this->indexProcessor = $indexProcessor; + $this->updateLegacyStock = $updateLegacyStock; + $this->getParentSkusOfChildrenSkus = $getParentSkusByChildrenSkus; ++ $this->reservationDataFactory = $reservationDataFactory; + } + + /** +@@ -65,27 +73,42 @@ public function __construct( + */ + public function execute(ReservationData $reservationData): array + { +- $stockId = $reservationData->getStock(); + $dataForUpdate = []; + if ($reservationData->getSkus()) { +- if ($stockId !== $this->defaultStockProvider->getId()) { +- $dataForUpdate = $this->indexProcessor->execute($reservationData, $stockId); +- } else { +- $dataForUpdate = $this->updateLegacyStock->execute($reservationData); +- } +- ++ $dataForUpdate = $this->processReservation($reservationData); + if ($dataForUpdate) { + $parentSkusOfChildrenSkus = $this->getParentSkusOfChildrenSkus->execute(array_keys($dataForUpdate)); + if ($parentSkusOfChildrenSkus) { + $parentSkus = array_values($parentSkusOfChildrenSkus); + $parentSkus = array_merge(...$parentSkus); + $parentSkus = array_unique($parentSkus); +- $parentSkusAffected = array_fill_keys($parentSkus, true); +- $dataForUpdate = array_merge($dataForUpdate, $parentSkusAffected); ++ $parentReservationData = $this->reservationDataFactory->create([ ++ 'skus' => $parentSkus, ++ 'stock' => $reservationData->getStock(), ++ ]); ++ $parentDataForUpdate = $this->processReservation($parentReservationData); ++ $dataForUpdate += $parentDataForUpdate + array_fill_keys($parentSkus, true); + } + } + } + + return $dataForUpdate; + } ++ ++ /** ++ * Reindex reservation data. ++ * ++ * @param ReservationData $reservationData ++ * @return array ++ */ ++ private function processReservation(ReservationData $reservationData): array ++ { ++ if ($reservationData->getStock() !== $this->defaultStockProvider->getId()) { ++ $dataForUpdate = $this->indexProcessor->execute($reservationData, $reservationData->getStock()); ++ } else { ++ $dataForUpdate = $this->updateLegacyStock->execute($reservationData); ++ } ++ ++ return $dataForUpdate; ++ } + } diff --git a/patches/os/ACSD-56623_2.4.5-p5.patch b/patches/os/ACSD-56623_2.4.5-p5.patch new file mode 100644 index 00000000..34e2940f --- /dev/null +++ b/patches/os/ACSD-56623_2.4.5-p5.patch @@ -0,0 +1,345 @@ +diff --git a/vendor/magento/module-quote/Model/CartLockedException.php b/vendor/magento/module-quote/Model/CartLockedException.php +new file mode 100644 +index 000000000000..7f2aa8778426 +--- /dev/null ++++ b/vendor/magento/module-quote/Model/CartLockedException.php +@@ -0,0 +1,18 @@ ++lockManager = $lockManager; ++ $this->logger = $logger; ++ } ++ ++ /** ++ * @inheritDoc ++ */ ++ public function execute(int $id, callable $callable, array $args = []) ++ { ++ $lockName = 'cart_lock_' . $id; ++ ++ if (!$this->lockManager->lock($lockName, 0)) { ++ $this->logger->critical( ++ 'The cart is locked for processing, the request has been aborted. Quote ID: ' . $id ++ ); ++ throw new CartLockedException( ++ __('The cart is locked for processing. Please try again later.') ++ ); ++ } ++ ++ try { ++ $result = $callable(...$args); ++ } finally { ++ $this->lockManager->unlock($lockName); ++ } ++ ++ return $result; ++ } ++} +diff --git a/vendor/magento/module-quote/Model/CartMutexInterface.php b/vendor/magento/module-quote/Model/CartMutexInterface.php +new file mode 100644 +index 000000000000..6681c6388298 +--- /dev/null ++++ b/vendor/magento/module-quote/Model/CartMutexInterface.php +@@ -0,0 +1,25 @@ ++eventManager = $eventManager; + $this->submitQuoteValidator = $submitQuoteValidator; +@@ -257,6 +265,8 @@ public function __construct( + ->get(RequestInterface::class); + $this->remoteAddress = $remoteAddress ?: ObjectManager::getInstance() + ->get(RemoteAddress::class); ++ $this->cartMutex = $cartMutex ++ ?? ObjectManager::getInstance()->get(CartMutexInterface::class); + } + + /** +@@ -382,10 +392,28 @@ protected function createCustomerCart($customerId, $storeId) + + /** + * @inheritdoc ++ */ ++ public function placeOrder($cartId, PaymentInterface $paymentMethod = null) ++ { ++ return $this->cartMutex->execute( ++ (int)$cartId, ++ \Closure::fromCallable([$this, 'placeOrderRun']), ++ [$cartId, $paymentMethod] ++ ); ++ } ++ ++ /** ++ * Places an order for a specified cart. ++ * ++ * @param int $cartId The cart ID. ++ * @param PaymentInterface|null $paymentMethod ++ * @throws CouldNotSaveException ++ * @return int Order ID. + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.NPathComplexity) ++ * @SuppressWarnings(PHPMD.UnusedPrivateMethod) + */ +- public function placeOrder($cartId, PaymentInterface $paymentMethod = null) ++ private function placeOrderRun($cartId, PaymentInterface $paymentMethod = null) + { + $quote = $this->quoteRepository->getActive($cartId); + $customer = $quote->getCustomer(); +diff --git a/vendor/magento/module-quote/Model/QuoteRepository.php b/vendor/magento/module-quote/Model/QuoteRepository.php +index b1bef834197a..f4694d6bed25 100644 +--- a/vendor/magento/module-quote/Model/QuoteRepository.php ++++ b/vendor/magento/module-quote/Model/QuoteRepository.php +@@ -12,6 +12,7 @@ + use Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface; + use Magento\Framework\Api\SearchCriteriaInterface; + use Magento\Framework\App\ObjectManager; ++use Magento\Framework\App\RequestSafetyInterface; + use Magento\Framework\Exception\InputException; + use Magento\Framework\Exception\NoSuchEntityException; + use Magento\Quote\Api\CartRepositoryInterface; +@@ -93,6 +94,11 @@ class QuoteRepository implements CartRepositoryInterface + */ + private $cartFactory; + ++ /** ++ * @var RequestSafetyInterface ++ */ ++ private $requestSafety; ++ + /** + * Constructor + * +@@ -104,6 +110,7 @@ class QuoteRepository implements CartRepositoryInterface + * @param CollectionProcessorInterface|null $collectionProcessor + * @param QuoteCollectionFactory|null $quoteCollectionFactory + * @param CartInterfaceFactory|null $cartFactory ++ * @param RequestSafetyInterface|null $requestSafety + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function __construct( +@@ -114,7 +121,8 @@ public function __construct( + JoinProcessorInterface $extensionAttributesJoinProcessor, + CollectionProcessorInterface $collectionProcessor = null, + QuoteCollectionFactory $quoteCollectionFactory = null, +- CartInterfaceFactory $cartFactory = null ++ CartInterfaceFactory $cartFactory = null, ++ RequestSafetyInterface $requestSafety = null + ) { + $this->quoteFactory = $quoteFactory; + $this->storeManager = $storeManager; +@@ -125,6 +133,7 @@ public function __construct( + $this->quoteCollectionFactory = $quoteCollectionFactory ?: ObjectManager::getInstance() + ->get(QuoteCollectionFactory::class); + $this->cartFactory = $cartFactory ?: ObjectManager::getInstance()->get(CartInterfaceFactory::class); ++ $this->requestSafety = $requestSafety ?: ObjectManager::getInstance()->get(RequestSafetyInterface::class); + } + + /** +@@ -165,6 +174,7 @@ public function getForCustomer($customerId, array $sharedStoreIds = []) + */ + public function getActive($cartId, array $sharedStoreIds = []) + { ++ $this->validateCachedActiveQuote((int)$cartId); + $quote = $this->get($cartId, $sharedStoreIds); + if (!$quote->getIsActive()) { + throw NoSuchEntityException::singleField('cartId', $cartId); +@@ -172,11 +182,33 @@ public function getActive($cartId, array $sharedStoreIds = []) + return $quote; + } + ++ /** ++ * Validates if cached quote is still active. ++ * ++ * @param int $cartId ++ * @return void ++ * @throws NoSuchEntityException ++ */ ++ private function validateCachedActiveQuote(int $cartId): void ++ { ++ if (isset($this->quotesById[$cartId]) && !$this->requestSafety->isSafeMethod()) { ++ $quote = $this->cartFactory->create(); ++ if (is_callable([$quote, 'setSharedStoreIds'])) { ++ $quote->setSharedStoreIds(['*']); ++ } ++ $quote->loadActive($cartId); ++ if (!$quote->getIsActive()) { ++ throw NoSuchEntityException::singleField('cartId', $cartId); ++ } ++ } ++ } ++ + /** + * @inheritdoc + */ + public function getActiveForCustomer($customerId, array $sharedStoreIds = []) + { ++ $this->validateCachedCustomerActiveQuote((int)$customerId); + $quote = $this->getForCustomer($customerId, $sharedStoreIds); + if (!$quote->getIsActive()) { + throw NoSuchEntityException::singleField('customerId', $customerId); +@@ -184,6 +216,28 @@ public function getActiveForCustomer($customerId, array $sharedStoreIds = []) + return $quote; + } + ++ /** ++ * Validates if cached customer quote is still active. ++ * ++ * @param int $customerId ++ * @return void ++ * @throws NoSuchEntityException ++ */ ++ private function validateCachedCustomerActiveQuote(int $customerId): void ++ { ++ if (isset($this->quotesByCustomerId[$customerId]) && !$this->requestSafety->isSafeMethod()) { ++ $quoteId = $this->quotesByCustomerId[$customerId]->getId(); ++ $quote = $this->cartFactory->create(); ++ if (is_callable([$quote, 'setSharedStoreIds'])) { ++ $quote->setSharedStoreIds(['*']); ++ } ++ $quote->loadActive($quoteId); ++ if (!$quote->getIsActive()) { ++ throw NoSuchEntityException::singleField('customerId', $customerId); ++ } ++ } ++ } ++ + /** + * @inheritdoc + */ +diff --git a/vendor/magento/module-quote/etc/di.xml b/vendor/magento/module-quote/etc/di.xml +index 01821c63801a..5e945d583d58 100644 +--- a/vendor/magento/module-quote/etc/di.xml ++++ b/vendor/magento/module-quote/etc/di.xml +@@ -45,6 +45,7 @@ + + + ++ + + + +diff --git a/vendor/magento/module-quote/i18n/en_US.csv b/vendor/magento/module-quote/i18n/en_US.csv +index c8da332f729c..836701e5becb 100644 +--- a/vendor/magento/module-quote/i18n/en_US.csv ++++ b/vendor/magento/module-quote/i18n/en_US.csv +@@ -69,4 +69,5 @@ Carts,Carts + "Validated Country Code","Validated Country Code" + "Validated Vat Number","Validated Vat Number" + "Invalid Quote Item id %1","Invalid Quote Item id %1" ++"The cart is locked for processing. Please try again later.","The cart is locked for processing. Please try again later." + "Invalid quote address id %1","Invalid quote address id %1" diff --git a/patches/os/ACSD-56635_2.4.6-p3.patch b/patches/os/ACSD-56635_2.4.6-p3.patch new file mode 100644 index 00000000..c6aabc53 --- /dev/null +++ b/patches/os/ACSD-56635_2.4.6-p3.patch @@ -0,0 +1,194 @@ +diff --git a/vendor/magento/module-customer-import-export/Model/Import/AbstractCustomer.php b/vendor/magento/module-customer-import-export/Model/Import/AbstractCustomer.php +index 8fb08cecc54c..1b5674b85fe4 100644 +--- a/vendor/magento/module-customer-import-export/Model/Import/AbstractCustomer.php ++++ b/vendor/magento/module-customer-import-export/Model/Import/AbstractCustomer.php +@@ -6,6 +6,8 @@ + + namespace Magento\CustomerImportExport\Model\Import; + ++use Magento\Customer\Model\Config\Share; ++use Magento\Framework\App\ObjectManager; + use Magento\Framework\Validator\EmailAddress; + use Magento\Framework\Validator\ValidateException; + use Magento\Framework\Validator\ValidatorChain; +@@ -87,6 +89,11 @@ abstract class AbstractCustomer extends \Magento\ImportExport\Model\Import\Entit + */ + protected $masterAttributeCode = '_email'; + ++ /** ++ * @var Share ++ */ ++ private $configShare; ++ + /** + * @param \Magento\Framework\Stdlib\StringUtils $string + * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig +@@ -99,6 +106,7 @@ abstract class AbstractCustomer extends \Magento\ImportExport\Model\Import\Entit + * @param \Magento\Eav\Model\Config $eavConfig + * @param \Magento\CustomerImportExport\Model\ResourceModel\Import\Customer\StorageFactory $storageFactory + * @param array $data ++ * @param Share|null $configShare + * @SuppressWarnings(PHPMD.ExcessiveParameterList) + */ + public function __construct( +@@ -112,7 +120,8 @@ public function __construct( + \Magento\ImportExport\Model\Export\Factory $collectionFactory, + \Magento\Eav\Model\Config $eavConfig, + \Magento\CustomerImportExport\Model\ResourceModel\Import\Customer\StorageFactory $storageFactory, +- array $data = [] ++ array $data = [], ++ ?Share $configShare = null + ) { + $this->_storageFactory = $storageFactory; + parent::__construct( +@@ -127,7 +136,7 @@ public function __construct( + $eavConfig, + $data + ); +- ++ $this->configShare = $configShare ?? ObjectManager::getInstance()->get(Share::class); + $this->addMessageTemplate(self::ERROR_WEBSITE_IS_EMPTY, __('Please specify a website.')); + $this->addMessageTemplate( + self::ERROR_EMAIL_IS_EMPTY, +@@ -174,6 +183,11 @@ protected function _initCustomers(array $data) + protected function _getCustomerId($email, $websiteCode) + { + $email = strtolower(trim($email)); ++ ++ if ($this->configShare->isGlobalScope()) { ++ return $this->_customerStorage->getCustomerIdByEmail($email); ++ } ++ + if (isset($this->_websiteCodeToId[$websiteCode])) { + $websiteId = $this->_websiteCodeToId[$websiteCode]; + return $this->_customerStorage->getCustomerId($email, $websiteId); +diff --git a/vendor/magento/module-customer-import-export/Model/Import/Address.php b/vendor/magento/module-customer-import-export/Model/Import/Address.php +index 4ba93557f854..88483af46115 100644 +--- a/vendor/magento/module-customer-import-export/Model/Import/Address.php ++++ b/vendor/magento/module-customer-import-export/Model/Import/Address.php +@@ -6,6 +6,7 @@ + + namespace Magento\CustomerImportExport\Model\Import; + ++use Magento\Customer\Model\Config\Share; + use Magento\Customer\Model\ResourceModel\Address\Attribute\Source\CountryWithWebsites as CountryWithWebsitesSource; + use Magento\Eav\Model\Entity\Attribute\AbstractAttribute; + use Magento\Framework\App\ObjectManager; +@@ -272,7 +273,8 @@ class Address extends AbstractCustomer + * @param array $data + * @param CountryWithWebsitesSource|null $countryWithWebsites + * @param AddressStorage|null $addressStorage +- * @param Processor $indexerProcessor ++ * @param Processor|null $indexerProcessor ++ * @param Share|null $configShare + * + * @SuppressWarnings(PHPMD.NPathComplexity) + * @SuppressWarnings(PHPMD.ExcessiveParameterList) +@@ -297,7 +299,8 @@ public function __construct( + array $data = [], + ?CountryWithWebsitesSource $countryWithWebsites = null, + ?AddressStorage $addressStorage = null, +- ?Processor $indexerProcessor = null ++ ?Processor $indexerProcessor = null, ++ ?Share $configShare = null + ) { + $this->_customerFactory = $customerFactory; + $this->_addressFactory = $addressFactory; +@@ -325,7 +328,8 @@ public function __construct( + $collectionFactory, + $eavConfig, + $storageFactory, +- $data ++ $data, ++ $configShare + ); + + $this->_entityTable = isset( +diff --git a/vendor/magento/module-customer-import-export/Model/ResourceModel/Import/Customer/Storage.php b/vendor/magento/module-customer-import-export/Model/ResourceModel/Import/Customer/Storage.php +index 21a2252257f7..0c16e2010fe5 100644 +--- a/vendor/magento/module-customer-import-export/Model/ResourceModel/Import/Customer/Storage.php ++++ b/vendor/magento/module-customer-import-export/Model/ResourceModel/Import/Customer/Storage.php +@@ -5,6 +5,7 @@ + */ + namespace Magento\CustomerImportExport\Model\ResourceModel\Import\Customer; + ++use Magento\Customer\Api\CustomerRepositoryInterface; + use Magento\Customer\Model\ResourceModel\Customer\Collection as CustomerCollection; + use Magento\Customer\Model\ResourceModel\Customer\CollectionFactory as CustomerCollectionFactory; + use Magento\Framework\DataObject; +@@ -29,6 +30,11 @@ class Storage + */ + protected $_customerIds = []; + ++ /** ++ * @var array ++ */ ++ private $customerIdsByEmail = []; ++ + /** + * Number of items to fetch from db in one query + * +@@ -60,12 +66,19 @@ class Storage + */ + private $customerStoreIds = []; + ++ /** ++ * @var CustomerRepositoryInterface ++ */ ++ private $customerRepository; ++ + /** + * @param CustomerCollectionFactory $collectionFactory ++ * @param CustomerRepositoryInterface $customerRepository + * @param array $data + */ + public function __construct( + CustomerCollectionFactory $collectionFactory, ++ CustomerRepositoryInterface $customerRepository, + array $data = [] + ) { + $this->_customerCollection = isset( +@@ -73,6 +86,7 @@ public function __construct( + ) ? $data['customer_collection'] : $collectionFactory->create(); + $this->_pageSize = isset($data['page_size']) ? (int) $data['page_size'] : 0; + $this->customerCollectionFactory = $collectionFactory; ++ $this->customerRepository = $customerRepository; + } + + /** +@@ -130,7 +144,8 @@ public function addCustomerByArray(array $customer): Storage + /** + * Add customer to array + * +- * @deprecated 100.3.0 @see addCustomerByArray ++ * @deprecated 100.3.0 ++ * @see addCustomerByArray + * @param DataObject $customer + * @return $this + */ +@@ -164,6 +179,25 @@ public function getCustomerId(string $email, int $websiteId) + return false; + } + ++ /** ++ * Find customer ID by email. ++ * ++ * @param string $email ++ * @return bool|int ++ */ ++ public function getCustomerIdByEmail(string $email) ++ { ++ if (!isset($this->customerIdsByEmail[$email])) { ++ try { ++ $this->customerIdsByEmail[$email] = $this->customerRepository->get($email)->getId(); ++ } catch (\Magento\Framework\Exception\NoSuchEntityException $e) { ++ $this->customerIdsByEmail[$email] = false; ++ } ++ } ++ ++ return $this->customerIdsByEmail[$email]; ++ } ++ + /** + * Get previously loaded customer id. + * diff --git a/patches/os/ACSD-56741_2.4.6-p3.patch b/patches/os/ACSD-56741_2.4.6-p3.patch new file mode 100644 index 00000000..2d4a7825 --- /dev/null +++ b/patches/os/ACSD-56741_2.4.6-p3.patch @@ -0,0 +1,17 @@ +diff --git a/vendor/magento/framework/Mview/TriggerCleaner.php b/vendor/magento/framework/Mview/TriggerCleaner.php +index 81ccf9a4991a..aba8d5fd407f 100644 +--- a/vendor/magento/framework/Mview/TriggerCleaner.php ++++ b/vendor/magento/framework/Mview/TriggerCleaner.php +@@ -87,8 +87,10 @@ public function removeTriggers(): bool + $remainingTriggers = array_diff_key($this->DbTriggers, $this->processedTriggers); + foreach ($remainingTriggers as $trigger) { + $view = $this->createViewByTableName($trigger['EVENT_OBJECT_TABLE']); +- $view->unsubscribe(); +- $view->getState()->delete(); ++ if ($view->getActionClass()) { ++ $view->unsubscribe(); ++ $view->getState()->delete(); ++ } + } + + return true; diff --git a/patches/os/ACSD-56790_1.2.6-p1.patch b/patches/os/ACSD-56790_1.2.6-p1.patch new file mode 100644 index 00000000..a6ca6f57 --- /dev/null +++ b/patches/os/ACSD-56790_1.2.6-p1.patch @@ -0,0 +1,41 @@ +diff --git a/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Sorting/OutStockBottomSortingPlugin.php b/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Sorting/OutStockBottomSortingPlugin.php +index 314143fab271..b627691b1a2f 100644 +--- a/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Sorting/OutStockBottomSortingPlugin.php ++++ b/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Sorting/OutStockBottomSortingPlugin.php +@@ -16,6 +16,7 @@ + use Magento\InventorySalesApi\Api\StockResolverInterface; + use Magento\Store\Model\StoreManagerInterface; + use Magento\VisualMerchandiser\Model\Sorting\OutStockBottom; ++use Zend_Db_Select_Exception; + + /** + * This plugin adds multi-source stock to the Visual Merchandiser out stock to bottom sorting. +@@ -68,6 +69,7 @@ public function __construct( + * @param Collection $collection + * @return Collection + * @throws LocalizedException ++ * @throws Zend_Db_Select_Exception + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function aroundSort(OutStockBottom $subject, callable $proceed, Collection $collection): Collection +@@ -80,13 +82,16 @@ public function aroundSort(OutStockBottom $subject, callable $proceed, Collectio + return $proceed($collection); + } + +- $stockTable = $this->stockIndexTableNameResolver->execute((int)$stock->getStockId()); +- $collection->getSelect() +- ->joinLeft( ++ $select = $collection->getSelect(); ++ if (!array_key_exists('inventory_stock', $select->getPart(Select::FROM))) { ++ $stockTable = $this->stockIndexTableNameResolver->execute((int)$stock->getStockId()); ++ $select->joinLeft( + ['inventory_stock' => $stockTable], + 'inventory_stock.sku = e.sku', + [] +- )->reset(Select::ORDER) ++ ); ++ } ++ $select->reset(Select::ORDER) + ->order('inventory_stock.is_salable ' . Select::SQL_DESC); + + return $collection; diff --git a/patches/os/ACSD-56842_2.4.4-p6.patch b/patches/os/ACSD-56842_2.4.4-p6.patch new file mode 100644 index 00000000..a6bebe87 --- /dev/null +++ b/patches/os/ACSD-56842_2.4.4-p6.patch @@ -0,0 +1,101 @@ +diff --git a/setup/src/Magento/Setup/Module/Di/Code/Scanner/XmlScanner.php b/setup/src/Magento/Setup/Module/Di/Code/Scanner/XmlScanner.php +index a606c26..5baefb1 100644 +--- a/setup/src/Magento/Setup/Module/Di/Code/Scanner/XmlScanner.php ++++ b/setup/src/Magento/Setup/Module/Di/Code/Scanner/XmlScanner.php +@@ -1,4 +1,6 @@ + query($virtualTypeQuery) as $virtualNode) { +- $virtualTypes[] = $virtualNode->nodeValue; +- } +- +- $regex = '/^(.*)\\\(.*)Proxy$/'; +- $query = "/config/preference[ php:functionString('preg_match', '{$regex}', @type) > 0]/@type | " . +- "//argument[@xsi:type='object' and php:functionString('preg_match', '{$regex}', text()) > 0] |" . +- "//item[@xsi:type='object' and php:functionString('preg_match', '{$regex}', text()) > 0] |" . +- "/config/virtualType[ php:functionString('preg_match', '{$regex}', @type) > 0]/@type"; +- /** @var \DOMNode $node */ +- foreach ($xpath->query($query) as $node) { +- $output[] = $node->nodeValue; ++ $virtualTypes[] = ltrim($virtualNode->nodeValue, '\\'); + } + +- $factoriesOutput = array_merge($factoriesOutput, $this->scanFactories($xpath)); ++ $output[] = $this->scanProxies($xpath); ++ $factoriesOutput[] = $this->scanFactories($xpath); + } + +- $output = array_unique($output); +- $factoriesOutput = array_unique($factoriesOutput); ++ $output = array_unique(array_merge([], ...$output)); ++ $factoriesOutput = array_unique(array_merge([], ...$factoriesOutput)); + $factoriesOutput = array_diff($factoriesOutput, $virtualTypes); + return array_merge($this->_filterEntities($output), $factoriesOutput); + } + + /** +- * Scan factories from all di.xml and retrieve non virtual one ++ * Scan proxies from all di.xml ++ * ++ * @param \DOMXPath $xpath ++ * @return array ++ */ ++ private function scanProxies(\DOMXPath $xpath): array ++ { ++ $result = []; ++ $regex = '/^(\s+)?(.*)\\\(.*)Proxy(\s+)?$/'; ++ $query = "/config/preference[ php:functionString('preg_match', '{$regex}', @type) > 0]/@type | " . ++ "//argument[@xsi:type='object' and php:functionString('preg_match', '{$regex}', text()) > 0] |" . ++ "//item[@xsi:type='object' and php:functionString('preg_match', '{$regex}', text()) > 0] |" . ++ "/config/virtualType[ php:functionString('preg_match', '{$regex}', @type) > 0]/@type"; ++ /** @var \DOMNode $node */ ++ foreach ($xpath->query($query) as $node) { ++ $result[] = ltrim(trim($node->nodeValue), '\\'); ++ } ++ return $result; ++ } ++ ++ /** ++ * Scan factories from all di.xml and retrieve non-virtual one + * + * @param \DOMXPath $domXpath + * @return array + */ +- private function scanFactories(\DOMXPath $domXpath) ++ private function scanFactories(\DOMXPath $domXpath): array + { + $output = []; +- $regex = '/^(.*)Factory$/'; ++ $regex = '/^(\s+)?(.*)Factory(\s+)?$/'; + $query = "//argument[@xsi:type='object' and php:functionString('preg_match', '{$regex}', text()) > 0] |" . + "//item[@xsi:type='object' and php:functionString('preg_match', '{$regex}', text()) > 0]"; ++ + foreach ($domXpath->query($query) as $node) { +- $output[] = $node->nodeValue; ++ $output[] = ltrim(trim($node->nodeValue), '\\'); + } + + return $output; +@@ -94,13 +109,13 @@ class XmlScanner implements ScannerInterface + $entitySuffix = '\\' . ucfirst(ProxyGenerator::ENTITY_TYPE); + $filteredEntities = []; + foreach ($output as $className) { +- $entityName = substr($className, -strlen($entitySuffix)) === $entitySuffix ++ $entityName = str_ends_with($className, $entitySuffix) + ? substr($className, 0, -strlen($entitySuffix)) + : $className; + $isClassExists = false; + try { + $isClassExists = class_exists($className); +- } catch (\RuntimeException $e) { ++ } catch (\RuntimeException $e) { //@codingStandardsIgnoreLine + } + if (false === $isClassExists) { + if (class_exists($entityName) || interface_exists($entityName)) { diff --git a/patches/os/ACSD-56886_2.4.5-p5.patch b/patches/os/ACSD-56886_2.4.5-p5.patch new file mode 100644 index 00000000..1da2f153 --- /dev/null +++ b/patches/os/ACSD-56886_2.4.5-p5.patch @@ -0,0 +1,62 @@ +diff --git a/vendor/magento/module-configurable-product/Model/Product/SaveHandler.php b/vendor/magento/module-configurable-product/Model/Product/SaveHandler.php +index 1c470808824a..f2294079d829 100644 +--- a/vendor/magento/module-configurable-product/Model/Product/SaveHandler.php ++++ b/vendor/magento/module-configurable-product/Model/Product/SaveHandler.php +@@ -9,12 +9,14 @@ + use Magento\ConfigurableProduct\Api\OptionRepositoryInterface; + use Magento\ConfigurableProduct\Model\Product\Type\Configurable; + use Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable as ResourceModelConfigurable; ++use Magento\Framework\App\ObjectManager; + use Magento\Framework\EntityManager\Operation\ExtensionInterface; + use Magento\ConfigurableProduct\Api\Data\OptionInterface; + use Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute; ++use Magento\Catalog\Api\ProductRepositoryInterface; + + /** +- * Class SaveHandler ++ * Class SaveHandler to update configurable options + */ + class SaveHandler implements ExtensionInterface + { +@@ -29,20 +31,29 @@ class SaveHandler implements ExtensionInterface + private $resourceModel; + + /** +- * SaveHandler constructor +- * ++ * @var ProductRepositoryInterface ++ */ ++ private $productRepository; ++ ++ /** + * @param ResourceModelConfigurable $resourceModel + * @param OptionRepositoryInterface $optionRepository ++ * @param ProductRepositoryInterface|null $productRepository + */ + public function __construct( + ResourceModelConfigurable $resourceModel, +- OptionRepositoryInterface $optionRepository ++ OptionRepositoryInterface $optionRepository, ++ ?ProductRepositoryInterface $productRepository = null + ) { + $this->resourceModel = $resourceModel; + $this->optionRepository = $optionRepository; ++ $this->productRepository = ++ $productRepository ?: ObjectManager::getInstance()->get(ProductRepositoryInterface::class); + } + + /** ++ * Update product options ++ * + * @param ProductInterface $entity + * @param array $arguments + * @return ProductInterface +@@ -59,6 +70,8 @@ public function execute($entity, $arguments = []) + return $entity; + } + ++ // Refresh product in cache ++ $this->productRepository->get($entity->getSku(), false, null, true); + if ($extensionAttributes->getConfigurableProductOptions() !== null) { + $this->deleteConfigurableProductAttributes($entity); + } diff --git a/patches/os/ACSD-56978_2.4.6-p3.patch b/patches/os/ACSD-56978_2.4.6-p3.patch new file mode 100644 index 00000000..61857850 --- /dev/null +++ b/patches/os/ACSD-56978_2.4.6-p3.patch @@ -0,0 +1,75 @@ +diff --git a/vendor/magento/module-graph-ql-cache/Model/Plugin/View/Layout.php b/vendor/magento/module-graph-ql-cache/Model/Plugin/View/Layout.php +new file mode 100644 +index 000000000000..c2668a5d4d40 +--- /dev/null ++++ b/vendor/magento/module-graph-ql-cache/Model/Plugin/View/Layout.php +@@ -0,0 +1,57 @@ ++cacheableQuery->addCacheTags($block->getIdentities()); ++ } ++ return $result; ++ } ++} +diff --git a/vendor/magento/module-graph-ql-cache/etc/graphql/di.xml b/vendor/magento/module-graph-ql-cache/etc/graphql/di.xml +index 1270ba24c94b..f86a823d85b5 100644 +--- a/vendor/magento/module-graph-ql-cache/etc/graphql/di.xml ++++ b/vendor/magento/module-graph-ql-cache/etc/graphql/di.xml +@@ -29,4 +29,7 @@ + + + ++ ++ ++ + diff --git a/patches/os/ACSD-56979_2.4.6.patch b/patches/os/ACSD-56979_2.4.6.patch new file mode 100644 index 00000000..3f7d4357 --- /dev/null +++ b/patches/os/ACSD-56979_2.4.6.patch @@ -0,0 +1,13 @@ +diff --git a/vendor/magento/module-catalog/Model/ResourceModel/MediaImageDeleteProcessor.php b/vendor/magento/module-catalog/Model/ResourceModel/MediaImageDeleteProcessor.php +index f49ddef01ca7..cfe9fb2cceb0 100644 +--- a/vendor/magento/module-catalog/Model/ResourceModel/MediaImageDeleteProcessor.php ++++ b/vendor/magento/module-catalog/Model/ResourceModel/MediaImageDeleteProcessor.php +@@ -101,7 +101,7 @@ public function execute(DataObject $product): void + */ + private function canDeleteImage(string $file): bool + { +- return $this->productGallery->countImageUses($file) <= 1; ++ return $this->productGallery->countImageUses($file) < 1; + } + + /** diff --git a/patches/os/ACSD-57003_2.4.6-p3.patch b/patches/os/ACSD-57003_2.4.6-p3.patch new file mode 100644 index 00000000..971501cf --- /dev/null +++ b/patches/os/ACSD-57003_2.4.6-p3.patch @@ -0,0 +1,305 @@ +diff --git a/vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Save.php b/vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Save.php +index 63558c0290e2..326245d494c4 100644 +--- a/vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Save.php ++++ b/vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Save.php +@@ -8,7 +8,7 @@ + use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; + use Magento\Backend\App\Action; + use Magento\Sales\Helper\Data as SalesData; +-use Magento\Sales\Model\Order; ++use Magento\Sales\Model\Order\Creditmemo; + use Magento\Sales\Model\Order\Email\Sender\CreditmemoSender; + + class Save extends \Magento\Backend\App\Action implements HttpPostActionInterface +@@ -18,7 +18,7 @@ class Save extends \Magento\Backend\App\Action implements HttpPostActionInterfac + * + * @see _isAllowed() + */ +- const ADMIN_RESOURCE = 'Magento_Sales::sales_creditmemo'; ++ public const ADMIN_RESOURCE = 'Magento_Sales::sales_creditmemo'; + + /** + * @var \Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader +@@ -85,6 +85,7 @@ public function execute() + $this->creditmemoLoader->setCreditmemo($this->getRequest()->getParam('creditmemo')); + $this->creditmemoLoader->setInvoiceId($this->getRequest()->getParam('invoice_id')); + $creditmemo = $this->creditmemoLoader->load(); ++ $this->adjustCreditMemoItemQuantities($creditmemo); + if ($creditmemo) { + if (!$creditmemo->isValidGrandTotal()) { + throw new \Magento\Framework\Exception\LocalizedException( +@@ -141,4 +142,33 @@ public function execute() + $resultRedirect->setPath('sales/*/new', ['_current' => true]); + return $resultRedirect; + } ++ ++ /** ++ * Adjust credit memo parent item quantities with children quantities ++ * ++ * @param Creditmemo $creditMemo ++ * @return void ++ */ ++ private function adjustCreditMemoItemQuantities(Creditmemo $creditMemo): void ++ { ++ $items = $creditMemo->getAllItems(); ++ $parentQuantities = []; ++ foreach ($items as $item) { ++ if ($parentId = $item->getOrderItem()->getParentItemId()) { ++ if (empty($parentQuantities[$parentId])) { ++ $parentQuantities[$parentId] = $item->getQty(); ++ } else { ++ $parentQuantities[$parentId] += $item->getQty(); ++ } ++ } ++ } ++ ++ foreach ($parentQuantities as $parentId => $quantity) { ++ foreach ($items as $item) { ++ if ($item->getOrderItemId() == $parentId) { ++ $item->setQty($quantity); ++ } ++ } ++ } ++ } + } +diff --git a/vendor/magento/module-sales/Model/Order.php b/vendor/magento/module-sales/Model/Order.php +index afec030075ab..8875899575cc 100644 +--- a/vendor/magento/module-sales/Model/Order.php ++++ b/vendor/magento/module-sales/Model/Order.php +@@ -816,7 +816,6 @@ public function canComment() + * Retrieve order shipment availability + * + * @return bool +- * @SuppressWarnings(PHPMD.CyclomaticComplexity) + */ + public function canShip() + { +@@ -832,27 +831,26 @@ public function canShip() + return false; + } + ++ return $this->checkItemShipping(); ++ } ++ ++ /** ++ * Check if at least one of the order items can be shipped ++ * ++ * @return bool ++ */ ++ private function checkItemShipping(): bool ++ { + foreach ($this->getAllItems() as $item) { + $qtyToShip = !$item->getParentItem() || $item->getParentItem()->getProductType() !== Type::TYPE_BUNDLE ? + $item->getQtyToShip() : $item->getSimpleQtyToShip(); + +- if ($qtyToShip > 0 && !$item->getIsVirtual() && +- !$item->getLockedDoShip() && !$this->isRefunded($item)) { ++ if ($qtyToShip > 0 && !$item->getIsVirtual() && !$item->getLockedDoShip()) { + return true; + } + } +- return false; +- } + +- /** +- * Check if item is refunded. +- * +- * @param OrderItemInterface $item +- * @return bool +- */ +- private function isRefunded(OrderItemInterface $item) +- { +- return $item->getQtyRefunded() == $item->getQtyOrdered(); ++ return false; + } + + /** +diff --git a/vendor/magento/module-sales/Model/Order/Item.php b/vendor/magento/module-sales/Model/Order/Item.php +index bc55b2229770..2b4e008d0324 100644 +--- a/vendor/magento/module-sales/Model/Order/Item.php ++++ b/vendor/magento/module-sales/Model/Order/Item.php +@@ -24,36 +24,38 @@ + */ + class Item extends AbstractModel implements OrderItemInterface + { +- const STATUS_PENDING = 1; ++ public const STATUS_PENDING = 1; + + // No items shipped, invoiced, canceled, refunded nor backordered +- const STATUS_SHIPPED = 2; ++ public const STATUS_SHIPPED = 2; + + // When qty ordered - [qty canceled + qty returned] = qty shipped +- const STATUS_INVOICED = 9; ++ public const STATUS_INVOICED = 9; + + // When qty ordered - [qty canceled + qty returned] = qty invoiced +- const STATUS_BACKORDERED = 3; ++ public const STATUS_BACKORDERED = 3; + + // When qty ordered - [qty canceled + qty returned] = qty backordered +- const STATUS_CANCELED = 5; ++ public const STATUS_CANCELED = 5; + + // When qty ordered = qty canceled +- const STATUS_PARTIAL = 6; ++ public const STATUS_PARTIAL = 6; + + // If [qty shipped or(max of two) qty invoiced + qty canceled + qty returned] + // < qty ordered +- const STATUS_MIXED = 7; ++ public const STATUS_MIXED = 7; + + // All other combinations +- const STATUS_REFUNDED = 8; ++ public const STATUS_REFUNDED = 8; + + // When qty ordered = qty refunded +- const STATUS_RETURNED = 4; ++ public const STATUS_RETURNED = 4; + +- // When qty ordered = qty returned // not used at the moment +- +- // When qty ordered = qty returned // not used at the moment ++ /** ++ * When qty ordered = qty returned // not used at the moment ++ * ++ * @var string ++ */ + protected $_eventPrefix = 'sales_order_item'; + + /** +diff --git a/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php b/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php +index 51c45ed5e5a0..c83f262596e3 100644 +--- a/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php ++++ b/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php +@@ -18,84 +18,87 @@ class State + * + * @param Order $order + * @return $this +- * @SuppressWarnings(PHPMD.CyclomaticComplexity) +- * @SuppressWarnings(PHPMD.NPathComplexity) + */ + public function check(Order $order) + { + $currentState = $order->getState(); +- if ($currentState == Order::STATE_NEW && $order->getIsInProcess()) { ++ if ($this->checkForProcessingState($order, $currentState)) { + $order->setState(Order::STATE_PROCESSING) + ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_PROCESSING)); + $currentState = Order::STATE_PROCESSING; + } ++ if ($order->isCanceled() || $order->canUnhold() || $order->canInvoice()) { ++ return $this; ++ } ++ ++ if ($this->checkForClosedState($order, $currentState)) { ++ $order->setState(Order::STATE_CLOSED) ++ ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_CLOSED)); ++ return $this; ++ } + +- if (!$order->isCanceled() && !$order->canUnhold() && !$order->canInvoice()) { +- if (in_array($currentState, [Order::STATE_PROCESSING, Order::STATE_COMPLETE]) +- && !$order->canCreditmemo() +- && !$order->canShip() +- && $order->getIsNotVirtual() +- ) { +- $order->setState(Order::STATE_CLOSED) +- ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_CLOSED)); +- } elseif ($currentState === Order::STATE_PROCESSING +- && (!$order->canShip() || $this->isPartiallyRefundedOrderShipped($order)) +- ) { +- $order->setState(Order::STATE_COMPLETE) +- ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_COMPLETE)); +- } elseif ($order->getIsVirtual() && $order->getStatus() === Order::STATE_CLOSED) { +- $order->setState(Order::STATE_CLOSED); +- } ++ if ($this->checkForCompleteState($order, $currentState)) { ++ $order->setState(Order::STATE_COMPLETE) ++ ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_COMPLETE)); ++ return $this; + } ++ + return $this; + } + + /** +- * Check if all items are remaining items after partially refunded are shipped ++ * Check if order can be automatically switched to complete state + * + * @param Order $order ++ * @param string|null $currentState + * @return bool + */ +- public function isPartiallyRefundedOrderShipped(Order $order): bool ++ private function checkForCompleteState(Order $order, ?string $currentState): bool + { +- $isPartiallyRefundedOrderShipped = false; +- if ($this->getShippedItems($order) > 0 +- && $order->getTotalQtyOrdered() <= $this->getRefundedItems($order) + $this->getShippedItems($order)) { +- $isPartiallyRefundedOrderShipped = true; ++ if ($currentState === Order::STATE_PROCESSING && !$order->canShip()) { ++ return true; + } + +- return $isPartiallyRefundedOrderShipped; ++ return false; + } + + /** +- * Get all refunded items number ++ * Check if order can be automatically switched to closed state + * + * @param Order $order +- * @return int ++ * @param string|null $currentState ++ * @return bool + */ +- private function getRefundedItems(Order $order): int ++ private function checkForClosedState(Order $order, ?string $currentState): bool + { +- $numOfRefundedItems = 0; +- foreach ($order->getAllItems() as $item) { +- if ($item->getProductType() == 'simple') { +- $numOfRefundedItems += (int)$item->getQtyRefunded(); +- } ++ if (in_array($currentState, [Order::STATE_PROCESSING, Order::STATE_COMPLETE]) ++ && !$order->canCreditmemo() ++ && !$order->canShip() ++ && $order->getIsNotVirtual() ++ ) { ++ return true; + } +- return $numOfRefundedItems; ++ ++ if ($order->getIsVirtual() && $order->getStatus() === Order::STATE_CLOSED) { ++ return true; ++ } ++ ++ return false; + } + + /** +- * Get all shipped items number ++ * Check if order can be automatically switched to processing state + * + * @param Order $order +- * @return int ++ * @param string|null $currentState ++ * @return bool + */ +- private function getShippedItems(Order $order): int ++ private function checkForProcessingState(Order $order, ?string $currentState): bool + { +- $numOfShippedItems = 0; +- foreach ($order->getAllItems() as $item) { +- $numOfShippedItems += (int)$item->getQtyShipped(); ++ if ($currentState == Order::STATE_NEW && $order->getIsInProcess()) { ++ return true; + } +- return $numOfShippedItems; ++ ++ return false; + } + } diff --git a/patches/os/ACSD-57074_2.4.6-p3.patch b/patches/os/ACSD-57074_2.4.6-p3.patch new file mode 100644 index 00000000..75e9e268 --- /dev/null +++ b/patches/os/ACSD-57074_2.4.6-p3.patch @@ -0,0 +1,15 @@ +diff --git a/vendor/magento/module-open-search/Model/Adapter/DynamicTemplates/PriceMapper.php b/vendor/magento/module-open-search/Model/Adapter/DynamicTemplates/PriceMapper.php +index 03ced99cc632..545d8b95c006 100644 +--- a/vendor/magento/module-open-search/Model/Adapter/DynamicTemplates/PriceMapper.php ++++ b/vendor/magento/module-open-search/Model/Adapter/DynamicTemplates/PriceMapper.php +@@ -19,7 +19,8 @@ public function processTemplates(array $templates): array + { + $templates[] = [ + 'price_mapping' => [ +- 'match' => 'price_*', ++ "match_pattern" => "regex", ++ 'match' => 'price_\\d+_\\d+', + 'match_mapping_type' => 'string', + 'mapping' => [ + 'type' => 'double', + diff --git a/patches/os/ACSD-57086_2.4.5-p5.patch b/patches/os/ACSD-57086_2.4.5-p5.patch new file mode 100644 index 00000000..9b2fd606 --- /dev/null +++ b/patches/os/ACSD-57086_2.4.5-p5.patch @@ -0,0 +1,227 @@ +diff --git a/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/GuestValidation.php b/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/GuestValidation.php +index 95330c9d0138..f7bede315042 100644 +--- a/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/GuestValidation.php ++++ b/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/GuestValidation.php +@@ -6,7 +6,17 @@ + + namespace Magento\CheckoutAgreements\Model\Checkout\Plugin; + ++use Magento\Checkout\Api\AgreementsValidatorInterface; ++use Magento\Checkout\Api\GuestPaymentInformationManagementInterface; ++use Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface; + use Magento\CheckoutAgreements\Model\AgreementsProvider; ++use Magento\Framework\App\Config\ScopeConfigInterface; ++use Magento\Framework\Exception\CouldNotSaveException; ++use Magento\Framework\Exception\NoSuchEntityException; ++use Magento\Quote\Api\Data\AddressInterface; ++use Magento\Quote\Api\Data\PaymentInterface; ++use Magento\Quote\Api\GuestCartRepositoryInterface; ++use Magento\Store\Model\App\Emulation; + use Magento\Store\Model\ScopeInterface; + use Magento\CheckoutAgreements\Model\Api\SearchCriteria\ActiveStoreAgreementsFilter; + +@@ -40,62 +50,85 @@ class GuestValidation + private $activeStoreAgreementsFilter; + + /** +- * @param \Magento\Checkout\Api\AgreementsValidatorInterface $agreementsValidator +- * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfiguration +- * @param \Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface $checkoutAgreementsList ++ * @var GuestCartRepositoryInterface ++ */ ++ private GuestCartRepositoryInterface $quoteRepository; ++ ++ /** ++ * @var Emulation ++ */ ++ private Emulation $storeEmulation; ++ ++ /** ++ * @param AgreementsValidatorInterface $agreementsValidator ++ * @param ScopeConfigInterface $scopeConfiguration ++ * @param CheckoutAgreementsListInterface $checkoutAgreementsList + * @param ActiveStoreAgreementsFilter $activeStoreAgreementsFilter ++ * @param GuestCartRepositoryInterface $quoteRepository ++ * @param Emulation $storeEmulation + */ + public function __construct( + \Magento\Checkout\Api\AgreementsValidatorInterface $agreementsValidator, + \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfiguration, + \Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface $checkoutAgreementsList, +- \Magento\CheckoutAgreements\Model\Api\SearchCriteria\ActiveStoreAgreementsFilter $activeStoreAgreementsFilter ++ \Magento\CheckoutAgreements\Model\Api\SearchCriteria\ActiveStoreAgreementsFilter $activeStoreAgreementsFilter, ++ GuestCartRepositoryInterface $quoteRepository, ++ Emulation $storeEmulation + ) { + $this->agreementsValidator = $agreementsValidator; + $this->scopeConfiguration = $scopeConfiguration; + $this->checkoutAgreementsList = $checkoutAgreementsList; + $this->activeStoreAgreementsFilter = $activeStoreAgreementsFilter; ++ $this->quoteRepository = $quoteRepository; ++ $this->storeEmulation = $storeEmulation; + } + + /** + * Validates agreements before save payment information and order placing. + * +- * @param \Magento\Checkout\Api\GuestPaymentInformationManagementInterface $subject ++ * @param GuestPaymentInformationManagementInterface $subject + * @param string $cartId + * @param string $email +- * @param \Magento\Quote\Api\Data\PaymentInterface $paymentMethod +- * @param \Magento\Quote\Api\Data\AddressInterface|null $billingAddress +- * @throws \Magento\Framework\Exception\CouldNotSaveException ++ * @param PaymentInterface $paymentMethod ++ * @param AddressInterface|null $billingAddress + * @return void + * @SuppressWarnings(PHPMD.UnusedFormalParameter) ++ * @throws CouldNotSaveException|NoSuchEntityException + */ + public function beforeSavePaymentInformationAndPlaceOrder( +- \Magento\Checkout\Api\GuestPaymentInformationManagementInterface $subject, ++ GuestPaymentInformationManagementInterface $subject, + $cartId, + $email, +- \Magento\Quote\Api\Data\PaymentInterface $paymentMethod, +- \Magento\Quote\Api\Data\AddressInterface $billingAddress = null ++ PaymentInterface $paymentMethod, ++ AddressInterface $billingAddress = null + ) { + if ($this->isAgreementEnabled()) { +- $this->validateAgreements($paymentMethod); ++ $quote = $this->quoteRepository->get($cartId); ++ $storeId = $quote->getStoreId(); ++ $this->validateAgreements($paymentMethod, $storeId); + } + } + + /** + * Validates agreements. + * +- * @param \Magento\Quote\Api\Data\PaymentInterface $paymentMethod +- * @throws \Magento\Framework\Exception\CouldNotSaveException ++ * @param PaymentInterface $paymentMethod ++ * @param int $storeId + * @return void ++ * @throws CouldNotSaveException + */ +- private function validateAgreements(\Magento\Quote\Api\Data\PaymentInterface $paymentMethod) ++ private function validateAgreements(PaymentInterface $paymentMethod, int $storeId) + { + $agreements = $paymentMethod->getExtensionAttributes() === null + ? [] + : $paymentMethod->getExtensionAttributes()->getAgreementIds(); + +- if (!$this->agreementsValidator->isValid($agreements)) { +- throw new \Magento\Framework\Exception\CouldNotSaveException( ++ $this->storeEmulation->startEnvironmentEmulation($storeId); ++ $isValid = $this->agreementsValidator->isValid($agreements); ++ $this->storeEmulation->stopEnvironmentEmulation(); ++ ++ if (!$isValid) { ++ throw new CouldNotSaveException( + __( + "The order wasn't placed. " + . "First, agree to the terms and conditions, then try placing your order again." +diff --git a/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/Validation.php b/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/Validation.php +index ceb0240af1df..4b3d3ec6ed70 100644 +--- a/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/Validation.php ++++ b/vendor/magento/module-checkout-agreements/Model/Checkout/Plugin/Validation.php +@@ -6,9 +6,16 @@ + + namespace Magento\CheckoutAgreements\Model\Checkout\Plugin; + ++use Magento\Checkout\Api\AgreementsValidatorInterface; ++use Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface; + use Magento\CheckoutAgreements\Model\AgreementsProvider; + use Magento\CheckoutAgreements\Model\Api\SearchCriteria\ActiveStoreAgreementsFilter; ++use Magento\CheckoutAgreements\Model\EmulateStore; ++use Magento\Framework\App\Config\ScopeConfigInterface; ++use Magento\Framework\Exception\CouldNotSaveException; + use Magento\Quote\Api\CartRepositoryInterface; ++use Magento\Quote\Api\Data\PaymentInterface; ++use Magento\Store\Model\App\Emulation; + use Magento\Store\Model\ScopeInterface; + + /** +@@ -37,31 +44,37 @@ class Validation + private $activeStoreAgreementsFilter; + + /** +- * Quote repository. +- * + * @var \Magento\Quote\Api\CartRepositoryInterface + */ + private $quoteRepository; + + /** +- * @param \Magento\Checkout\Api\AgreementsValidatorInterface $agreementsValidator +- * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfiguration +- * @param \Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface $checkoutAgreementsList ++ * @var Emulation ++ */ ++ private Emulation $storeEmulation; ++ ++ /** ++ * @param AgreementsValidatorInterface $agreementsValidator ++ * @param ScopeConfigInterface $scopeConfiguration ++ * @param CheckoutAgreementsListInterface $checkoutAgreementsList + * @param ActiveStoreAgreementsFilter $activeStoreAgreementsFilter + * @param CartRepositoryInterface $quoteRepository ++ * @param Emulation $storeEmulation + */ + public function __construct( + \Magento\Checkout\Api\AgreementsValidatorInterface $agreementsValidator, + \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfiguration, + \Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface $checkoutAgreementsList, + \Magento\CheckoutAgreements\Model\Api\SearchCriteria\ActiveStoreAgreementsFilter $activeStoreAgreementsFilter, +- CartRepositoryInterface $quoteRepository ++ CartRepositoryInterface $quoteRepository, ++ Emulation $storeEmulation + ) { + $this->agreementsValidator = $agreementsValidator; + $this->scopeConfiguration = $scopeConfiguration; + $this->checkoutAgreementsList = $checkoutAgreementsList; + $this->activeStoreAgreementsFilter = $activeStoreAgreementsFilter; + $this->quoteRepository = $quoteRepository; ++ $this->storeEmulation = $storeEmulation; + } + + /** +@@ -82,24 +95,31 @@ public function beforeSavePaymentInformationAndPlaceOrder( + \Magento\Quote\Api\Data\AddressInterface $billingAddress = null + ) { + if ($this->isAgreementEnabled()) { +- $this->validateAgreements($paymentMethod); ++ $quote = $this->quoteRepository->get($cartId); ++ $storeId = $quote->getStoreId(); ++ $this->validateAgreements($paymentMethod, $storeId); + } + } + + /** + * Validate agreements base on the payment method + * +- * @param \Magento\Quote\Api\Data\PaymentInterface $paymentMethod +- * @throws \Magento\Framework\Exception\CouldNotSaveException ++ * @param PaymentInterface $paymentMethod ++ * @param int $storeId + * @return void ++ * @throws CouldNotSaveException + */ +- protected function validateAgreements(\Magento\Quote\Api\Data\PaymentInterface $paymentMethod) ++ private function validateAgreements(\Magento\Quote\Api\Data\PaymentInterface $paymentMethod, int $storeId) + { + $agreements = $paymentMethod->getExtensionAttributes() === null + ? [] + : $paymentMethod->getExtensionAttributes()->getAgreementIds(); + +- if (!$this->agreementsValidator->isValid($agreements)) { ++ $this->storeEmulation->startEnvironmentEmulation($storeId); ++ $isValid = $this->agreementsValidator->isValid($agreements); ++ $this->storeEmulation->stopEnvironmentEmulation(); ++ ++ if (!$isValid) { + throw new \Magento\Framework\Exception\CouldNotSaveException( + __( + "The order wasn't placed. " diff --git a/patches/os/ACSD-57284_1.2.4-p6.patch b/patches/os/ACSD-57284_1.2.4-p6.patch new file mode 100644 index 00000000..8037c7c1 --- /dev/null +++ b/patches/os/ACSD-57284_1.2.4-p6.patch @@ -0,0 +1,425 @@ +diff --git a/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php b/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php +index 59d420b3e715..b756ea66c9e3 100644 +--- a/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php ++++ b/vendor/magento/module-inventory-cache/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/CacheFlush.php +@@ -7,11 +7,14 @@ + + namespace Magento\InventoryCache\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync; + ++use Magento\Framework\Indexer\IndexerRegistry; + use Magento\InventoryCache\Model\FlushCacheByCategoryIds; + use Magento\InventoryCache\Model\FlushCacheByProductIds; ++use Magento\InventoryIndexer\Model\GetProductsIdsToProcess; + use Magento\InventoryIndexer\Indexer\SourceItem\Strategy\Sync; ++use Magento\InventoryIndexer\Indexer\SourceItem\GetSalableStatuses; + use Magento\InventoryIndexer\Model\ResourceModel\GetCategoryIdsByProductIds; +-use Magento\InventoryIndexer\Model\ResourceModel\GetProductIdsBySourceItemIds; ++use Magento\InventoryIndexer\Indexer\InventoryIndexer; + + /** + * Clean cache for corresponding products after source item reindex. +@@ -24,52 +27,79 @@ class CacheFlush + private $flushCacheByIds; + + /** +- * @var GetProductIdsBySourceItemIds ++ * @var GetSalableStatuses + */ +- private $getProductIdsBySourceItemIds; ++ private $getCategoryIdsByProductIds; + + /** +- * @var GetCategoryIdsByProductIds ++ * @var GetSalableStatuses + */ +- private $getCategoryIdsByProductIds; ++ private $getSalableStatuses; + + /** + * @var FlushCacheByCategoryIds + */ + private $flushCategoryByCategoryIds; + ++ /** ++ * @var GetProductsIdsToProcess ++ */ ++ private $getProductsIdsToProcess; ++ ++ /** ++ * @var IndexerRegistry ++ */ ++ private $indexerRegistry; ++ + /** + * @param FlushCacheByProductIds $flushCacheByIds +- * @param GetProductIdsBySourceItemIds $getProductIdsBySourceItemIds + * @param GetCategoryIdsByProductIds $getCategoryIdsByProductIds + * @param FlushCacheByCategoryIds $flushCategoryByCategoryIds ++ * @param GetSalableStatuses $getSalableStatuses ++ * @param GetProductsIdsToProcess $getProductsIdsToProcess ++ * @param IndexerRegistry $indexerRegistry + */ + public function __construct( + FlushCacheByProductIds $flushCacheByIds, +- GetProductIdsBySourceItemIds $getProductIdsBySourceItemIds, + GetCategoryIdsByProductIds $getCategoryIdsByProductIds, +- FlushCacheByCategoryIds $flushCategoryByCategoryIds ++ FlushCacheByCategoryIds $flushCategoryByCategoryIds, ++ GetSalableStatuses $getSalableStatuses, ++ GetProductsIdsToProcess $getProductsIdsToProcess, ++ IndexerRegistry $indexerRegistry + ) { + $this->flushCacheByIds = $flushCacheByIds; +- $this->getProductIdsBySourceItemIds = $getProductIdsBySourceItemIds; + $this->getCategoryIdsByProductIds = $getCategoryIdsByProductIds; + $this->flushCategoryByCategoryIds = $flushCategoryByCategoryIds; ++ $this->getSalableStatuses = $getSalableStatuses; ++ $this->getProductsIdsToProcess = $getProductsIdsToProcess; ++ $this->indexerRegistry = $indexerRegistry; + } + + /** + * Clean cache for specific products after source items reindex. + * + * @param Sync $subject +- * @param void $result ++ * @param callable $proceed + * @param array $sourceItemIds +- * @throws \Exception in case catalog product entity type hasn't been initialize. ++ * @return void ++ * @throws \Exception in case catalog product entity type hasn't been initialized. + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ +- public function afterExecuteList(Sync $subject, $result, array $sourceItemIds) ++ public function aroundExecuteList(Sync $subject, callable $proceed, array $sourceItemIds) : void + { +- $productIds = $this->getProductIdsBySourceItemIds->execute($sourceItemIds); +- $categoryIds = $this->getCategoryIdsByProductIds->execute($productIds); +- $this->flushCategoryByCategoryIds->execute($categoryIds); +- $this->flushCacheByIds->execute($productIds); ++ $beforeSalableList = $this->getSalableStatuses->execute($sourceItemIds); ++ $proceed($sourceItemIds); ++ $afterSalableList = $this->getSalableStatuses->execute($sourceItemIds); ++ $forceDefaultProcessing = !$this->indexerRegistry->get(InventoryIndexer::INDEXER_ID)->isScheduled(); ++ $productsIdsToFlush = $this->getProductsIdsToProcess->execute( ++ $beforeSalableList, ++ $afterSalableList, ++ $forceDefaultProcessing ++ ); ++ if (!empty($productsIdsToFlush)) { ++ $categoryIds = $this->getCategoryIdsByProductIds->execute($productsIdsToFlush); ++ $this->flushCacheByIds->execute($productsIdsToFlush); ++ $this->flushCategoryByCategoryIds->execute($categoryIds); ++ } + } + } +diff --git a/vendor/magento/module-inventory-catalog/Model/SourceItemsSaveSynchronization/SetDataToLegacyCatalogInventory.php b/vendor/magento/module-inventory-catalog/Model/SourceItemsSaveSynchronization/SetDataToLegacyCatalogInventory.php +index b4cd49e7bcc7..bb46d8903b0a 100644 +--- a/vendor/magento/module-inventory-catalog/Model/SourceItemsSaveSynchronization/SetDataToLegacyCatalogInventory.php ++++ b/vendor/magento/module-inventory-catalog/Model/SourceItemsSaveSynchronization/SetDataToLegacyCatalogInventory.php +@@ -7,21 +7,25 @@ + + namespace Magento\InventoryCatalog\Model\SourceItemsSaveSynchronization; + ++use Magento\Catalog\Model\Indexer\Product\Price\Processor as PriceIndexProcessor; + use Magento\CatalogInventory\Api\Data\StockItemInterface; + use Magento\CatalogInventory\Api\StockItemRepositoryInterface; + use Magento\CatalogInventory\Api\StockItemCriteriaInterfaceFactory; + use Magento\CatalogInventory\Model\Indexer\Stock\Processor; + use Magento\CatalogInventory\Model\Spi\StockStateProviderInterface; + use Magento\CatalogInventory\Model\Stock; ++use Magento\Framework\App\ObjectManager; + use Magento\Framework\Exception\NoSuchEntityException; + use Magento\InventoryCatalogApi\Model\GetProductIdsBySkusInterface; + use Magento\InventoryCatalog\Model\ResourceModel\SetDataToLegacyStockItem; + use Magento\InventoryCatalog\Model\ResourceModel\SetDataToLegacyStockStatus; +-use Magento\InventoryCatalogApi\Model\SourceItemsSaveSynchronizationInterface; + use Magento\InventorySalesApi\Api\AreProductsSalableInterface; ++use Magento\InventorySalesApi\Model\GetStockItemDataInterface; + + /** + * Set Qty and status for legacy CatalogInventory Stock Information tables. ++ * ++ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ + class SetDataToLegacyCatalogInventory + { +@@ -65,6 +69,16 @@ class SetDataToLegacyCatalogInventory + */ + private $areProductsSalable; + ++ /** ++ * @var GetStockItemDataInterface ++ */ ++ private $getStockItemData; ++ ++ /** ++ * @var PriceIndexProcessor ++ */ ++ private $priceIndexProcessor; ++ + /** + * @param SetDataToLegacyStockItem $setDataToLegacyStockItem + * @param StockItemCriteriaInterfaceFactory $legacyStockItemCriteriaFactory +@@ -74,6 +88,9 @@ class SetDataToLegacyCatalogInventory + * @param Processor $indexerProcessor + * @param SetDataToLegacyStockStatus $setDataToLegacyStockStatus + * @param AreProductsSalableInterface $areProductsSalable ++ * @param GetStockItemDataInterface|null $getStockItemData ++ * @param PriceIndexProcessor|null $priceIndexProcessor ++ * @SuppressWarnings(PHPMD.ExcessiveParameterList) + */ + public function __construct( + SetDataToLegacyStockItem $setDataToLegacyStockItem, +@@ -83,7 +100,9 @@ public function __construct( + StockStateProviderInterface $stockStateProvider, + Processor $indexerProcessor, + SetDataToLegacyStockStatus $setDataToLegacyStockStatus, +- AreProductsSalableInterface $areProductsSalable ++ AreProductsSalableInterface $areProductsSalable, ++ ?GetStockItemDataInterface $getStockItemData = null, ++ ?PriceIndexProcessor $priceIndexProcessor = null + ) { + $this->setDataToLegacyStockItem = $setDataToLegacyStockItem; + $this->setDataToLegacyStockStatus = $setDataToLegacyStockStatus; +@@ -93,6 +112,10 @@ public function __construct( + $this->stockStateProvider = $stockStateProvider; + $this->indexerProcessor = $indexerProcessor; + $this->areProductsSalable = $areProductsSalable; ++ $this->getStockItemData = $getStockItemData ++ ?: ObjectManager::getInstance()->get(GetStockItemDataInterface::class); ++ $this->priceIndexProcessor = $priceIndexProcessor ++ ?: ObjectManager::getInstance()->get(PriceIndexProcessor::class); + } + + /** +@@ -103,13 +126,9 @@ public function __construct( + */ + public function execute(array $sourceItems): void + { +- $skus = []; +- foreach ($sourceItems as $sourceItem) { +- $skus[] = $sourceItem->getSku(); +- } +- +- $stockStatuses = $this->getStockStatuses($skus); ++ $stockStatuses = $this->getStockStatuses($sourceItems); + $productIds = []; ++ $productIdsForPriceReindex = []; + foreach ($sourceItems as $sourceItem) { + $sku = $sourceItem->getSku(); + +@@ -127,6 +146,10 @@ public function execute(array $sourceItems): void + + $isInStock = (int)$sourceItem->getStatus(); + ++ if ($this->hasStockDataChangedFor($sku, (int) $stockStatuses[(string)$sourceItem->getSku()])) { ++ $productIdsForPriceReindex[] = $productId; ++ } ++ + if ($legacyStockItem->getManageStock()) { + $legacyStockItem->setIsInStock($isInStock); + $legacyStockItem->setQty((float)$sourceItem->getQuantity()); +@@ -152,16 +175,40 @@ public function execute(array $sourceItems): void + if ($productIds) { + $this->indexerProcessor->reindexList($productIds); + } ++ ++ if ($productIdsForPriceReindex) { ++ $this->priceIndexProcessor->reindexList($productIdsForPriceReindex); ++ } ++ } ++ ++ /** ++ * Check whether the product stock status has changed ++ * ++ * @param string $sku ++ * @param int $currentStatus ++ * @return bool ++ * @throws \Magento\Framework\Exception\LocalizedException ++ */ ++ private function hasStockDataChangedFor(string $sku, int $currentStatus): bool ++ { ++ $stockItemData = $this->getStockItemData->execute($sku, Stock::DEFAULT_STOCK_ID); ++ return $stockItemData !== null ++ && (int) $stockItemData[GetStockItemDataInterface::IS_SALABLE] !== $currentStatus; + } + + /** + * Returns items stock statuses. + * +- * @param array $skus ++ * @param array $sourceItems + * @return array + */ +- private function getStockStatuses(array $skus): array ++ private function getStockStatuses(array $sourceItems): array + { ++ $skus = []; ++ foreach ($sourceItems as $sourceItem) { ++ $skus[] = $sourceItem->getSku(); ++ } ++ + $stockStatuses = []; + foreach ($this->areProductsSalable->execute($skus, Stock::DEFAULT_STOCK_ID) as $productSalable) { + $stockStatuses[$productSalable->getSku()] = $productSalable->isSalable(); +diff --git a/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php b/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php +index 045b90a9af89..eb0d359b4ace 100644 +--- a/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php ++++ b/vendor/magento/module-inventory-catalog/Plugin/InventoryIndexer/Indexer/SourceItem/Strategy/Sync/PriceIndexUpdater.php +@@ -8,8 +8,11 @@ + namespace Magento\InventoryCatalog\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync; + + use Magento\Catalog\Model\Indexer\Product\Price\Processor; ++use Magento\InventoryCatalogApi\Api\DefaultSourceProviderInterface; ++use Magento\InventoryIndexer\Model\GetProductsIdsToProcess; + use Magento\InventoryIndexer\Indexer\SourceItem\Strategy\Sync; +-use Magento\InventoryIndexer\Model\ResourceModel\GetProductIdsBySourceItemIds; ++use Magento\InventoryIndexer\Indexer\SourceItem\GetSalableStatuses; ++use Magento\InventoryIndexer\Model\ResourceModel\GetSourceCodesBySourceItemIds; + + /** + * Reindex price after source item has reindexed. +@@ -22,38 +25,71 @@ class PriceIndexUpdater + private $priceIndexProcessor; + + /** +- * @var GetProductIdsBySourceItemIds ++ * @var GetSourceCodesBySourceItemIds + */ +- private $productIdsBySourceItemIds; ++ private $getSourceCodesBySourceItemIds; ++ ++ /** ++ * @var DefaultSourceProviderInterface ++ */ ++ private $defaultSourceProvider; ++ ++ /** ++ * @var GetSalableStatuses ++ */ ++ private $getSalableStatuses; ++ ++ /** ++ * @var GetProductsIdsToProcess ++ */ ++ private $getProductsIdsToProcess; + + /** + * @param Processor $priceIndexProcessor +- * @param GetProductIdsBySourceItemIds $productIdsBySourceItemIds ++ * @param GetSourceCodesBySourceItemIds $getSourceCodesBySourceItemIds ++ * @param DefaultSourceProviderInterface $defaultSourceProvider ++ * @param GetSalableStatuses $getSalableStatuses ++ * @param GetProductsIdsToProcess $getProductsIdsToProcess + */ + public function __construct( + Processor $priceIndexProcessor, +- GetProductIdsBySourceItemIds $productIdsBySourceItemIds ++ GetSourceCodesBySourceItemIds $getSourceCodesBySourceItemIds, ++ DefaultSourceProviderInterface $defaultSourceProvider, ++ GetSalableStatuses $getSalableStatuses, ++ GetProductsIdsToProcess $getProductsIdsToProcess + ) { + $this->priceIndexProcessor = $priceIndexProcessor; +- $this->productIdsBySourceItemIds = $productIdsBySourceItemIds; ++ $this->getSourceCodesBySourceItemIds = $getSourceCodesBySourceItemIds; ++ $this->defaultSourceProvider = $defaultSourceProvider; ++ $this->getSalableStatuses = $getSalableStatuses; ++ $this->getProductsIdsToProcess = $getProductsIdsToProcess; + } + + /** + * Reindex product prices. + * + * @param Sync $subject +- * @param void $result ++ * @param callable $proceed + * @param array $sourceItemIds ++ * @return void + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ +- public function afterExecuteList( +- Sync $subject, +- $result, +- array $sourceItemIds +- ): void { +- $productIds = $this->productIdsBySourceItemIds->execute($sourceItemIds); +- if (!empty($productIds)) { +- $this->priceIndexProcessor->reindexList($productIds); ++ public function aroundExecuteList(Sync $subject, callable $proceed, array $sourceItemIds) : void ++ { ++ $customSourceItemIds = []; ++ $defaultSourceCode = $this->defaultSourceProvider->getCode(); ++ foreach ($this->getSourceCodesBySourceItemIds->execute($sourceItemIds) as $sourceItemId => $sourceCode) { ++ if ($sourceCode !== $defaultSourceCode) { ++ $customSourceItemIds[] = $sourceItemId; ++ } ++ } ++ $beforeSalableList = $this->getSalableStatuses->execute($customSourceItemIds); ++ $proceed($sourceItemIds); ++ $afterSalableList = $this->getSalableStatuses->execute($customSourceItemIds); ++ ++ $productsIdsToReindex = $this->getProductsIdsToProcess->execute($beforeSalableList, $afterSalableList); ++ if (!empty($productsIdsToReindex)) { ++ $this->priceIndexProcessor->reindexList($productsIdsToReindex, true); + } + } + } +diff --git a/vendor/magento/module-inventory-indexer/Model/ResourceModel/GetSourceCodesBySourceItemIds.php b/vendor/magento/module-inventory-indexer/Model/ResourceModel/GetSourceCodesBySourceItemIds.php +new file mode 100644 +index 000000000000..eb47521d73cb +--- /dev/null ++++ b/vendor/magento/module-inventory-indexer/Model/ResourceModel/GetSourceCodesBySourceItemIds.php +@@ -0,0 +1,51 @@ ++resourceConnection = $resourceConnection; ++ } ++ ++ /** ++ * Get source codes by source item ids ++ * ++ * @param array $sourceItemIds ++ * @return array ++ */ ++ public function execute(array $sourceItemIds): array ++ { ++ $connection = $this->resourceConnection->getConnection(); ++ $tableName = $this->resourceConnection->getTableName(SourceItemResourceModel::TABLE_NAME_SOURCE_ITEM); ++ $select = $connection->select() ++ ->from( ++ ['source_item' => $tableName], ++ [SourceItemResourceModel::ID_FIELD_NAME, SourceItemInterface::SOURCE_CODE] ++ ) ++ ->where( ++ 'source_item.' . SourceItemResourceModel::ID_FIELD_NAME . ' IN (?)', ++ $sourceItemIds ++ ); ++ ++ return $connection->fetchPairs($select); ++ } ++} diff --git a/patches/os/ACSD-57315_2.4.4-p4.patch b/patches/os/ACSD-57315_2.4.4-p4.patch new file mode 100644 index 00000000..e6650c09 --- /dev/null +++ b/patches/os/ACSD-57315_2.4.4-p4.patch @@ -0,0 +1,25 @@ +diff --git a/vendor/magento/module-paypal/Model/Payflow/Transparent.php b/vendor/magento/module-paypal/Model/Payflow/Transparent.php +index f9233c15a4a7..ff715c271509 100644 +--- a/vendor/magento/module-paypal/Model/Payflow/Transparent.php ++++ b/vendor/magento/module-paypal/Model/Payflow/Transparent.php +@@ -389,20 +389,6 @@ public function denyPayment(InfoInterface $payment) + return true; + } + +- /** +- * @inheritDoc +- */ +- public function fetchTransactionInfo(InfoInterface $payment, $transactionId) +- { +- $result = parent::fetchTransactionInfo($payment, $transactionId); +- $this->_canFetchTransactionInfo = false; +- if ($payment->getIsTransactionApproved()) { +- $this->acceptPayment($payment); +- } +- +- return $result; +- } +- + /** + * Marks payment as fraudulent. + * diff --git a/patches/os/ACSD-57394_2.4.6-p3.patch b/patches/os/ACSD-57394_2.4.6-p3.patch new file mode 100644 index 00000000..afdeb582 --- /dev/null +++ b/patches/os/ACSD-57394_2.4.6-p3.patch @@ -0,0 +1,117 @@ +diff --git a/vendor/magento/module-catalog-graph-ql/Plugin/ProductAttributeSortInput.php b/vendor/magento/module-catalog-graph-ql/Plugin/ProductAttributeSortInput.php +new file mode 100644 +index 000000000000..ac1a2279b771 +--- /dev/null ++++ b/vendor/magento/module-catalog-graph-ql/Plugin/ProductAttributeSortInput.php +@@ -0,0 +1,95 @@ ++getSortFieldsOrder($info, $args['sort']); ++ } ++ return [$field, $context, $info, $value, $args]; ++ } ++ ++ /** ++ * Get sort fields in the original order ++ * ++ * @param ResolveInfo $info ++ * @param array $sortFields ++ * @return array ++ * @throws \Exception ++ */ ++ private function getSortFieldsOrder(ResolveInfo $info, array $sortFields) ++ { ++ $sortFieldsOriginal = []; ++ Visitor::visit( ++ $info->operation, ++ [ ++ 'enter' => [ ++ NodeKind::ARGUMENT => function (Node $node) use (&$sortFieldsOriginal, $sortFields) { ++ if ($node->name->value === 'sort') { ++ Visitor::visit( ++ $node->value, ++ [ ++ 'enter' => [ ++ NodeKind::OBJECT_FIELD => ++ function (Node $node) use (&$sortFieldsOriginal, $sortFields) { ++ if (isset($sortFields[$node->name->value])) { ++ $sortFieldsOriginal[$node->name->value] = ++ $sortFields[$node->name->value]; ++ } ++ } ++ ] ++ ] ++ ); ++ return Visitor::stop(); ++ } ++ } ++ ] ++ ] ++ ); ++ return $sortFieldsOriginal; ++ } ++} +diff --git a/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml b/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml +index d66ee50ba03a..a55ee59f4a00 100644 +--- a/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml ++++ b/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml +@@ -208,4 +208,11 @@ + + + ++ ++ ++ ++ ++ ++ ++ + diff --git a/patches/os/ACSD-57397_2.4.6.patch b/patches/os/ACSD-57397_2.4.6.patch new file mode 100644 index 00000000..1d0136b3 --- /dev/null +++ b/patches/os/ACSD-57397_2.4.6.patch @@ -0,0 +1,594 @@ +diff --git a/vendor/magento/module-quote/Model/CartLockedException.php b/vendor/magento/module-quote/Model/CartLockedException.php +new file mode 100644 +index 0000000..7f2aa87 +--- /dev/null ++++ b/vendor/magento/module-quote/Model/CartLockedException.php +@@ -0,0 +1,18 @@ ++lockManager = $lockManager; ++ $this->logger = $logger; ++ } ++ ++ /** ++ * @inheritDoc ++ */ ++ public function execute(int $id, callable $callable, array $args = []) ++ { ++ $lockName = 'cart_lock_' . $id; ++ ++ if (!$this->lockManager->lock($lockName, 0)) { ++ $this->logger->critical( ++ 'The cart is locked for processing, the request has been aborted. Quote ID: ' . $id ++ ); ++ throw new CartLockedException( ++ __('The cart is locked for processing. Please try again later.') ++ ); ++ } ++ ++ try { ++ $result = $callable(...$args); ++ } finally { ++ $this->lockManager->unlock($lockName); ++ } ++ ++ return $result; ++ } ++} +diff --git a/vendor/magento/module-quote/Model/CartMutexInterface.php b/vendor/magento/module-quote/Model/CartMutexInterface.php +new file mode 100644 +index 0000000..6681c63 +--- /dev/null ++++ b/vendor/magento/module-quote/Model/CartMutexInterface.php +@@ -0,0 +1,25 @@ ++eventManager = $eventManager; + $this->submitQuoteValidator = $submitQuoteValidator; +@@ -269,8 +268,8 @@ class QuoteManagement implements CartManagementInterface + ->get(RequestInterface::class); + $this->remoteAddress = $remoteAddress ?: ObjectManager::getInstance() + ->get(RemoteAddress::class); +- $this->lockManager = $lockManager ?: ObjectManager::getInstance() +- ->get(LockManagerInterface::class); ++ $this->cartMutex = $cartMutex ++ ?? ObjectManager::getInstance()->get(CartMutexInterface::class); + } + + /** +@@ -396,10 +395,28 @@ class QuoteManagement implements CartManagementInterface + + /** + * @inheritdoc ++ */ ++ public function placeOrder($cartId, PaymentInterface $paymentMethod = null) ++ { ++ return $this->cartMutex->execute( ++ (int)$cartId, ++ \Closure::fromCallable([$this, 'placeOrderRun']), ++ [$cartId, $paymentMethod] ++ ); ++ } ++ ++ /** ++ * Places an order for a specified cart. ++ * ++ * @param int $cartId The cart ID. ++ * @param PaymentInterface|null $paymentMethod ++ * @throws CouldNotSaveException ++ * @return int Order ID. + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.NPathComplexity) ++ * @SuppressWarnings(PHPMD.UnusedPrivateMethod) + */ +- public function placeOrder($cartId, PaymentInterface $paymentMethod = null) ++ private function placeOrderRun($cartId, PaymentInterface $paymentMethod = null) + { + $quote = $this->quoteRepository->getActive($cartId); + $customer = $quote->getCustomer(); +@@ -613,14 +630,7 @@ class QuoteManagement implements CartManagementInterface + ] + ); + +- $lockedName = self::LOCK_PREFIX . $quote->getId(); +- if ($this->lockManager->isLocked($lockedName)) { +- throw new LocalizedException(__( +- 'A server error stopped your order from being placed. Please try to place your order again.' +- )); +- } + try { +- $this->lockManager->lock($lockedName, self::LOCK_TIMEOUT); + $order = $this->orderManagement->place($order); + $quote->setIsActive(false); + $this->eventManager->dispatch( +@@ -631,9 +641,7 @@ class QuoteManagement implements CartManagementInterface + ] + ); + $this->quoteRepository->save($quote); +- $this->lockManager->unlock($lockedName); + } catch (\Exception $e) { +- $this->lockManager->unlock($lockedName); + $this->rollbackAddresses($quote, $order, $e); + throw $e; + } +diff --git a/vendor/magento/module-quote/Model/QuoteRepository.php b/vendor/magento/module-quote/Model/QuoteRepository.php +index b1bef83..f4694d6 100644 +--- a/vendor/magento/module-quote/Model/QuoteRepository.php ++++ b/vendor/magento/module-quote/Model/QuoteRepository.php +@@ -12,6 +12,7 @@ use Magento\Framework\Api\SearchCriteria\CollectionProcessor; + use Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface; + use Magento\Framework\Api\SearchCriteriaInterface; + use Magento\Framework\App\ObjectManager; ++use Magento\Framework\App\RequestSafetyInterface; + use Magento\Framework\Exception\InputException; + use Magento\Framework\Exception\NoSuchEntityException; + use Magento\Quote\Api\CartRepositoryInterface; +@@ -94,6 +95,11 @@ class QuoteRepository implements CartRepositoryInterface + private $cartFactory; + + /** ++ * @var RequestSafetyInterface ++ */ ++ private $requestSafety; ++ ++ /** + * Constructor + * + * @param QuoteFactory $quoteFactory +@@ -104,6 +110,7 @@ class QuoteRepository implements CartRepositoryInterface + * @param CollectionProcessorInterface|null $collectionProcessor + * @param QuoteCollectionFactory|null $quoteCollectionFactory + * @param CartInterfaceFactory|null $cartFactory ++ * @param RequestSafetyInterface|null $requestSafety + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function __construct( +@@ -114,7 +121,8 @@ class QuoteRepository implements CartRepositoryInterface + JoinProcessorInterface $extensionAttributesJoinProcessor, + CollectionProcessorInterface $collectionProcessor = null, + QuoteCollectionFactory $quoteCollectionFactory = null, +- CartInterfaceFactory $cartFactory = null ++ CartInterfaceFactory $cartFactory = null, ++ RequestSafetyInterface $requestSafety = null + ) { + $this->quoteFactory = $quoteFactory; + $this->storeManager = $storeManager; +@@ -125,6 +133,7 @@ class QuoteRepository implements CartRepositoryInterface + $this->quoteCollectionFactory = $quoteCollectionFactory ?: ObjectManager::getInstance() + ->get(QuoteCollectionFactory::class); + $this->cartFactory = $cartFactory ?: ObjectManager::getInstance()->get(CartInterfaceFactory::class); ++ $this->requestSafety = $requestSafety ?: ObjectManager::getInstance()->get(RequestSafetyInterface::class); + } + + /** +@@ -165,6 +174,7 @@ class QuoteRepository implements CartRepositoryInterface + */ + public function getActive($cartId, array $sharedStoreIds = []) + { ++ $this->validateCachedActiveQuote((int)$cartId); + $quote = $this->get($cartId, $sharedStoreIds); + if (!$quote->getIsActive()) { + throw NoSuchEntityException::singleField('cartId', $cartId); +@@ -173,10 +183,32 @@ class QuoteRepository implements CartRepositoryInterface + } + + /** ++ * Validates if cached quote is still active. ++ * ++ * @param int $cartId ++ * @return void ++ * @throws NoSuchEntityException ++ */ ++ private function validateCachedActiveQuote(int $cartId): void ++ { ++ if (isset($this->quotesById[$cartId]) && !$this->requestSafety->isSafeMethod()) { ++ $quote = $this->cartFactory->create(); ++ if (is_callable([$quote, 'setSharedStoreIds'])) { ++ $quote->setSharedStoreIds(['*']); ++ } ++ $quote->loadActive($cartId); ++ if (!$quote->getIsActive()) { ++ throw NoSuchEntityException::singleField('cartId', $cartId); ++ } ++ } ++ } ++ ++ /** + * @inheritdoc + */ + public function getActiveForCustomer($customerId, array $sharedStoreIds = []) + { ++ $this->validateCachedCustomerActiveQuote((int)$customerId); + $quote = $this->getForCustomer($customerId, $sharedStoreIds); + if (!$quote->getIsActive()) { + throw NoSuchEntityException::singleField('customerId', $customerId); +@@ -185,6 +217,28 @@ class QuoteRepository implements CartRepositoryInterface + } + + /** ++ * Validates if cached customer quote is still active. ++ * ++ * @param int $customerId ++ * @return void ++ * @throws NoSuchEntityException ++ */ ++ private function validateCachedCustomerActiveQuote(int $customerId): void ++ { ++ if (isset($this->quotesByCustomerId[$customerId]) && !$this->requestSafety->isSafeMethod()) { ++ $quoteId = $this->quotesByCustomerId[$customerId]->getId(); ++ $quote = $this->cartFactory->create(); ++ if (is_callable([$quote, 'setSharedStoreIds'])) { ++ $quote->setSharedStoreIds(['*']); ++ } ++ $quote->loadActive($quoteId); ++ if (!$quote->getIsActive()) { ++ throw NoSuchEntityException::singleField('customerId', $customerId); ++ } ++ } ++ } ++ ++ /** + * @inheritdoc + */ + public function save(CartInterface $quote) +diff --git a/vendor/magento/module-quote/etc/di.xml b/vendor/magento/module-quote/etc/di.xml +index 5ffc82d..cef8eee 100644 +--- a/vendor/magento/module-quote/etc/di.xml ++++ b/vendor/magento/module-quote/etc/di.xml +@@ -45,6 +45,7 @@ + + + ++ + + + +diff --git a/vendor/magento/module-quote/i18n/en_US.csv b/vendor/magento/module-quote/i18n/en_US.csv +index d96c88b..5d3fe79 100644 +--- a/vendor/magento/module-quote/i18n/en_US.csv ++++ b/vendor/magento/module-quote/i18n/en_US.csv +@@ -69,3 +69,4 @@ Carts,Carts + "Validated Country Code","Validated Country Code" + "Validated Vat Number","Validated Vat Number" + "Invalid Quote Item id %1","Invalid Quote Item id %1" ++"The cart is locked for processing. Please try again later.","The cart is locked for processing. Please try again later." +diff --git a/vendor/magento/module-quote-graph-ql/Model/Cart/PlaceOrderMutex.php b/vendor/magento/module-quote-graph-ql/Model/Cart/PlaceOrderMutex.php +deleted file mode 100644 +index 2b13086..0000000 +--- a/vendor/magento/module-quote-graph-ql/Model/Cart/PlaceOrderMutex.php ++++ /dev/null +@@ -1,72 +0,0 @@ +-lockManager = $lockManager; +- $this->lockWaitTimeout = $lockWaitTimeout; +- } +- +- /** +- * @inheritDoc +- */ +- public function execute(string $maskedId, callable $callable, array $args = []) +- { +- if (empty($maskedId)) { +- throw new \InvalidArgumentException('Quote masked id must be provided'); +- } +- +- if ($this->lockManager->isLocked(self::LOCK_PREFIX . $maskedId)) { +- throw new GraphQlAlreadyExistsException( +- __('The order has already been placed and is currently processing.') +- ); +- } +- +- if ($this->lockManager->lock(self::LOCK_PREFIX . $maskedId, $this->lockWaitTimeout)) { +- try { +- return $callable(...$args); +- } finally { +- $this->lockManager->unlock(self::LOCK_PREFIX . $maskedId); +- } +- } else { +- throw new LocalizedException( +- __('Could not acquire lock for the quote id: %1', $maskedId) +- ); +- } +- } +-} +diff --git a/vendor/magento/module-quote-graph-ql/Model/Cart/PlaceOrderMutexInterface.php b/vendor/magento/module-quote-graph-ql/Model/Cart/PlaceOrderMutexInterface.php +deleted file mode 100644 +index 6e4c85d..0000000 +--- a/vendor/magento/module-quote-graph-ql/Model/Cart/PlaceOrderMutexInterface.php ++++ /dev/null +@@ -1,27 +0,0 @@ +-getCartForCheckout = $getCartForCheckout; + $this->placeOrder = $placeOrder; + $this->orderRepository = $orderRepository; + $this->errorMessageFormatter = $errorMessageFormatter; +- $this->placeOrderMutex = $placeOrderMutex ?: ObjectManager::getInstance()->get(PlaceOrderMutexInterface::class); + } + + /** +@@ -80,25 +70,6 @@ class PlaceOrder implements ResolverInterface + throw new GraphQlInputException(__('Required parameter "cart_id" is missing')); + } + +- return $this->placeOrderMutex->execute( +- $args['input']['cart_id'], +- \Closure::fromCallable([$this, 'run']), +- [$field, $context, $info, $args] +- ); +- } +- +- /** +- * Run the resolver. +- * +- * @param Field $field +- * @param ContextInterface $context +- * @param ResolveInfo $info +- * @param array|null $args +- * @return array[] +- * @SuppressWarnings(PHPMD.UnusedPrivateMethod) +- */ +- private function run(Field $field, ContextInterface $context, ResolveInfo $info, ?array $args): array +- { + $maskedCartId = $args['input']['cart_id']; + $userId = (int)$context->getUserId(); + $storeId = (int)$context->getExtensionAttributes()->getStore()->getId(); +diff --git a/vendor/magento/module-quote-graph-ql/etc/di.xml b/vendor/magento/module-quote-graph-ql/etc/di.xml +index 63eb001..4b55681 100644 +--- a/vendor/magento/module-quote-graph-ql/etc/di.xml ++++ b/vendor/magento/module-quote-graph-ql/etc/di.xml +@@ -9,7 +9,6 @@ + + + +- + + + diff --git a/patches/os/ACSD-57441_2.4.5-p1.patch b/patches/os/ACSD-57441_2.4.5-p1.patch new file mode 100644 index 00000000..4dab45ff --- /dev/null +++ b/patches/os/ACSD-57441_2.4.5-p1.patch @@ -0,0 +1,118 @@ +diff --git a/vendor/magento/module-catalog-graph-ql/Plugin/ProductAttributeSortInput.php b/vendor/magento/module-catalog-graph-ql/Plugin/ProductAttributeSortInput.php +new file mode 100644 +index 000000000000..ac1a2279b771 +--- /dev/null ++++ b/vendor/magento/module-catalog-graph-ql/Plugin/ProductAttributeSortInput.php +@@ -0,0 +1,95 @@ ++getSortFieldsOrder($info, $args['sort']); ++ } ++ return [$field, $context, $info, $value, $args]; ++ } ++ ++ /** ++ * Get sort fields in the original order ++ * ++ * @param ResolveInfo $info ++ * @param array $sortFields ++ * @return array ++ * @throws \Exception ++ */ ++ private function getSortFieldsOrder(ResolveInfo $info, array $sortFields) ++ { ++ $sortFieldsOriginal = []; ++ Visitor::visit( ++ $info->operation, ++ [ ++ 'enter' => [ ++ NodeKind::ARGUMENT => function (Node $node) use (&$sortFieldsOriginal, $sortFields) { ++ if ($node->name->value === 'sort') { ++ Visitor::visit( ++ $node->value, ++ [ ++ 'enter' => [ ++ NodeKind::OBJECT_FIELD => ++ function (Node $node) use (&$sortFieldsOriginal, $sortFields) { ++ if (isset($sortFields[$node->name->value])) { ++ $sortFieldsOriginal[$node->name->value] = ++ $sortFields[$node->name->value]; ++ } ++ } ++ ] ++ ] ++ ); ++ return Visitor::stop(); ++ } ++ } ++ ] ++ ] ++ ); ++ return $sortFieldsOriginal; ++ } ++} +diff --git a/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml b/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml +index 5273a8a15cd8..4d84ab4cad4a 100644 +--- a/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml ++++ b/vendor/magento/module-catalog-graph-ql/etc/graphql/di.xml +@@ -191,4 +191,12 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ + diff --git a/patches/os/ACSD-57468_1.2.5-p5_v2.patch b/patches/os/ACSD-57468_1.2.5-p5_v2.patch new file mode 100644 index 00000000..a5149edc --- /dev/null +++ b/patches/os/ACSD-57468_1.2.5-p5_v2.patch @@ -0,0 +1,134 @@ +diff --git a/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Resolver/QuantityAndStockPlugin.php b/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Resolver/QuantityAndStockPlugin.php +index d3825fe3f34..54ac34141a2 100644 +--- a/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Resolver/QuantityAndStockPlugin.php ++++ b/vendor/magento/module-inventory-visual-merchandiser/Plugin/Model/Resolver/QuantityAndStockPlugin.php +@@ -10,11 +10,11 @@ namespace Magento\InventoryVisualMerchandiser\Plugin\Model\Resolver; + use Magento\Catalog\Api\Data\ProductInterface; + use Magento\Catalog\Model\ResourceModel\Product\Collection; + use Magento\Framework\App\ResourceConnection; ++use Magento\Framework\DB\Select; + use Magento\Framework\EntityManager\MetadataPool; + use Magento\Framework\Exception\LocalizedException; + use Magento\Inventory\Model\ResourceModel\SourceItem; + use Magento\InventoryCatalogApi\Api\DefaultStockProviderInterface; +-use Magento\InventoryCatalogApi\Api\DefaultSourceProviderInterface; + use Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface; + use Magento\InventorySalesApi\Api\Data\SalesChannelInterface; + use Magento\InventorySalesApi\Api\StockResolverInterface; +@@ -54,7 +54,7 @@ class QuantityAndStockPlugin + private $defaultStockProvider; + + /** +- * @var DefaultSourceProviderInterface ++ * @var MetadataPool + */ + private $defaultSourceProvider; + +@@ -69,7 +69,6 @@ class QuantityAndStockPlugin + * @param StockResolverInterface $stockResolver + * @param StockIndexTableNameResolverInterface $stockIndexTableNameResolver + * @param DefaultStockProviderInterface $defaultStockProvider +- * @param DefaultSourceProviderInterface $defaultSourceProvider + * @param MetadataPool $metadataPool + */ + public function __construct( +@@ -78,7 +77,6 @@ class QuantityAndStockPlugin + StockResolverInterface $stockResolver, + StockIndexTableNameResolverInterface $stockIndexTableNameResolver, + DefaultStockProviderInterface $defaultStockProvider, +- DefaultSourceProviderInterface $defaultSourceProvider, + MetadataPool $metadataPool + ) { + $this->resource = $resource; +@@ -86,7 +84,6 @@ class QuantityAndStockPlugin + $this->stockResolver = $stockResolver; + $this->stockIndexTableNameResolver = $stockIndexTableNameResolver; + $this->defaultStockProvider = $defaultStockProvider; +- $this->defaultSourceProvider = $defaultSourceProvider; + $this->metadataPool = $metadataPool; + } + +@@ -97,16 +94,21 @@ class QuantityAndStockPlugin + * @param callable $proceed + * @param Collection $collection + * @return Collection +- * @throws LocalizedException ++ * @throws LocalizedException|\Zend_Db_Select_Exception + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function aroundJoinStock(QuantityAndStock $subject, callable $proceed, Collection $collection): Collection + { +- $websiteCode = $this->storeManager->getWebsite()->getCode(); +- $stock = $this->stockResolver->execute(SalesChannelInterface::TYPE_WEBSITE, $websiteCode); +- $stockId = (int)$stock->getStockId(); +- if ($stockId === $this->defaultStockProvider->getId()) { +- $defaultCode = $this->defaultSourceProvider->getCode(); ++ if ($collection->getStoreId() !== null) { ++ $websiteId = $this->storeManager->getStore($collection->getStoreId())->getWebsiteId(); ++ $websiteCode = $this->storeManager->getWebsite($websiteId)->getCode(); ++ } else { ++ $websiteCode = $this->storeManager->getWebsite()->getCode(); ++ } ++ ++ if ($websiteCode === 'admin') { ++ $productLinkField = $this->metadataPool->getMetadata(ProductInterface::class) ++ ->getLinkField(); + $productLinkField = $this->metadataPool->getMetadata(ProductInterface::class) + ->getLinkField(); + $collection->joinField( +@@ -114,7 +116,7 @@ class QuantityAndStockPlugin + $this->resource->getTableName(SourceItem::TABLE_NAME_SOURCE_ITEM), + null, + 'sku = sku', +- ['source_code' => $defaultCode], ++ [], + 'left' + ); + $collection->joinField( +@@ -133,21 +135,37 @@ class QuantityAndStockPlugin + ) + ->joinLeft( + ['child_stock' => $this->resource->getTableName(SourceItem::TABLE_NAME_SOURCE_ITEM)], +- 'child_stock.sku = child_product.sku' +- . $collection->getConnection()->quoteInto(' AND child_stock.source_code = ?', $defaultCode), ++ 'child_stock.sku = child_product.sku', + [] +- ) +- ->columns( +- new \Zend_Db_Expr( +- 'COALESCE( SUM(child_stock.quantity), +- at_parent_stock.quantity) AS stock' +- ) + ); ++ ++ $subSelect = clone($collection->getSelect()); ++ $subSelect->columns( ++ [ ++ 'SUM(IFNULL(at_parent_stock.quantity, 0)) as parent_stock', ++ 'SUM(IFNULL(child_stock.quantity, 0)) as child_stock' ++ ] ++ ); ++ $subSelect->group(['e.entity_id', 'at_parent_stock.source_code']); ++ ++ $collection->getSelect()->reset(); ++ $collection->getSelect()->from(['e' => $subSelect]); ++ $collection->getSelect()->columns( ++ new \Zend_Db_Expr( ++ 'IF( ++ SUM(IFNULL(parent_stock, 0)) = 0, ++ SUM(IFNULL(child_stock, 0)), ++ SUM(IFNULL(parent_stock, 0)) ++ ) AS stock' ++ ) ++ ); + } else { ++ $stock = $this->stockResolver->execute(SalesChannelInterface::TYPE_WEBSITE, $websiteCode); ++ $stockId = (int)$stock->getStockId(); + $collection->getSelect()->joinLeft( + ['inventory_stock' => $this->stockIndexTableNameResolver->execute($stockId)], + 'inventory_stock.sku = e.sku', +- ['stock' => 'quantity'] ++ ['stock' => 'IFNULL(quantity, 0)'] + ); + } + diff --git a/patches/os/ACSD-57468_2.4.5-p5_v2.patch b/patches/os/ACSD-57468_2.4.5-p5_v2.patch new file mode 100644 index 00000000..6f8539a8 --- /dev/null +++ b/patches/os/ACSD-57468_2.4.5-p5_v2.patch @@ -0,0 +1,45 @@ +diff --git a/vendor/magento/framework/View/Element/UiComponent/DataProvider/Sanitizer.php b/vendor/magento/framework/View/Element/UiComponent/DataProvider/Sanitizer.php +index 27a42fb337ce..ab4bdfd7ce58 100644 +--- a/vendor/magento/framework/View/Element/UiComponent/DataProvider/Sanitizer.php ++++ b/vendor/magento/framework/View/Element/UiComponent/DataProvider/Sanitizer.php +@@ -43,28 +43,19 @@ private function extractConfig(array $data) + public function sanitize(array $data): array + { + $config = $this->extractConfig($data); +- $toProcess = []; +- array_walk( +- $data, +- function ($datum, string $key) use (&$config, &$toProcess) : void { +- if (is_array($datum)) { +- //Each array must have it's own __disableTmpl property +- $toProcess[$key] = $datum; +- } elseif (( +- !is_bool($config) && !array_key_exists($key, $config) +- ) +- && (is_string($datum) || $datum instanceof Phrase) +- && preg_match('/\$\{.+\}/', (string)$datum) +- ) { +- //Templating is not disabled for all properties or for this property specifically +- //Property is a string that contains template syntax so we are disabling it's rendering +- $config[$key] = true; +- } ++ foreach ($data as $key => $datum) { ++ if (is_array($datum)) { ++ //Each array must have its own __disableTmpl property ++ $data[$key] = $this->sanitize($datum); ++ } elseif (!is_bool($config) ++ && !array_key_exists($key, $config) ++ && (is_string($datum) || $datum instanceof Phrase) ++ && preg_match('/\$\{.+\}/', (string)$datum) ++ ) { ++ //Templating is not disabled for all properties or for this property specifically ++ //Property is a string that contains template syntax, so we are disabling its rendering ++ $config[$key] = true; + } +- ); +- if ($toProcess) { +- //Processing sub-arrays +- $data = array_replace($data, array_map([$this, 'sanitize'], $toProcess)); + } + if ($config !== []) { + //Some properties require rendering configuration. diff --git a/patches/os/ACSD-57477_2.4.6-p2.patch b/patches/os/ACSD-57477_2.4.6-p2.patch new file mode 100644 index 00000000..1f3cc9a0 --- /dev/null +++ b/patches/os/ACSD-57477_2.4.6-p2.patch @@ -0,0 +1,297 @@ +diff --git a/vendor/magento/module-quote/Model/Quote/Address.php b/vendor/magento/module-quote/Model/Quote/Address.php +index 2d3c072d5d8..c759266d2e6 100644 +--- a/vendor/magento/module-quote/Model/Quote/Address.php ++++ b/vendor/magento/module-quote/Model/Quote/Address.php +@@ -86,7 +86,6 @@ use Magento\Store\Model\StoreManagerInterface; + * @method float getDiscountAmount() + * @method Address setDiscountAmount(float $value) + * @method float getBaseDiscountAmount() +- * @method Address setBaseDiscountAmount(float $value) + * @method float getGrandTotal() + * @method Address setGrandTotal(float $value) + * @method float getBaseGrandTotal() +@@ -142,6 +141,8 @@ class Address extends AbstractAddress implements + + private const CACHED_ITEMS_ALL = 'cached_items_all'; + ++ private const BASE_DISCOUNT_AMOUNT = 'base_discount_amount'; ++ + /** + * Prefix of model events + * +@@ -1796,4 +1797,17 @@ class Address extends AbstractAddress implements + { + return array_keys($this->attributeList->getAttributes()); + } ++ ++ /** ++ * Realization of the actual set method to boost performance ++ * ++ * @param float $value ++ * @return $this ++ */ ++ public function setBaseDiscountAmount(float $value) ++ { ++ $this->_data[self::BASE_DISCOUNT_AMOUNT] = $value; ++ ++ return $this; ++ } + } +diff --git a/vendor/magento/module-quote-graph-ql/Plugin/ProductAttributesExtender.php b/vendor/magento/module-quote-graph-ql/Plugin/ProductAttributesExtender.php +index bcacd58fcb7..eeed8e84d8e 100644 +--- a/vendor/magento/module-quote-graph-ql/Plugin/ProductAttributesExtender.php ++++ b/vendor/magento/module-quote-graph-ql/Plugin/ProductAttributesExtender.php +@@ -26,6 +26,11 @@ class ProductAttributesExtender + */ + private $attributeCollectionFactory; + ++ /** ++ * @var array ++ */ ++ private $attributes; ++ + /** + * @param Fields $fields + * @param AttributeCollectionFactory $attributeCollectionFactory +@@ -48,12 +53,15 @@ class ProductAttributesExtender + */ + public function afterGetProductAttributes(QuoteConfig $subject, array $result): array + { +- $attributeCollection = $this->attributeCollectionFactory->create() +- ->removeAllFieldsFromSelect() +- ->addFieldToSelect('attribute_code') +- ->setCodeFilter($this->fields->getFieldsUsedInQuery()) +- ->load(); +- $attributes = $attributeCollection->getColumnValues('attribute_code'); ++ if (!$this->attributes) { ++ $attributeCollection = $this->attributeCollectionFactory->create() ++ ->removeAllFieldsFromSelect() ++ ->addFieldToSelect('attribute_code') ++ ->setCodeFilter($this->fields->getFieldsUsedInQuery()) ++ ->load(); ++ $this->attributes = $attributeCollection->getColumnValues('attribute_code'); ++ } ++ $attributes = $this->attributes; + + return array_unique(array_merge($result, $attributes)); + } +diff --git a/vendor/magento/module-sales-rule/Helper/CartFixedDiscount.php b/vendor/magento/module-sales-rule/Helper/CartFixedDiscount.php +index eeab18e9c36..a518a00c735 100644 +--- a/vendor/magento/module-sales-rule/Helper/CartFixedDiscount.php ++++ b/vendor/magento/module-sales-rule/Helper/CartFixedDiscount.php +@@ -138,6 +138,7 @@ class CartFixedDiscount + $baseItemPriceTotal = $baseItemPrice * $qty - $baseItemDiscountAmount; + $ratio = $baseRuleTotalsDiscount != 0 ? $baseItemPriceTotal / $baseRuleTotalsDiscount : 0; + $discountAmount = $this->deltaPriceRound->round($ruleDiscount * $ratio, $discountType); ++ + return $discountAmount; + } + +diff --git a/vendor/magento/module-sales-rule/Model/Quote/Discount.php b/vendor/magento/module-sales-rule/Model/Quote/Discount.php +index fcefae81780..ae996ae8a96 100644 +--- a/vendor/magento/module-sales-rule/Model/Quote/Discount.php ++++ b/vendor/magento/module-sales-rule/Model/Quote/Discount.php +@@ -20,11 +20,10 @@ use Magento\SalesRule\Api\Data\DiscountDataInterface; + use Magento\SalesRule\Api\Data\DiscountDataInterfaceFactory; + use Magento\SalesRule\Api\Data\RuleDiscountInterfaceFactory; + use Magento\SalesRule\Model\Data\RuleDiscount; +-use Magento\SalesRule\Model\Discount\PostProcessorFactory; + use Magento\SalesRule\Model\Rule; ++use Magento\SalesRule\Model\RulesApplier; + use Magento\SalesRule\Model\Validator; + use Magento\Store\Model\StoreManagerInterface; +-use Magento\SalesRule\Model\RulesApplier; + + /** + * Discount totals calculation model. +@@ -177,11 +176,14 @@ class Discount extends AbstractTotal + $this->calculator->init($store->getWebsiteId(), $quote->getCustomerGroupId(), $quote->getCouponCode()); + $this->calculator->initTotals($items, $address); + $items = $this->calculator->sortItemsByPriority($items, $address); ++ $itemsToApplyRules = $items; + $rules = $this->calculator->getRules($address); ++ $totalDiscount = 0; ++ $address->setBaseDiscountAmount(0); + /** @var Rule $rule */ + foreach ($rules as $rule) { + /** @var Item $item */ +- foreach ($items as $item) { ++ foreach ($itemsToApplyRules as $key => $item) { + if ($quote->getIsMultiShipping() && $item->getAddress()->getId() !== $address->getId()) { + continue; + } +@@ -205,14 +207,18 @@ class Discount extends AbstractTotal + + $eventArgs['item'] = $item; + $this->eventManager->dispatch('sales_quote_address_discount_item', $eventArgs); ++ + $this->calculator->process($item, $rule); ++ $appliedRuleIds = $item->getAppliedRuleIds() ? explode(',', $item->getAppliedRuleIds()) : []; ++ if ($rule->getStopRulesProcessing() && in_array($rule->getId(), $appliedRuleIds)) { ++ unset($itemsToApplyRules[$key]); ++ } ++ ++ $totalDiscount += $item->getBaseDiscountAmount(); + } +- $appliedRuleIds = $quote->getAppliedRuleIds() ? explode(',', $quote->getAppliedRuleIds()) : []; +- if ($rule->getStopRulesProcessing() && in_array($rule->getId(), $appliedRuleIds)) { +- break; +- } +- $this->calculator->initTotals($items, $address); ++ $address->setBaseDiscountAmount($totalDiscount); + } ++ $this->calculator->initTotals($items, $address); + foreach ($items as $item) { + if (!isset($itemsAggregate[$item->getId()])) { + continue; +diff --git a/vendor/magento/module-sales-rule/Model/ResourceModel/Rule/Collection.php b/vendor/magento/module-sales-rule/Model/ResourceModel/Rule/Collection.php +index c7a34423069..a2d4af28900 100644 +--- a/vendor/magento/module-sales-rule/Model/ResourceModel/Rule/Collection.php ++++ b/vendor/magento/module-sales-rule/Model/ResourceModel/Rule/Collection.php +@@ -113,26 +113,29 @@ class Collection extends \Magento\Rule\Model\ResourceModel\Rule\Collection\Abstr + + $entityInfo = $this->_getAssociatedEntityInfo($entityType); + $ruleIdField = $entityInfo['rule_id_field']; +- $entityIds = $this->getColumnValues($ruleIdField); ++ ++ $items = []; ++ foreach ($this->getItems() as $item) { ++ $items[$item->getData($ruleIdField)] = $item; ++ } + + $select = $this->getConnection()->select()->from( + $this->getTable($entityInfo['associations_table']) + )->where( + $ruleIdField . ' IN (?)', +- $entityIds ++ array_keys($items) + ); + + $associatedEntities = $this->getConnection()->fetchAll($select); + +- array_map( +- function ($associatedEntity) use ($entityInfo, $ruleIdField, $objectField) { +- $item = $this->getItemByColumnValue($ruleIdField, $associatedEntity[$ruleIdField]); +- $itemAssociatedValue = $item->getData($objectField) ?? []; +- $itemAssociatedValue[] = $associatedEntity[$entityInfo['entity_id_field']]; +- $item->setData($objectField, $itemAssociatedValue); +- }, +- $associatedEntities +- ); ++ $dataToAdd = []; ++ foreach ($associatedEntities as $associatedEntity) { ++ //group data ++ $dataToAdd[$associatedEntity[$ruleIdField]][] = $associatedEntity[$entityInfo['entity_id_field']]; ++ } ++ foreach ($dataToAdd as $id => $value) { ++ $items[$id]->setData($objectField, $value); ++ } + } + + /** +diff --git a/vendor/magento/module-sales-rule/Model/Rule.php b/vendor/magento/module-sales-rule/Model/Rule.php +index 386642c22ab..d35ed63e908 100644 +--- a/vendor/magento/module-sales-rule/Model/Rule.php ++++ b/vendor/magento/module-sales-rule/Model/Rule.php +@@ -38,7 +38,6 @@ use Magento\Quote\Model\Quote\Address; + * @method \Magento\SalesRule\Model\Rule setProductIds(string $value) + * @method int getSortOrder() + * @method \Magento\SalesRule\Model\Rule setSortOrder(int $value) +- * @method string getSimpleAction() + * @method \Magento\SalesRule\Model\Rule setSimpleAction(string $value) + * @method float getDiscountAmount() + * @method \Magento\SalesRule\Model\Rule setDiscountAmount(float $value) +@@ -547,6 +546,17 @@ class Rule extends \Magento\Rule\Model\AbstractModel + return $this->getData('from_date'); + } + ++ /** ++ * Get from date. ++ * ++ * @return string ++ * @since 100.1.0 ++ */ ++ public function getSimpleAction() ++ { ++ return $this->_getData('simple_action'); ++ } ++ + /** + * Get to date. + * +diff --git a/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/CartFixed.php b/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/CartFixed.php +index 2f9dbb9faea..485b98c2256 100644 +--- a/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/CartFixed.php ++++ b/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/CartFixed.php +@@ -80,7 +80,6 @@ class CartFixed extends AbstractDiscount + + $ruleTotals = $this->validator->getRuleItemTotalsInfo($rule->getId()); + $baseRuleTotals = $ruleTotals['base_items_price'] ?? 0.0; +- $baseRuleTotalsDiscount = $ruleTotals['base_items_discount_amount'] ?? 0.0; + $ruleItemsCount = $ruleTotals['items_count'] ?? 0; + + $address = $item->getAddress(); +@@ -134,7 +133,7 @@ class CartFixed extends AbstractDiscount + $qty, + $baseItemPrice, + $baseItemDiscountAmount, +- $baseRuleTotals - $baseRuleTotalsDiscount, ++ $baseRuleTotals - $address->getBaseDiscountAmount(), + $discountType + ); + } +diff --git a/vendor/magento/module-sales-rule/Model/Validator.php b/vendor/magento/module-sales-rule/Model/Validator.php +index 998d1c3a2a8..c6a0ecf60ff 100644 +--- a/vendor/magento/module-sales-rule/Model/Validator.php ++++ b/vendor/magento/module-sales-rule/Model/Validator.php +@@ -460,6 +460,7 @@ class Validator extends \Magento\Framework\Model\AbstractModel + $ruleTotalBaseItemsDiscountAmount = 0; + $validItemsCount = 0; + ++ /** @var Quote\Item $item */ + foreach ($items as $item) { + if (!$this->isValidItemForRule($item, $rule) + || ($item->getChildren() && $item->isChildrenCalculated()) +diff --git a/vendor/magento/framework/GraphQl/Query/Fields.php b/vendor/magento/framework/GraphQl/Query/Fields.php +index 78062effe3d..009048cdb1a 100644 +--- a/vendor/magento/framework/GraphQl/Query/Fields.php ++++ b/vendor/magento/framework/GraphQl/Query/Fields.php +@@ -44,7 +44,7 @@ class Fields + ] + ); + if (isset($variables)) { +- $queryFields = array_merge($queryFields, $this->extractVariables($variables)); ++ $this->extractVariables($queryFields, $variables); + } + // phpcs:ignore Magento2.CodeAnalysis.EmptyBlock + } catch (\Exception $e) { +@@ -73,21 +73,21 @@ class Fields + /** + * Extract and return list of all used fields in GraphQL query's variables + * ++ * @param array $fields + * @param array $variables + * +- * @return string[] ++ * @return void + */ +- private function extractVariables(array $variables): array ++ private function extractVariables(array &$fields, array $variables): void + { +- $fields = []; + foreach ($variables as $key => $value) { + if (is_array($value)) { +- // phpcs:ignore Magento2.Performance.ForeachArrayMerge +- $fields = array_merge($fields, $this->extractVariables($value)); ++ $this->extractVariables($fields, $value); ++ } else { ++ if (is_string($key)) { ++ $fields[$key] = $key; ++ } + } +- $fields[$key] = $key; + } +- +- return $fields; + } + } diff --git a/patches/os/ACSD-57565_2.4.6-p3.patch b/patches/os/ACSD-57565_2.4.6-p3.patch new file mode 100644 index 00000000..5e4cd449 --- /dev/null +++ b/patches/os/ACSD-57565_2.4.6-p3.patch @@ -0,0 +1,163 @@ +diff --git a/vendor/magento/module-backend/Block/Dashboard/Totals.php b/vendor/magento/module-backend/Block/Dashboard/Totals.php +index 73e6bc1ab9e8..4bdcd24d2b61 100644 +--- a/vendor/magento/module-backend/Block/Dashboard/Totals.php ++++ b/vendor/magento/module-backend/Block/Dashboard/Totals.php +@@ -13,6 +13,7 @@ + use Magento\Reports\Model\ResourceModel\Order\Collection; + use Magento\Reports\Model\ResourceModel\Order\CollectionFactory; + use Magento\Store\Model\Store; ++use Magento\Framework\App\ObjectManager; + + /** + * Adminhtml dashboard totals bar +@@ -31,19 +32,27 @@ class Totals extends Bar + */ + protected $_moduleManager; + ++ /** ++ * @var Period ++ */ ++ private $period; ++ + /** + * @param Context $context + * @param CollectionFactory $collectionFactory + * @param Manager $moduleManager + * @param array $data ++ * @param Period|null $period + */ + public function __construct( + Context $context, + CollectionFactory $collectionFactory, + Manager $moduleManager, +- array $data = [] ++ array $data = [], ++ ?Period $period = null + ) { + $this->_moduleManager = $moduleManager; ++ $this->period = $period ?? ObjectManager::getInstance()->get(Period::class); + parent::__construct($context, $collectionFactory, $data); + } + +@@ -63,7 +72,8 @@ protected function _prepareLayout() + ) || $this->getRequest()->getParam( + 'group' + ); +- $period = $this->getRequest()->getParam('period', Period::PERIOD_24_HOURS); ++ $firstPeriod = array_key_first($this->period->getDatePeriods()); ++ $period = $this->getRequest()->getParam('period', $firstPeriod); + + /* @var $collection Collection */ + $collection = $this->_collectionFactory->create()->addCreateAtPeriodFilter( +diff --git a/vendor/magento/module-backend/Model/Dashboard/Chart/Date.php b/vendor/magento/module-backend/Model/Dashboard/Chart/Date.php +index 2d1e5e977eaf..ab2ca43ef13f 100644 +--- a/vendor/magento/module-backend/Model/Dashboard/Chart/Date.php ++++ b/vendor/magento/module-backend/Model/Dashboard/Chart/Date.php +@@ -7,6 +7,7 @@ + + namespace Magento\Backend\Model\Dashboard\Chart; + ++use DateTimeZone; + use Magento\Backend\Model\Dashboard\Period; + use Magento\Framework\Stdlib\DateTime\TimezoneInterface; + use Magento\Reports\Model\ResourceModel\Order\CollectionFactory; +@@ -54,40 +55,32 @@ public function getByPeriod(string $period): array + '', + true + ); +- + $timezoneLocal = $this->localeDate->getConfigTimezone(); +- $localStartDate = new \DateTime($dateStart->format('Y-m-d H:i:s'), new \DateTimeZone($timezoneLocal)); +- $localEndDate = new \DateTime($dateEnd->format('Y-m-d H:i:s'), new \DateTimeZone($timezoneLocal)); ++ ++ $dateStart->setTimezone(new DateTimeZone($timezoneLocal)); ++ $dateEnd->setTimezone(new DateTimeZone($timezoneLocal)); + + if ($period === Period::PERIOD_24_HOURS) { +- $localEndDate = new \DateTime('now', new \DateTimeZone($timezoneLocal)); +- $localStartDate = clone $localEndDate; +- $localStartDate->modify('-1 day'); +- $localStartDate->modify('+1 hour'); +- } elseif ($period === Period::PERIOD_TODAY) { +- $localEndDate->modify('now'); +- } else { +- $localEndDate->setTime(23, 59, 59); +- $localStartDate->setTime(0, 0, 0); ++ $dateEnd->modify('-1 hour'); + } + + $dates = []; + +- while ($localStartDate <= $localEndDate) { ++ while ($dateStart <= $dateEnd) { + switch ($period) { + case Period::PERIOD_7_DAYS: + case Period::PERIOD_1_MONTH: +- $d = $localStartDate->format('Y-m-d'); +- $localStartDate->modify('+1 day'); ++ $d = $dateStart->format('Y-m-d'); ++ $dateStart->modify('+1 day'); + break; + case Period::PERIOD_1_YEAR: + case Period::PERIOD_2_YEARS: +- $d = $localStartDate->format('Y-m'); +- $localStartDate->modify('first day of next month'); ++ $d = $dateStart->format('Y-m'); ++ $dateStart->modify('first day of next month'); + break; + default: +- $d = $localStartDate->format('Y-m-d H:00'); +- $localStartDate->modify('+1 hour'); ++ $d = $dateStart->format('Y-m-d H:00'); ++ $dateStart->modify('+1 hour'); + } + + $dates[] = $d; +diff --git a/vendor/magento/module-reports/Model/ResourceModel/Order/Collection.php b/vendor/magento/module-reports/Model/ResourceModel/Order/Collection.php +index 67e451c4c591..736733a2f980 100644 +--- a/vendor/magento/module-reports/Model/ResourceModel/Order/Collection.php ++++ b/vendor/magento/module-reports/Model/ResourceModel/Order/Collection.php +@@ -7,6 +7,7 @@ + namespace Magento\Reports\Model\ResourceModel\Order; + + use Magento\Framework\DB\Select; ++use DateTimeZone; + + /** + * Reports orders collection +@@ -411,19 +412,22 @@ protected function _getTZRangeExpressionForAttribute($range, $attribute, $tzFrom + public function getDateRange($range, $customStart, $customEnd, $returnObjects = false) + { + $dateEnd = new \DateTime(); +- $dateStart = new \DateTime(); ++ $timezoneLocal = $this->_localeDate->getConfigTimezone(); ++ ++ $dateEnd->setTimezone(new DateTimeZone($timezoneLocal)); + + // go to the end of a day + $dateEnd->setTime(23, 59, 59); + ++ $dateStart = clone $dateEnd; + $dateStart->setTime(0, 0, 0); + + switch ($range) { + case 'today': +- $dateEnd->modify('now'); ++ $dateEnd = new \DateTime('now', new \DateTimeZone($timezoneLocal)); + break; + case '24h': +- $dateEnd = new \DateTime(); ++ $dateEnd = new \DateTime('now', new \DateTimeZone($timezoneLocal)); + $dateEnd->modify('+1 hour'); + $dateStart = clone $dateEnd; + $dateStart->modify('-1 day'); +@@ -468,7 +472,8 @@ public function getDateRange($range, $customStart, $customEnd, $returnObjects = + } + break; + } +- ++ $dateStart->setTimezone(new DateTimeZone('UTC')); ++ $dateEnd->setTimezone(new DateTimeZone('UTC')); + if ($returnObjects) { + return [$dateStart, $dateEnd]; + } else { diff --git a/patches/os/ACSD-57570_2.4.4-p3.patch b/patches/os/ACSD-57570_2.4.4-p3.patch new file mode 100644 index 00000000..d27ae6a9 --- /dev/null +++ b/patches/os/ACSD-57570_2.4.4-p3.patch @@ -0,0 +1,119 @@ +diff --git a/vendor/magento/module-customer/Block/Adminhtml/Group/AddCustomerGroupButton.php b/vendor/magento/module-customer/Block/Adminhtml/Group/AddCustomerGroupButton.php +new file mode 100644 +index 000000000000..e233a5be8a81 +--- /dev/null ++++ b/vendor/magento/module-customer/Block/Adminhtml/Group/AddCustomerGroupButton.php +@@ -0,0 +1,32 @@ ++ __('Add New Customer Group'), ++ 'class' => 'primary', ++ 'url' => $this->getUrl('*/*/new'), ++ 'sort_order' => 80, ++ ]; ++ } ++} +diff --git a/vendor/magento/module-customer/Ui/Component/Listing/Column/GroupActions.php b/vendor/magento/module-customer/Ui/Component/Listing/Column/GroupActions.php +index 459ac3e29e99..954293f58dc2 100644 +--- a/vendor/magento/module-customer/Ui/Component/Listing/Column/GroupActions.php ++++ b/vendor/magento/module-customer/Ui/Component/Listing/Column/GroupActions.php +@@ -28,8 +28,8 @@ class GroupActions extends Column + /** + * Url path + */ +- const URL_PATH_EDIT = 'customer/group/edit'; +- const URL_PATH_DELETE = 'customer/group/delete'; ++ public const URL_PATH_EDIT = 'customer/group/edit'; ++ public const URL_PATH_DELETE = 'customer/group/delete'; + + /** + * @var GroupManagementInterface +@@ -99,7 +99,7 @@ public function prepareDataSource(array $dataSource) + ], + ]; + +- if (!$this->groupManagement->isReadonly($item['customer_group_id'])) { ++ if (!$this->canHideDeleteButton((int) $item['customer_group_id'])) { + $item[$this->getData('name')]['delete'] = [ + 'href' => $this->urlBuilder->getUrl( + static::URL_PATH_DELETE, +@@ -124,4 +124,17 @@ public function prepareDataSource(array $dataSource) + + return $dataSource; + } ++ ++ /** ++ * Check if delete button can visible ++ * ++ * @param int $customer_group_id ++ * @return bool ++ * @throws LocalizedException ++ * @throws NoSuchEntityException ++ */ ++ public function canHideDeleteButton(int $customer_group_id): bool ++ { ++ return $this->groupManagement->isReadonly($customer_group_id); ++ } + } +diff --git a/vendor/magento/module-customer/view/adminhtml/ui_component/customer_group_listing.xml b/vendor/magento/module-customer/view/adminhtml/ui_component/customer_group_listing.xml +index 0787e0713aa9..b9808747c6c7 100644 +--- a/vendor/magento/module-customer/view/adminhtml/ui_component/customer_group_listing.xml ++++ b/vendor/magento/module-customer/view/adminhtml/ui_component/customer_group_listing.xml +@@ -13,11 +13,7 @@ + + + +- ++