[PaaS only]{class="badge informative" title="Applies to Adobe Commerce on Cloud projects (Adobe-managed PaaS infrastructure) and on-premises projects only."}

Adobe Commerce 2.4.9-alpha release notes

IMPORTANT
Alpha releases may be incomplete, and are likely to contain defects. They are provided “AS IS” without warranty of any kind. Adobe has no obligation to maintain, correct, update, change, modify, or otherwise support (via Adobe Support Services or otherwise) Alpha releases. Customers should not rely on the correct functioning or performance of Alpha releases or any accompanying documentation or materials. Use of Alpha releases is entirely at the customer’s own risk.

Highlights in v2.4.9-alpha2

The following highlights apply to the Adobe Commerce 2.4.9-alpha2 release.

Framework

Add support for OpenSearch 3

Adobe Commerce 2.4.9 is now fully compatible with OpenSearch 3.x. This update enables merchants to benefit from improved performance, security, and long-term support while maintaining backward compatibility with OpenSearch 2.x.

AC-11846

Update Nginx version from 1.26 to 1.28

The Nginx version used in development and testing environments across all the currently supported version of Adobe Commerce is updated from 1.26 to 1.28, aligning with the latest stable Nginx release available.
PR-level testing now runs against Nginx 1.28 confirming full compatibility and support for all the Adobe Commerce versions.

AC-14104

Investigate the latest version jquery-validate

Upgraded the jQuery Validate library to version 1.21.0 to enhance form validation capabilities, improve user experience, and ensure modern browser compatibility across all Adobe Commerce forms in both admin and frontend interfaces.

AC-14403 - GitHub code contribution

Investigate the latest version jquery-ui

Upgraded the jQuery UI library to version 1.14.1 to enhance user interface widgets, improve accessibility, and ensure modern browser compatibility across all Adobe Commerce admin and frontend interface components.

AC-14417 - GitHub code contribution

Investigate the latest version less.js

Upgraded the Less.js CSS preprocessor to version 4.2.2 to enhance CSS compilation performance, improve syntax support, and modernize the theme build process across all Adobe Commerce frontend and admin themes.

AC-14418 - GitHub code contribution

Investigate the latest version moment-timezone-with-data.js

Upgraded the Moment Timezone library to version 0.5.43 to enhance timezone handling capabilities, update timezone data with latest IANA Time Zone Database changes, and improve date/time processing accuracy across all Adobe Commerce international and multi-timezone operations.

AC-14419 - GitHub code contribution

Investigate the latest version underscore.js

Upgraded the Underscore.js utility library to version 1.13.7 to enhance JavaScript functional programming capabilities, improve data manipulation performance, and ensure modern browser compatibility across all Adobe Commerce frontend and admin interface components.

AC-14420 - GitHub code contribution

Migrate from TinyMCE to Hugerte.org

