۶Ƶ

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

۶Ƶ 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. ۶Ƶ has no obligation to maintain, correct, update, change, modify, or otherwise support (via ۶Ƶ 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 ۶Ƶ Commerce 2.4.9-alpha2 release.

Framework

Add support for OpenSearch 3

۶Ƶ 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 ۶Ƶ 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 ۶Ƶ 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 ۶Ƶ Commerce forms in both admin and frontend interfaces.

AC-14403 -

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 ۶Ƶ Commerce admin and frontend interface components.

AC-14417 -

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 ۶Ƶ Commerce frontend and admin themes.

AC-14418 -

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 ۶Ƶ Commerce international and multi-timezone operations.

AC-14419 -

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 ۶Ƶ Commerce frontend and admin interface components.

AC-14420 -

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 ۶Ƶ Commerce WYSIWYG editor is migrated from TinyMCE to the open-source HugeRTE editor (https://hugerte.org/).
This migration ensures ۶Ƶ 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

۶Ƶ 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 ۶Ƶ 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, ۶Ƶ 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 ۶Ƶ 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 ۶Ƶ 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 -

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 .

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 ۶Ƶ 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 - -

Malformed request body or parameters cause "Internal Server Error"

AC-746 - -

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 -

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 -

Account

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

AC-13409 - -

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 - -

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 - -

Admin UI

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

AC-13066 -

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

AC-13071 -

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

AC-13075 -

Hover colour not applied on static grids in admin

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

AC-2916 - -

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 -

B2B

company field validation fails for guest checkout

AC-14987 - -

Bundle

Exclude hugerte Editor JS Files from Bundled Output Across Themes

AC-15128 - -

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 - -

Guest Prefix Not Saved to Quote Address 2.4.8

AC-14705 - -

[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 - -

[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 -

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 -

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 -

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 -

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 - -

[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 - -

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

AC-13671 - -

[\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 - -

[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 -

Provided CountryID Does not Exist - Ireland (IE)

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

ACP2E-3932 - -

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 -

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 -

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

AC-13358 -

Content

AC-13262 -

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 - -

[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 - -

"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 - -

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 - -

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 -

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 -

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 -

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 -

Framework

Error when run command setup:upgrade with custom DB trigger

AC-11487 -

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 - -

[Issue] Remove scope resolver usage

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

AC-11736 - -

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 - -

[Issue] refactor quote address do validate method

This PR includes readability improvements to the doValidate method.

AC-13214 - -

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

AC-13231 - -

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 - -

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

AC-13719 - -

Magento Rest API exposing PII

AC-13904 -

Partial indexation stop working for customers with huge # of updates

AC-14424 -

Investigate "use strict" is unnecessary inside of modules

AC-14517 -

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 -

[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 - -

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

This PR replace constructor properties with property promotion in VaultGraphQl module

AC-14616 - -

[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 - -

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 - -

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 - -

Backport Verbose Mode in setup:db:status CLI command

AC-14807 -

SMTP mail send with tls and 2.4.8

AC-14883 - - - -

[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 - -

[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 - -

FPC not work when login

AC-14999 - -

[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 - -

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

AC-15136 -

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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

[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 - -

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 -

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

Customer-facing scenarios are not affected by the fix.

ACP2E-3963 -

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 -

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 -

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 -

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 - -

Order

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

AC-10568 -

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 - -

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

AC-14306 -

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 -

[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 -

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 - -

Performance

[Issue] Update Store.php

This PR improves performance by skipping current store resolution.

AC-14791 - -

Pricing

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

AC-11925 - -

Product

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

AC-12004 -

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 - -

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 - -

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 -

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 -

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 -

Shipping

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

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

ACP2E-3930 -

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 -

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 -

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 - -

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 - -

[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 - -

[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 - -

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

AC-13502 -

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 -

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 - -

[Issue] Fix mime type typo

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

AC-8001 - -

[Issue] Avoid direct access to reviews list Ajax

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

AC-9381 - -

Upgrades - Upgrade Compatibility Tool

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

AC-12343 -

Fixed issues in v2.4.9-alpha1

We have fixed 84 issues in the ۶Ƶ 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 -

[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 -

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 -

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 -

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 - -

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 - -

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.

AC-2238 - - -

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 - -

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 -

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 -

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 -

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 -

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 -

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 - -

[Issue] Update subtotal.phtml

The System updates the subtotal.phtml with the correct spacing

AC-13907 - -

Not able to place the order with the guest

AC-14241 -

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 -

"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 -

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 -

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 -

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 - -

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 - -

Product page gives error because of url rewrites

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

AC-2950 - -

[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 -

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 -

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 - -

[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 -

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 -

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 -

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 - -

Content

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

Implemented caching of CSP whitelist per website area.

AC-13069 - -

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 - -

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 - -

Table prefix is not taken into account

AC-14556 - -

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 -

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 -

Framework

Compiling code of disabled module.

This pull request escapes disabled modules before code compilation.

AC-10933 - -

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 - -

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 - -

[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 - -

[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 - -

Removed beta minimum-stability from composer.json

Removed beta minimum-stability from composer.json

AC-14450 -

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 -

[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 -

New currency (XCG) support in ۶Ƶ

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

ACP2E-3790 -

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 -

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 -

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 -

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 -

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 -

Import / export

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

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

AC-13300 - -

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 -

Missing Website Filter Option in Export Process

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

ACP2E-3720 -

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 -

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 -

Order

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

AC-14484 - -

[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 -

Other Developer Tools

Lighthouse Accessibility failure

The System now Pass with Accessibility score of 100

AC-12783 - -

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 - -

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 - -

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 - -

[2.4.8] No callbacks found for cron job catalog_product_alert

AC-14494 - -

Slow query is executed when product widget is included via pagebuilder

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

ACP2E-3449 -

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 -

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 -

Exception while creating UPS shipping label

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

ACP2E-3676 -

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 -

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