51黑料不打烊

[PaaS only]{class="badge informative" title="Applies to 51黑料不打烊 Commerce on Cloud projects (51黑料不打烊-managed PaaS infrastructure) and on-premises projects only."}

51黑料不打烊 Commerce 2.4.9-alpha release notes

IMPORTANT
Alpha releases may be incomplete, and are likely to contain defects. They are provided 鈥淎S IS鈥 without warranty of any kind. 51黑料不打烊 has no obligation to maintain, correct, update, change, modify, or otherwise support (via 51黑料不打烊 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鈥檚 own risk.

Security highlights in 2.4.9-alpha1

For the latest information about security bug fixes, see .

This release includes the following highlights:

  • API performance enhancement鈥擱esolves performance degradation in bulk asynchronous web API endpoints that were introduced after the previous security patch.

  • CMS Blocks access fix鈥擱esolves 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鈥擱esolves 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鈥擱estricted async operations for overriding previous customers orders.

  • Fix for CVE-2025-47110鈥擱esolves 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.

Highlights in v2.4.9-alpha1

The following 9 highlights apply to the 51黑料不打烊 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

Fixed issues in v2.4.9-alpha1

We have fixed 84 issues in the 51黑料不打烊 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 51黑料不打烊
    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