Due to the end of support for TinyMCE 5 and 6 and licensing incompatibilities with TinyMCE 7, The current implementation of Adobe Commerce WYSIWYG editor is migrated from TinyMCE to the open-source HugeRTE editor (https://hugerte.org/).
This migration ensures Adobe Commerce remains compliant with open-source licensing, avoids known TinyMCE 6 vulnerabilities, and delivers a modern, supported editing experience for merchants and developers.

AC-14568

Add Full Valkey 8.x support for 2.4.9-alpha2

Adobe Commerce 2.4.9 has a full CLI commands support for Valkey, mirroring currently existing Redis functionality. Admin and cloud configuration updated to allow seamless Valkey setup.
This update ensures Adobe Commerce remains future-proof and performant by supporting Valkey 8.x, giving merchants and developers a reliable alternative to Redis as it approaches end-of-life.

AC-14604

Other

Update the AWS Valkey 8.x Service for CNS Build and Test

Update the AWS Valkey 8.x Service for CNS Build

AC-14470

2.4.9-alpha2 - August Core Quality Improvements

AC-14700

Security

Security Improvements for 2.4.9-alpha2

AC-14610

Shipping

Migrate USPS integration from outdated Web Tools APIs to new RESTful USPS APIs

To comply with USPS’s announced of retirement of the legacy Web Tools APIs by January 25, 2026, Adobe Commerce USPS integration is migrated to the new RESTful USPS APIs.
Key Enhancements:

  • Dual API Support: Admin users can now choose between the legacy Web Tools API and the new RESTful USPS API via configuration settings.
  • Authentication Upgrade: Implemented OAuth 2.0 for secure API access.
  • Improved Data Format: Transitioned from XML to JSON for cleaner, more efficient communication.
  • New Admin Fields:
    Gateway REST URL (based on mode: Development or Live)
    Client ID & Secret
    Account Type, Account Number
    CRID, MID, Mailer Identification Code
    AES/ITN for international shipments
    REST-specific allowed shipping methods
    This migration ensures Adobe Commerce remains compliant with USPS standards, improves system reliability, and future-proofs shipping integrations for merchants.

AC-13257

Highlights in v2.4.9-alpha1

The following highlights apply to the Adobe Commerce 2.4.9-alpha1 release.

Admin UI

Add "Actions" menu for the Catalog Price Rules grid in Admin UI

AC-13916

Framework

[Part 2] - Update all js library and npm dependency with the latest available version

composer version support was up to the composer version 2.2.x only. Now, the support extended to 2.4.x version as well.

AC-13792 - GitHub code contribution

Add compatibility for Valkey 8.x for 2.4.8, 2.4.7, 2.4.6 and 2.4.5, 2.4.9-alpha1

AC-14103

Check compatibility with Varnish 7.7

AC-14105

Add compatibility for RabbitMQ 4.1 for 2.4.8, 2.4.7, 2.4.6 and 2.4.5

AC-14357

Other

2.4.9-alpha1 - June Core Quality Improvements

AC-14026

Make 2.4.7 and 2.4.6 compatible with MariaDB 10.11

AC-14099

2.4.9-alpha1 - June 2025 Community contributions

AC-14559

Shipping

Migrate DHL integration from outdated DHL Express XML to new MyDHL API RESTful APIs

AC-13258

Security

For the latest information about security bug fixes, see Adobe Security Bulletin APSB25-50.

This release includes the following highlights:

  • API performance enhancement—Resolves performance degradation in bulk asynchronous web API endpoints that were introduced after the previous security patch.

  • CMS Blocks access fix—Resolves an issue where Admin users with restricted permissions (such as merchandising-only access) were unable to view the CMS Blocks listing page.

    Previously, these users encountered an error due to missing configuration parameters after installing previous security patches.

  • Cookie limit compatibility—Resolves a backward-incompatible change involving the MAX_NUM_COOKIES constant in the framework. This update restores expected behavior and ensures compatibility for extensions or customizations that interact with cookie limits.

  • Async operations—Restricted async operations for overriding previous customers orders.

  • Fix for CVE-2025-47110—Resolves an email templates vulnerability.

recommendation-more-help

The fix for CVE-2025-47110 is also available as an isolated patch. See the Knowledge Base article for details.

Fixed issues in v2.4.9-alpha2

We have fixed 118 issues in the Adobe Commerce 2.4.9-alpha2 core code. A subset of the fixed issues included in this release is described below.

APIs

Special Price To Date is wrongly validated on applySpecialPrice

The system is working fine regarding Special price and Product special price will be expire on date set by admin or 3rd party system by REST API

AC-13130 - GitHub issue - GitHub code contribution

Malformed request body or parameters cause "Internal Server Error"

AC-746 - GitHub issue - GitHub code contribution

Order "base_row_total" and "row_total" show single item price in REST API response

REST api response for order details now contains correct values for "base_row_total" and "row_total" attributes in case when several same items were ordered

ACP2E-3874 - GitHub code contribution

APIs, Order

[CLOUD] Order information issue with row total appearance for order 000075568

Fixes the issue where the row_total_incl_tax value in the order API response was returned as a near-zero residual value instead of 0.00 when an item was fully discounted.

ACP2E-3950 - GitHub code contribution

Account

Issue when updating customer email in Admin Panel with ö and .swiss domain

AC-13409 - GitHub issue - GitHub code contribution

Newsletter subscribe enabled switch not working per website/store

The System Correctly handles subscription with newsletter when we are having multiple websites/storeviews when it was disabled at global level

AC-14283 - GitHub issue - GitHub code contribution

Deprecate a "Product was viewed" customer segment condition

AC-14542

[Issue] Removed email disclosure

The System now shows Display an error message indicating an incorrect email if the entered email is not required to confirm the account, regardless of whether the customer exists or not.

AC-14561 - GitHub issue - GitHub code contribution

Admin UI

FPT value in cart page and product page are different for same configurations for simple product

AC-13066 - GitHub code contribution

Multiselect/select attribute options can not be saved when Swatches modules disabled

AC-13071 - GitHub code contribution

FPT value in cart page and product page are different for same configurations for a dynamic product

AC-13075 - GitHub code contribution

Hover colour not applied on static grids in admin

Hover colors are now applied as expected on the rows of Admin static grids.GitHub-35358

AC-2916 - GitHub issue - GitHub code contribution

Restricted admin users can't mass update product status

The custom admin can mass update product status as it's a website-level property. The status is updated only on the websites the restricted admin has access too.

ACP2E-3772

[Staging2] Stored cards are not visible on Admin panel

Fixes the issue where the "Stored Card" payment option no longer appeared in the backend order placement form after an upgrade.

ACP2E-3830 - GitHub code contribution

B2B

company field validation fails for guest checkout

AC-14987 - GitHub issue - GitHub code contribution

Bundle

Exclude hugerte Editor JS Files from Bundled Output Across Themes

AC-15128 - GitHub code contribution - GitHub code contribution

Cart & Checkout

Grouped Product Frontend Quantity Validations are Missing

The system is now working fine and displaying validation error when we are trying to add negative qty and max qty

AC-13524 - GitHub issue - GitHub code contribution

Guest Prefix Not Saved to Quote Address 2.4.8

AC-14705 - GitHub issue - GitHub code contribution

[Issue] Set price on quote item instead of base_price

The system correctly handles quote item's price set to the base_price instead of the price if you have multiple currencies in one website on the frontend

AC-9985 - GitHub issue - GitHub code contribution

[Cloud] Recent Orders not appearing in other store view if the orders are created on one store view

Resolved an issue where the "My Account" page did not display recent orders from other Store Views within the same Store. The order retrieval logic has been updated to ensure consistent order visibility across all Store Views, aligning with the behavior of the "My Orders" page.

ACP2E-3807 - GitHub code contribution

qty showing as 0 in the admin customer shopping cart section while adding BUNDLE products

The Shopping Cart section in Customer Activities now displays the correct quantity. Previously, the quantity was shown as 0.

ACP2E-3872 - GitHub code contribution

Cart & Checkout, GraphQL

Error in mapping message to error code when placing order via GraphQL

GraphQL calls to place an order for a nonexistent or inactive cart now correctly return CART_NOT_ACTIVE or CART_NOT_FOUND error codes in all store views, fixing an issue where translated error messages previously resulted in an UNDEFINED code.

ACP2E-3942 - GitHub code contribution

Cart & Checkout, GraphQL, Inventory / MSI

is_available attribute in CartItemInterface returns false even when salable stock is high

The is_available attribute returns true when salable stock is high. Previously, it always return false.

ACP2E-3885 - GitHub code contribution

Catalog

Scope bug in Catalog URL resource (_getCategories)

This PR adds a fallback to default scope if there is no value defined on the store scope in category URL resource.

AC-11011 - GitHub issue - GitHub code contribution

[Issue] Check if OpenGraph can show price

The system is working fine when we use plugin which hides the price and with this change price is not visible in the OG tag.

AC-11635 - GitHub issue - GitHub code contribution

[Bug] REST API: Update special prices does not set values for all store views

AC-13671 - GitHub issue - GitHub code contribution

[\Magento\ConfigurableProduct\Model\Product\Type\Configurable] PHP error unoticed

This PR Change a loop variable name to correctly add the "_cache_instance_product_ids" data on the given product to be used on subsequent calls.

AC-14159 - GitHub issue - GitHub code contribution

[Mainline] [CLOUD] Image Resizing consumes over 400GB of disk space

After the fix, the catalog:images:resize command used with --skip_hidden_images flag will not generate image caches for websites where images are not present.

ACP2E-3869 - GitHub code contribution

Provided CountryID Does not Exist - Ireland (IE)

After the fix, Ireland postcodes are available to search for pickup locations.

ACP2E-3932 - GitHub code contribution - GitHub code contribution

Catalog, Performance

Categories in admin are loading very slow

The category loading performance has a significant improved. Previously, it took so long to load the category that caused a timeout issue.

ACP2E-3891 - GitHub code contribution

Catalog, Pricing

Wrong catalog price rule discount applied to the child product

Fixes the issue where the catalog price rule for the variation is overridden by the parent configurable product, in case where both rules have the same priority.

ACP2E-3693 - GitHub code contribution

RestApi request '/rest/default/V1/categories?searchCriteria%5Bpage_size%5D=1' fails with timeout error

AC-13358 - GitHub code contribution

Content

AC-13262 - GitHub issue

The system is working as expected in the store scopes the images inherit the roles/types of the new added image as per the default scope

AC-13556 - GitHub issue - GitHub code contribution

[Small Bug] Filter of Admin Panel listing component cannot hit when field value contains \

The system is working fine when we are filtering page title having slash in it(eg: Magento\Store)

AC-13661 - GitHub issue - GitHub code contribution

"The CMS page with the "0" ID doesn't exist" log flood

The system is working as expected after creating admin user and when we creating a new page system.log does not have any error messages

AC-14254 - GitHub issue - GitHub code contribution

The System now correctly handles widgets after adding catalog product link and catalog category link and it shows correct urls in html source also

AC-14437 - GitHub issue - GitHub code contribution

Page Builder's Product component doesn't work if the user doesn't have Widget permission

Prior to the fix, when accessing a widget without permissions, the page was throwing a generic error and displaying a "loading" GIF. Now, after the fix, a modal window is displayed with "Sorry, you need permissions to view this content." message.

ACP2E-3664 - GitHub code contribution

Page Builder Product Widget ordering not being applied in GraphQL

Fixes the issue where the GraphQL "route" query response did not return products in the correct sort order within a Page Builder Products content type.

ACP2E-3898 - GitHub code contribution

Pricing Display Issue on Non-English Storefronts Due to ICU Library Version

After the fix, the product price is displayed correctly in the Hebrew (Israel) locale.

ACP2E-3938 - GitHub code contribution

Updating Store Code Cleared Design Configuration

Fixes the issue where updating the store view code cleared the Design Configuration settings due to the configuration cache not being properly refreshed.

ACP2E-3941 - GitHub code contribution

Framework

Error when run command setup:upgrade with custom DB trigger

AC-11487 - GitHub issue

Website/Group/Store entity form can't be extended with multiple value form element for extension attributes

This PR allowes multivalue form elements to submit data to website/group/store form.

AC-11657 - GitHub issue - GitHub code contribution

[Issue] Remove scope resolver usage

This PR resolves the Admin URL settings globally instead of the current store

AC-11736 - GitHub issue - GitHub code contribution

Magento Version exposure via Setup route with default Nginx Configuration

The system is now working as expected and do not expose the exact version of Magento the site is running

AC-13205 - GitHub issue - GitHub code contribution

[Issue] refactor quote address do validate method

This PR includes readability improvements to the doValidate method.

AC-13214 - GitHub issue - GitHub code contribution

Magento option --magento-init-params never used when running cli?

AC-13231 - GitHub issue - GitHub code contribution

getItemsByColumnValue wrong type declaration

The system now correctly defines the input parameter $value as a primitive type, not an array, in the getItemsByColumnValue function, ensuring that the function returns the expected collection. Previously, if an array with a single value was used as the input parameter, the function would return null and IDEs would mark it as an error.

AC-13240 - GitHub issue - GitHub code contribution

Cache Keys associated with FPC on Magento 2.4.7 multi-store implementations

AC-13719 - GitHub issue - GitHub code contribution

Magento Rest API exposing PII

AC-13904 - GitHub issue

Partial indexation stop working for customers with huge # of updates

AC-14424 - GitHub code contribution

Investigate "use strict" is unnecessary inside of modules

AC-14517 - GitHub code contribution

After Downloading shipping label we can see some shipping amount it was not matching with shipping and handling price.

AC-14560

MView mechanism silently ignores errors on trigger execution

AC-14567 - GitHub code contribution

[Issue] Avoid lots of uncessary exceptions during layout XML merge loading

This PR introduce a new function (for B/C compat we don't overwrite the protected _loadXmlString) to load and not throw an exception

AC-14580 - GitHub issue - GitHub code contribution

[Issue] Use constructor property promotion in module Vault graph Ql

This PR replace constructor properties with property promotion in VaultGraphQl module

AC-14616 - GitHub issue - GitHub code contribution

[Issue] Removed code redundancy for module frontend layouts.

This PR removes code redundancy to theme layouts for Magento_Msrp, Magento_LoginAsCustomerAssistance, Magento_Newsletter & Magento_Sitemap modules frontend layouts.

AC-14625 - GitHub issue - GitHub code contribution

This PR clean up the code related to Mircrosoft IIS as per Magento System Requirement documentation which states that the Microsoft Windows OS is not supported

AC-14702 - GitHub issue - GitHub code contribution

Magnifier.js syntax error

The system Magnifier functionality should keep working the way it worked before and magnifierOptions should not be available in global scope

AC-14722 - GitHub issue - GitHub code contribution

Backport Verbose Mode in setup:db:status CLI command

AC-14807 - GitHub code contribution

SMTP mail send with tls and 2.4.8

AC-14883 - GitHub issue - GitHub code contribution - GitHub code contribution - GitHub code contribution

[Issue] Fix concurrency issue in static content deploy

This PR fixes a bug in which multiple concurrent processes spin up to handle the same theme package, depending on how the themes are defined with their parents.

AC-14944 - GitHub issue - GitHub code contribution

[Issue] Remove legacy compatibility code for PHP versions < 8.1

This pull request removes code that was designed to be ran on PHP <8.1.
Also, removed checks for PHP_VERSION_ID contact availability, since it's available in all PHP versions

AC-14971 - GitHub issue - GitHub code contribution

FPC not work when login

AC-14999 - GitHub issue - GitHub code contribution

[Issue] improve error handling SchemaBuilder

This PR improves the error message handling of db schema. It helps us to identify issue without heavy debugging.

AC-15020 - GitHub issue - GitHub code contribution

Integration Test failure on SYNC PR for 2.4.9-alpha2-develop due to CliStateTest modification

AC-15136 - GitHub code contribution

PHP8.1 type bugfix

The associated products are now initialized to an empty array instead of false when the strict processing mode is not active or when product information is available. This change ensures that the subsequent logic handling associated products behaves consistently, improving stability and predictability in the product preparation process.

AC-6017 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag from framework (part 3)

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8343 - GitHub issue - GitHub code contribution

[Issue] Use constructor property promotion in module send friend graph ql

The system now utilizes constructor property promotion in the 'send friend' GraphQL module, enhancing code readability and reducing complexity. Previously, the module used properties that occupied numerous lines, making the code more complex and less readable.

AC-8346 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag from Magento_Downloadable

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8355 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to coding standards by removing the forbidden @author tag from certain modules, enhancing code quality and consistency. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8358 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8360 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, ensuring cleaner and more standardized code. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8361 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8363 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8375 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8376 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8400 - GitHub issue - GitHub code contribution

[Issue] Remove forbidden @author tag

The system now adheres to the coding standards by removing the forbidden @author tag from certain modules, enhancing the overall code quality. Previously, the presence of this tag in some modules was in violation of the established coding standards.

AC-8401 - GitHub issue - GitHub code contribution

[Issue] Improve Extensibility of Service URL Generation

The system now allows for customization of the Service URL Generation function via plugins, promoting a more maintainable approach to modifications. Previously, customization of this function was achieved through preferences, which may not have been as efficient or maintainable.

AC-8813 - GitHub issue - GitHub code contribution

Issue with upgrade 2.4.7-p5 due to added new validation

Fixed an issue in the SchemaBuilder class where an undefined array key "column" caused a crash during schema creation or updates. This occurred when processing table data that did not include a "column" key.

ACP2E-3871 - GitHub code contribution

PHP8.4 Deprecation Error: E_USER_ERROR after Upgrade to Adobe Commerce 2.4.8

Customer-facing scenarios are not affected by the fix.

ACP2E-3963 - GitHub code contribution

Opensearch 2.19.1 illegal_argument_exception on one-priced categories

Opensearch is no longer throwing an illegal_argument_exception on the categories containing all products with the same price. Previously, it has this exception "[from] parameter cannot be negative".

ACP2E-3896 - GitHub code contribution

GraphQL

customerOrders graphql returns error when product was deleted

The customerOrders graphql request is no longer throwing an error even the product in the order was deleted. Previously, "Internal server error" error was thrown.

ACP2E-3936

Wishlist items are not shared between stores views within one website in GraphQL request

Prior to the fix, wishlist items were filtered by store id. Now, after the fix, wishlist items are filtered by website.

ACP2E-3987 - GitHub code contribution

GraphQL, Product

Product graphql missing media_type in MediaGalleryInterface

The MediaGallery GraphQL request now includes the "types" field for product image types. Previously, this "types" field did not exist in the MediaGallery GraphQL request.

ACP2E-3880 - GitHub code contribution

Inventory / MSI

No store is available after redirecting to home page and checkout

Previously selected store will now be pre-selected in the “Pick in Store” shipping if the customer navigates to the payment page, then returns to the home page, and finally returns to the checkout page. Previously, after repeatedly returning to the checkout page, the selected store in the “Pick in Store” would be cleared.

ACP2E-3793 - GitHub code contribution - GitHub code contribution

Order

AbstractAddress setData('custom_attributes', AttributeValue[]) breaks customAttributes

AC-10568 - GitHub issue

v2.4.7-p1 Magento reorder -1 order numbers

The system is working as expected and after reorder from the backend the order number will be unique 8 digits

AC-12854 - GitHub issue - GitHub code contribution

Losing product custom option file upload when checking out with Adobe credit card payment method

AC-14306 - GitHub issue

Order status stuck on Processing

Prior to the fix, when ordering a bundle product with "Ship toghether" option enabled, the order status did not automatically switch to "complete" after invoice and shipment. Now, after the fix, the order status automatically switches to "complete" after the order has been invoiced and shipped.

ACP2E-3947 - GitHub code contribution

[Cloud]Magento OOTB code - Email Template Setup issue

Prior to the fix, when using async email sending, shipment emails were incosisten with the store order. Now, after the fix, the proper store shipment email order is delivered.

ACP2E-3998 - GitHub code contribution

Other Developer Tools

[Issue] Wrong type hint for the protected member $_urlHelper

The system now Fixes the wrong type hint with the correct one, that is also used in constructor

AC-10716 - GitHub issue - GitHub code contribution

Performance

[Issue] Update Store.php

This PR improves performance by skipping current store resolution.

AC-14791 - GitHub issue - GitHub code contribution

Pricing

Price is always 0 for bundle product items without dynamic price in order rest API

AC-11925 - GitHub issue - GitHub code contribution

Product

Percentage discount on tier price and catalog price rule calculated on original price without selected options.

AC-12004 - GitHub issue

Magento 2.4.7 minAllowed missing product order qty

The system is working fine and page source is showing correctly the min qty of the product

AC-12909 - GitHub issue - GitHub code contribution

Magento Exception while executing Magento Payflow Pro Test

AC-13681

Issue with the Customizable Options grid on the product page in the admin panel

The system is working as expected when we are creating a customisable options with type dropdown

AC-14003 - GitHub issue - GitHub code contribution

Requisition List Page Print Option Is Not Working

AC-14711

All items from other customers compare lists are assigned to the customer after logging in via the admin

Previously, when an admin used the "Login as Customer" feature in the backend, products from the compare list of a previously logged-in customer were incorrectly assigned to the currently impersonated customer. After the fix the compare list loads correctly for the correct logged-in customer.

ACP2E-3818 - GitHub code contribution

SEO

Update product url_key via REST API does not generate a 301 URL Rewrite

When updating the URL key of the product via the REST API, with the "Create Permanent Redirect for URLs if URL Key Changed" setting set to Yes, the product URL rewrites are create a redirect from old URL to a new one.

ACP2E-3900 - GitHub code contribution

Sales

Order State is disappeared while selecting value in Order state dropdown

AC-15010

Security

Bundled/Merged JS not part of SRI Hashes

Prior to the fix generated bundle or merged files were not being added to SRI hashes list. Now, the files are being proprly added to the SRI hashes.

ACP2E-3854 - GitHub code contribution

Shipping

[QUANS] - Does Magento_Fedex core module check for a valid-active token before sending a request to get a new one?

Adobe Commerce is no long make many requests to FedEx API service for the access token. Previously, even though the access token is still valid, Adobe Commerce always make new requests to FedEx API which caused a rate limiting issue.

ACP2E-3930 - GitHub code contribution

Staging & Preview

Not able to preview Scheduled Product update with Category Permissions enabled

Prior to the fix a future to be enabled product was not being displayed in preview mode. Now it will be displayed even if the current status is disabled.

ACP2E-3786 - GitHub code contribution

Scope is showing different Store View during Preview

Previous to the fix, a staging update preview of cms block and cms page content might have opened in a different store, than the store assigned on the cms block or page when accessed from Content Staging Dashboard. After the fix, if the cms block or page have only a specific store assigned in the staging update, the preview from Content Staging Dashboard will open with the correct store selected.

ACP2E-3815

Missing validation for Catalog Price rule discount amount field

Previously, the discount_amount field in the staging schedule update was not validated correctly with the current validation rules. However, after applying the fix, the discount_amount field will be validated appropriately.

ACP2E-3867 - GitHub code contribution

Tax

Wrong Order total, the round is not applied to the price calculation.

The system is now correctly handles when calculating the price_after_discount, discount_amount and taxes amount.
the actual total of the order

AC-11389 - GitHub issue - GitHub code contribution

Test framework

[Issue] Ignore lib/internal/Magento/Framework/App/Test/Unit/_files/app/etc/en…

The system now ignores the file 'env.php' that gets generated when running unit tests, ensuring that the git status remains clean after running tests. Previously, running unit tests would generate a new file 'env.php', causing the git status to show a new file found and making it appear dirty.

AC-13293 - GitHub issue - GitHub code contribution

[Issue] Fix integration test issue with interceptor

The system now correctly identifies and handles the \Magento\TestFramework\App\Config\Interceptor in the integration test, ensuring that the test can access the necessary data even when a plugin on the class exists. Previously, the system failed to account for the possibility of the \Magento\TestFramework\App\Config being a \Magento\TestFramework\App\Config\Interceptor, resulting in an error when attempting to access the $data property.

AC-13305 - GitHub issue - GitHub code contribution

[Issue] MFTF: Submitting Email To Friend Form with enabled captcha

The test case addresses the functionality of the "Email to Friend" form when CAPTCHA is enabled, ensuring that the form submission process works correctly with both incorrect and correct CAPTCHA values.

AC-13492 - GitHub issue - GitHub code contribution

[TestFramework] Usages of TestCase::getTestResultObject are invalid since phpunit v10

AC-13502 - GitHub issue

Environment specific unit tests failures in AC 2.4.7-p3

This issue fixes unit test failures that are not reproducing on all versions and environments. Previously to the fix some unit tests failed due different library versions or due to missing functionality added in a later version.

ACP2E-3712 - GitHub code contribution

Tools/ DataMigrationTool

[ATLH] Fatal error when there is no differences

Fatal Error does not appear anymore when there is no difference to show

ACP2E-3901

UI Framework

WYSIWYG is empty in dynamic rows

AC-12336 - GitHub issue - GitHub code contribution

[Issue] Fix mime type typo

The system correctly handles and fixed the mime type and typo for gif image

AC-8001 - GitHub issue - GitHub code contribution

[Issue] Avoid direct access to reviews list Ajax

The system correctly handles and Avoid direct access to reviews list Ajax

AC-9381 - GitHub issue - GitHub code contribution

Upgrades - Upgrade Compatibility Tool

Deprecated Functionality: Creation of dynamic property Magento\Framework\Acl::$_roleRegistry

AC-12343 - GitHub issue

Fixed issues in v2.4.9-alpha1

We have fixed 84 issues in the Adobe Commerce 2.4.9-alpha1 core code. A subset of the fixed issues included in this release is described below.

APIs

Async Bulk Operation remains in open state for async.magento.configurableproduct.api.optionrepositoryinterface.save.post

Bulk API endpoints will now throw an error if the request body is not an Array, thus requiring bulk item keys to be consecutive numbers starting from 0. Previously, bulk item status was not updated due to the arbitrary item key submitted in the bulk request.

ACP2E-3544 - GitHub code contribution

[CLOUD] API REST bug on is_subscribed value not considering from the current store using searchCriteria

API REST Customer query fetches the correct "is_subscribed" value from the correct store using searchCriteria
Previously the API REST Customer query did not consider store when fetching is_subscribed" value.

ACP2E-3621 - GitHub code contribution

async.operations.all can create multiple entries for 1 SKU

Concurrent requests to save and update the same product are now serialized to prevent race conditions which may result in data inconsistency or duplicated products

ACP2E-3744 - GitHub code contribution

Account

[Cloud] Delete operation is forbidden for current area error during customer account creation

After the fix saving a customer with an invalid address returns a message describing the reason for invalidity instead of irrelevant "Delete operation is forbidden for current area".

ACP2E-3791 - GitHub code contribution

Admin UI

[Issue] Improve user experience with roles tree

This pull request adds buttons to collapse all, expand all, and expand branches with selected items. This functionality is similar to that provided in the category tree (Catalog -> Inventory -> Categories)

AC-14020 - GitHub issue - GitHub code contribution

Symfony\Component\Mime\Exception\LogicException: The "Sender" header must be an instance of "Symfony\Component\Mime\Header\MailboxHeader" (got "Symfony\Component\Mime\Header\MailboxListHeader")

AC-14520 - GitHub issue - GitHub code contribution

Provide a feature to mass-delete tax rates using the grid

Admin users can now simultaneously delete multiple tax rates from the Admin Tax Rates grid. GitHub-33399

AC-2238 - GitHub issue - GitHub code contribution - GitHub code contribution

Cart price rule with condition SKU dosen't take into account the "leading zeros" in the SKU (sku: 01234 is the same as 1234)

The System now correctly handles Cart price rule with condition SKU take into account the "leading zeros" in the SKU

AC-9428 - GitHub issue - GitHub code contribution

Issue with Default Attribute Option Value Behavior for Multiselect

Prior to the fix default values for multiple options attribute were not being saved properly. Now, after the fix, the values are properly stored in the database.

ACP2E-3523 - GitHub code contribution

Backend admin menu subtitles not displaying

All titles of the main menu groups will now be properly displayed. Previously, if the second or third column of the main menu contained only one group of links, the title of the group was not displayed.

ACP2E-3540

Issue while moving the product qty to back to shopping cart from the admin

When creating an order from the admin, products in the customer cart on the sidebar will not disappear when added to the order.

ACP2E-3563 - GitHub code contribution

Admin UI, B2B

B2B Login as Customer header still has Magento branding

Earlier the storefront header shows "You are now connected as <customer name> on <store name>" with Magento branding. Which is now fixed and the header shows with ADOBE branding.

AC-14361 - GitHub code contribution

Admin UI, Content

Exception "Cannot create rendition for media asset paths" during image insertion

After removing the values of the Maximum Width and Maximum Height of the Media Gallery Image Optimization configuration, the error is not occurred any more during the image optimization process.

ACP2E-3781 - GitHub code contribution

Admin UI, Security

Weak Password Management

The admin user cannot be saved when using the same password. Previously, it was saved successfully without a proper validation.

ACP2E-3657 - GitHub code contribution

Admin UI, Security, Staging & Preview

Action logs for content staging

The Action Logs now will show the Staging Update activities. Previously, the Staging Update log was not recorded in the Admin Action Logs.

ACP2E-3679

B2B

Place Order is not working on Proceed to checkout via Negotiable Quote with PayFlow Pro Credit Card payment method

AC-11973

Success message after Quote renaming vanishes intermittently

AC-13447

The grand total calculation does not including the Tax amount

Order contains correct totals when places from existing Purchase Order with Cross Border Trade enabled.

ACP2E-3727

Unassigning categories in a B2B shared catalog via the REST API is slow

Now the performance is significantly improved when unassigning categories in B2B. Previously, it took a long time to unassign categories in the B2B shared catalog.

ACP2E-3796

Performance issue with new Setup Patch in B2B

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.

ACP2E-3850

Cart & Checkout

Magento 2.4.7 update (mini)cart no decimal qty allowed

Now Magento correctly handles when we are updating qty with decimals from mini cart when the locale was NL(Dutch)

AC-13238 - GitHub issue - GitHub code contribution

[Issue] Update subtotal.phtml

The System updates the subtotal.phtml with the correct spacing

AC-13907 - GitHub issue - GitHub code contribution

Not able to place the order with the guest

AC-14241 - GitHub code contribution

Expired persistent quotes are not cleaned up by a cron job sales_clean_quotes

The expired persistent quotes are now cleared when the 'persistent_clear_expired' cron job runs. Previously, the expired persistent quotes were not cleared by any other cron job.

ACP2E-3493 - GitHub code contribution

"Something went wrong" error on checkout for inactive company

Prior to the fix, the logout action was not being completed properly on the cart page, if the logged in user company was no longer enabled. Now, if the company is no longer available, the logout is performed properly.

ACP2E-3541 - GitHub code contribution

Addresses selection is not saved when we "Check Out with Multiple Addresses"

Prior to the fix when canceling the multishipping option, the address was not preselected when reverting back to multshipping. Now, the default address is replaced with one of the selections made within the multishipping screen.

ACP2E-3646 - GitHub code contribution

Cart & Checkout, SEO

Incorrect Gift Card Code URL in the email when purchased in from the secondary website

Previously, the multi-store setup and gift card for non-default stores always redirected the gift card claim to the default website. After this fix is applied, the email will redirect the gift card claim link to the correct scope or website.

ACP2E-3699

Cart & Checkout, Shipping

[Mainline] Cart Price rule is not respecting Multishipping

Prior to the implementation of this correction, the cart price rule for multi-shipping products did not apply correctly when sub-select conditions were applied and free shipping was enabled. However, since the correction was applied, the cart price rule for multi-shipping carts now functions as intended.

ACP2E-3666 - GitHub code contribution

Catalog

Duplicate cache fpc for same page with same query

The system now correctly identifies and uses the same Full Page Cache (FPC) for pages with the same query parameters, regardless of their order or trailing characters. This prevents an unnecessary increase in the page cache folder size. Previously, the system would create a different FPC identifier for the same page if the order of the query parameters was different or if there were trailing characters, leading to an increase in the page cache folder size.

AC-10722 - GitHub issue - GitHub code contribution

Missing indexing of required columns in catalog_product_entity_int table

Added the missing indexing of required columns in catalog_product_entity_int table

AC-10844 - GitHub issue - GitHub code contribution

Product page gives error because of url rewrites

Now the Product Page is loaded successfully when we have URL rewrites

AC-2950 - GitHub issue - GitHub code contribution

[Cloud] Bug when adding products to category

The pagination and record count label now work correctly when adding products to a category via the popup grid. Previously, loading only a single page with items equal to the page size caused issues with the item selection dropdown.

ACP2E-3526

indexer_update_all_views cron error with MAGE_INDEXER_THREADS_COUNT

Fixed issue for MAGE_INDEXER_THREADS_COUNT > 2 with Customer Segment indexer

ACP2E-3538 - GitHub code contribution

Exception while adding "Conditions Combination" in Page Builder Products widget condition

The issue has been fixed by adding a check to skip missing or incomplete conditions. Previously, this caused error logs to be generated due to the handling of incomplete conditions in the system.

ACP2E-3545 - GitHub code contribution

Browser crash when loading attribute set

Browser no longer crashes on attribute set edit page if there are more than 4k product attributes

ACP2E-3633 - GitHub issue - GitHub code contribution

[CLOUD] Product URL Rewrites Not Created for New Store: Go Live Blocker

Product URL Rewrites for New Store is successfully created.
Previously operation ended with memory leak or with timeout.

ACP2E-3669 - GitHub code contribution

Attribute Default Value for Options Not Working

Previously, when we changed the default value of a product select attribute, it appeared as an array element with the previous values. After this fix is applied, when we update a product attribute value it will save as a single element at eav_attribute table.

ACP2E-3688 - GitHub code contribution

Gift Card validation fails when editing due to thousand separator

Fixed issue with gift card product type saving when the gift card amount is 1000 and more.

ACP2E-3704

Products graphql returned disabled categories in the category aggregations

After the fix disabled categories aren't returned for the products GraphQl request.

ACP2E-2885 - GitHub code contribution

Catalog, Product

[Random Bug] Fotorama lib isn't loaded

The system now ensures that the Fotorama library is properly loaded, allowing all attached images to be displayed in the image gallery as expected. Previously, only the first image was visible due to an issue with the Fotorama library not loading correctly.

AC-12124 - GitHub code contribution - GitHub code contribution

Content

Putting csp_whitelist.xml in theme does not work and creates intermittent issue

Implemented caching of CSP whitelist per website area.

AC-13069 - GitHub issue - GitHub code contribution

Error: Script error for "Magento_Catalog/js/validate-product" for admin content pagebuilder with products load

This PR fixes the Script error for catalogAddToCart when editing the pagebuilder with the products condition

AC-13891 - GitHub issue - GitHub code contribution

Block selection in widgets that have the same identifier

The System now correctly handles selecting block while creating widgets when we are having same identifier blocks

AC-14132 - GitHub issue - GitHub code contribution

Table prefix is not taken into account

AC-14556 - GitHub issue - GitHub code contribution

Unable to upload image with relatively small width

The system no longer fails to resize image with relatively small width to its height.

ACP2E-3558 - GitHub code contribution

Incorrect config path for remote storage path style configuration

After the fix, setting the remote storage path style configuration will impact the actual AWS S3 path style configuration.

ACP2E-3734 - GitHub code contribution

Framework

Compiling code of disabled module.

This pull request escapes disabled modules before code compilation.

AC-10933 - GitHub issue - GitHub code contribution

Magento_Theme title.phtml template invalid for PHP 8.2

This pull request fixes an issue when CMS page created with the null heading as in Php 8.x passing null to trim() throws Exception: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string

AC-12856 - GitHub issue - GitHub code contribution

When using file storage for the lock provider, we get an ever growing directory of files without any cleanup happening

This pull request introduce a new cron job that runs once per day and searches for lock files that haven't been modified in the last 24 hours and can thus be safely removed. This will keep the contents of the lock files directory under control.
This cron job will only execute something when the lock provider is configured to use files, not when one of the others is used (database - the default, zookeeper or cache)

AC-13367 - GitHub issue - GitHub code contribution

[Issue] Cleanup: don't use void return value from method calls.

This PR does minor cleanup. Sometimes we called methods that didn't return anything (void) and then used that result value. Which is really not needed.

AC-13664 - GitHub issue - GitHub code contribution

[Issue] [PHPDOC] Fix bad phpdoc for Magento\Framework\Message\ManagerInterface

This PR fixes the bad phpdoc for \Magento\Framework\Message\ManagerInterface and remove all duplicate phpdoc in \Magento\Framework\Message\Manager (use inheritdoc syntax).

AC-14312 - GitHub issue - GitHub code contribution

Removed beta minimum-stability from composer.json

Removed beta minimum-stability from composer.json

AC-14450 - GitHub code contribution

allow_parallel_generation should be set through environment variable

After the fix, the "MAGENTO_DC_CACHE__ALLOW_PARALLEL_GENERATION" environment variable can be used to set the "allow_parallel_generation" configuration.

ACP2E-3673 - GitHub code contribution

[Cloud] Changing table column type from Int to Decimal using db_schema.xml file In Magento 2 Results In Errors

Changing the column data type is not working correctly. Previously, it throws an error: The attribute 'identity' is not allowed.

ACP2E-3709 - GitHub code contribution

New currency (XCG) support in Adobe

Caribbean Guilder (XCG) is added to the currencies list.

ACP2E-3790 - GitHub code contribution

GraphQL

GraphQL Response for Order placement does not include the exception message

Reverted previous change that was returning errors in a different format. Now potential errors are returned in a consistent manner, not breaking GraphQL schema. This should be added as known BIC, approved by PM in ACP2E-3399

ACP2E-3399 - GitHub code contribution

GraphQL Response for Order placement is partially localised

Errors returned by placeOrder GraphQl mutation were not fully localized. Now, in a multilanguage context, errors are properly translated.

ACP2E-3506 - GitHub code contribution

Concurrent Calls to Reorder GraphQL API - Same Products Added to Different Rows

Fixes the issue where concurrent calls to the Reorder GraphQL API result in the same products being added as different rows, leading to data inconsistencies.

ACP2E-3774 - GitHub code contribution

updateCustomerEmail GraphQL mutation(Change email Address) doesn't trigger the email Notification

Previously, email was not sent to customers after successfully updating their email addresses on their accounts. After the fix has been applied, customers now receive email notifications after successfully updating their email addresses.

ACP2E-3785 - GitHub code contribution

Dynamic Attribute Not Updating in Gift Registry via updateGiftRegistry Mutation

Previously, before this fix through the updateGiftRegistry mutation, the custom attribute of the gift registry was not modified or updated through GraphQL mutations. After this fix has been applied, the dynamic attribute of the gift registry can successfully be updated through the updateGiftRegistry mutation.

ACP2E-3805 - GitHub issue

Import / export

[Issue] Copyedit: change "coping" to "copying"

PR fixes the Minor copyedit to correct spelling of "copying"

AC-13300 - GitHub issue - GitHub code contribution

REST endpoint Product Import Json not validate the mandatory fields

Name field is now required when creating new products through the import process (admin or API). Prior to the fix, you could have created new products without name, this would have broken the admin interface and created invalid products.

ACP2E-3660 - GitHub code contribution

Missing Website Filter Option in Export Process

It is now possible to filter products by websites when creating products export.

ACP2E-3720 - GitHub code contribution

Duplicate of AC-13913 - Static attribute cleaning asynchronously.

After the fix, there is no 'Undefined array key "apply_to"' error when numerous instances of the \Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType are created.

ACP2E-3752 - GitHub code contribution

Inventory / MSI

Store Pickup not respecting maximum search radius when address is changed at checkout

Now pre-selected store in "Pick in Store" will update if the shipping address changes. Previously, once a store was pre-selected, it did not change even if the new shipping address is not within the radius of the selected store

ACP2E-3728 - GitHub code contribution

Order

Cannot return null for non-nullable field &quot;AppliedCoupon.code&quot; unexpected issue

AC-14484 - GitHub issue - GitHub code contribution

[Cloud] Some Inline Javascript does not work after upgrade to magento 2.4.6-p7

Clicking on "delete" button in "Add to Order by SKU" in admin will now remove the SKU. Previously, clicking on"delete" button in "Add to Order by SKU" did not remove the SKU.

ACP2E-3515

gift_cards serialized data is inconsistent in the sales_order table

gift_cards data in sales_order table is now serialized correctly. Previously, it was serialized every time the order was updated.

ACP2E-3662

Order, Pricing

Admin displays incorrect currency symbol on when creating return

In a multi-website setup with different currencies (EUR/USD/GBP), the return product selection page in admin is now displaying the correct currency symbol. Previously, it displayed the default currency symbol.

ACP2E-3658 - GitHub code contribution

Other Developer Tools

Lighthouse Accessibility failure

The System now Pass with Accessibility score of 100

AC-12783 - GitHub issue - GitHub code contribution

Disable captcha storefront config still load captcha js files

The System now does not load captcha js files when we disabled captcha for storefront

AC-14267 - GitHub issue - GitHub code contribution

Packaging

[Packaging] Fix magento/magento-coding-standard dependency+ page-builder

ACPLTSRV-6383

Payments

[Issue] Fix offline invoice capture (404)

It fixes the 404 Page Error while capturing invoices for offline payment methods from Magento admin

AC-13336 - GitHub issue - GitHub code contribution

Performance

Category Permissions module possibly preventing caching

3rd party controllers now cached correc tly with customer segments

ACP2E-3721

Product

Product Collection - addMediaGalleryData calls getSize when the collection maybe or will be loaded (Can use count to avoid an extra DB query)

This PR reduces the extra query call using count() if the product collection is already loaded when calling Product Graphql with media_gallery field included in it.

AC-13055 - GitHub issue - GitHub code contribution

[2.4.8] No callbacks found for cron job catalog_product_alert

AC-14494 - GitHub issue - GitHub code contribution

Slow query is executed when product widget is included via pagebuilder

The Query for product widgets creation including product SKUs is optimized.

ACP2E-3449 - GitHub code contribution

Product images not resized when added as configurable product

Previously, images added through Configurations in the admin panel did not adhere to the maximum upload size limit, which could lead to inconsistencies and management challenges. Now, a fix has been implemented to ensure that images are automatically resized during upload to comply with the maximum size limit, streamlining the process and maintaining system standards.

ACP2E-3504 - GitHub code contribution

Shipping

Doucment should be updated for % implementation which is not correct in official document

Updated the devdoc for DHL Rest API support

AC-14507

[DHL]-Handle Optional Dimensions in Regular Size Settings and Price Variance Between REST and XML API Integrations

AC-14601 - GitHub code contribution

Exception while creating UPS shipping label

Fixed Warning: Array to string conversion during UPS shipping label creation

ACP2E-3676 - GitHub code contribution

Staging & Preview

Previewing a scheduled update opens the first store view in alphabetical order instead of the store view of interest

Previous to the fix, the preview of a scheduled update opened in the first store view in alphabetical order instead of the assigned store view.
After the fix, the preview now correctly opens in the store view assigned to the CMS block staging update.

ACP2E-3671 - GitHub code contribution

Staging_apply_version Cron behavior issue - special_price ignored

After the fix, quotes totals will be recalculated after changing special price by scheduled product update.

ACP2E-3674

Tax

Tax amount isn't updated when gift wrapping removed from the cart

AC-14637

1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f