ÃÛ¶¹ÊÓÆµ

ÃÛ¶¹ÊÓÆµ Commerce 2.4.8 release notes

NOTE
ÃÛ¶¹ÊÓÆµ Commerce releases can contain backward-incompatible changes (BICs). To review backward-incompatible changes, see . Major backward-incompatible issues are described in . Not all releases introduce major BICs.

Highlights

ÃÛ¶¹ÊÓÆµ Commerce 2.4.8 brings enhanced security, compatibility with PHP 8.4 and MariaDB 11.4, extensive GraphQL API improvements to accelerate migration to a new ÃÛ¶¹ÊÓÆµ Commerce Storefront powered by Edge Delivery, and over 500 quality fixes and enhancements to elevate existing functionality. Upgrading to 2.4.8 keeps your platform secure, aligned with the latest technological advancements, and supported until April 2028.

recommendation-more-help

Adoption recommendations

When planning your upgrade to ÃÛ¶¹ÊÓÆµ Commerce 2.4.8, consider your business priorities, current version, and plans to adopt the new ÃÛ¶¹ÊÓÆµ Commerce as a Cloud Service.

  • If you plan to adopt ÃÛ¶¹ÊÓÆµ Commerce as a Cloud Service within the next 12-16 months: Apply the latest security patch now and plan your upgrade as part of your move to Cloud Service.

  • If you do not plan to adopt ÃÛ¶¹ÊÓÆµ Commerce as a Cloud Service within the next 12-16 months, OR if you are planning to adopt ÃÛ¶¹ÊÓÆµ Commerce Optimizer in that timeframe: Your upgrade timeline depends on your current version.

    • Versions 2.4.4, 2.4.5, or 2.4.6: Apply the latest security patch now and start your upgrade to ÃÛ¶¹ÊÓÆµ Commerce 2.4.8 soon, as support for 2.4.4 ends in April 2026, while support for 2.4.5 and 2.4.6 ends in August 2026.

    • Version 2.4.7: Apply the latest security patch now. While we encourage you to upgrade as soon as possible to take advantage of the latest enhancements, you have flexibility to choose a time that aligns with business priorities. Your version will continue to be supported until April 2027.

Security

The following security enhancements in this release improve compliance with the latest security best practices:

NOTE
For the latest information about the security bug fixes, see .
Settings

This release includes the following enhancements to security settings:

  • Duo Security 2FA: This change updates the Duo Security two-factor authentication (2FA) implementation in ÃÛ¶¹ÊÓÆµ Commerce to use the latest SDK (Web SDK v4). This upgrade enables merchants to transition seamlessly to using Duo Universal Prompt. Merchants must update their configuration in the Admin settings to include a Client ID and Secret.
  • Encryption keys: Redesigned managing encryption keys to improve usability and eliminate previous limitations and bugs. New CLI commands are now available for changing keys and certain system configuration, payment, and custom field data. Changing keys in the Admin UI is no longer supported in this release. You must use the CLI commands. See the Troubleshooting Encryption Key Rotation: CVE-2024-34102 Knowledge Base article for details.
  • One-time password (OTP) settings: This update is required to resolve an error that was introduced by a in 2.4.7. The description of the OTP Window field now provides an accurate explanation of the setting and the default value has been changed from 1 to 29.
Subresource Integrity (SRI)
The introduced in 2.4.7 has been refactored to improve reliability and performance. Instead of storing hashes in a custom cache that could be cleared during cache flush operations, SRI hashes are now stored directly in the pub/static directory and organized by area (adminhtml, base, frontend). This change eliminates the need to redeploy static content after cache flushes.

Platform

The following platform upgrades for this release ensure that ÃÛ¶¹ÊÓÆµ Commerce remains a robust and reliable platform, ready to meet the demands of modern commerce environments:

Cache
This release includes support for Valkey 8.x.
Database

In alignment with our support lifecycle policy, ÃÛ¶¹ÊÓÆµ Commerce is now compatible with the following long-term support (LTS) versions of the following database technologies:

  • MariaDB 11.4 LTS _(supported until 2029)_: The previous version (MariaDB 10.6) reaches end-of-life in 2026, making this upgrade essential for maintaining system integrity and performance. MariaDB 10.6 is still supported, but ÃÛ¶¹ÊÓÆµ recommends upgrading to MariaDB 11.4 when upgrading to ÃÛ¶¹ÊÓÆµ Commerce 2.4.8.
  • MySQL 8.4 LTS _(supported until 2032)_: The previous version (MySQL 8.0) reaches end-of-life in 2026, making this upgrade essential for maintaining system integrity and performance. MySQL 8.0 is still supported, but ÃÛ¶¹ÊÓÆµ recommends upgrading to MySQL 8.4 when upgrading to ÃÛ¶¹ÊÓÆµ Commerce 2.4.8

This release includes the following database enhancements:

  • MySQL collation: The system now defaults to using utf8mb4 collation for MySQL, ensuring compatibility with MySQL 8 and future-proofing against the deprecation of utf8mb3. Previously, the system defaulted to using utf8mb3 collation, which is deprecated in MySQL 8.
  • MySQL foreign fey restrictions: MySQL 8.4 introduces stricter foreign key validation by default. The restrict_fk_on_non_standard_key setting is now ON by default, which restricts the use of non-unique or partial keys as foreign keys. Merchants upgrading from MySQL 8.0 to MySQL 8.4 must explicitly set this parameter to OFF or use the --skip-restrict-fk-on-non-standard-key server option to maintain compatibility with existing database structures. See the Upgrade Guide for more details.
Message queue

This release adds support for RabbitMQ 4.x. Before upgrading to RabbitMQ 4, ÃÛ¶¹ÊÓÆµ Commerce Cloud and on-premises customers must . This migration is required because:

  • Classic mirrored queues are not supported in RabbitMQ 4
  • Quorum queues maintain high availability by replicating queue contents across multiple nodes
PHP

This release includes the following PHP enhancements:

  • PHP 8.4: This release adds PHP 8.4 compatibility for ÃÛ¶¹ÊÓÆµ Commerce, bundled extensions, and ÃÛ¶¹ÊÓÆµ-owned extensions, services, and tools. PHP 8.3 is still supported. PHP 8.2 is still compatible, but only for upgrade purposes. PHP 8.4 compatibility required .
  • PHP 8.1: This release removes PHP 8.1 from all ÃÛ¶¹ÊÓÆµ Commerce project libraries, dependencies, bundled extensions, and ÃÛ¶¹ÊÓÆµ-owned extensions, services, and tools.
  • PHP 8.1: This release removes PHP 8.1 compatibility for ÃÛ¶¹ÊÓÆµ Commerce 2.4.8. You must upgrade to PHP 8.3 before upgrading to ÃÛ¶¹ÊÓÆµ Commerce 2.4.8.
  • PHP 8.2: One of the significant changes in PHP 8.2 involves the deprecation of passing null to non-nullable internal function parameters. This release addresses deprecated PHP 8.1 features in core platform components and ensures compatibility with PHP 8.2.
  • PHPUnit 10: This release addresses several critical issues, enhances compatibility, and ensures that the ÃÛ¶¹ÊÓÆµ Commerce testing framework aligns with the latest industry standards. ÃÛ¶¹ÊÓÆµ recommends that all Commerce Marketplace vendors and customers with customizations verify that their unit and integration tests run on PHPUnit 10 instead of 9.
Components

The following third-party components and dependencies were updated to the latest stable versions to enhance platform stability and performance:

  • Composer 2.8.x
  • glob 11.0.0
  • grunt-contrib-connect 5.0.0
  • grunt-eslint 25.0.0
  • imagemin-svgo 11.0.1
  • jquery/bootstrap 5.3.3
  • jquery/jstree 3.3.17
  • jquery.tabs.js 5.3.2
  • jquery/validate 1.20.x
  • js-cookie/js-cookie 3.0.5
  • moment.js 2.30.1
  • monolog/monolog 3.x
  • monolog/Require.js 2.3.7
  • nginx 1.26
  • phpunit/phpunit 10.x
  • serve-static 1.16.2
  • TinyMCE 6.8.5
  • underscore 1.13.7
  • Uppy 4.4.0
  • Varnish 7.6.x
  • wikimedia/less.php 5.x

The following components were removed:

  • TinyMCE 5

All Laminas dependencies were upgraded to the latest version, except for the following, which have been replaced with alternative packages or native PHP functionality:

  • laminas/laminas-file
  • laminas/laminas-mail
  • laminas/laminas-mime
  • laminas/laminas-oauth
Search

ÃÛ¶¹ÊÓÆµ Commerce is now optimized for OpenSearch 2.19 and is no longer compatible with Elasticsearch. All Elasticsearch 7 and 8 modules and classes are now deprecated in the codebase. ÃÛ¶¹ÊÓÆµ strongly recommends transitioning to OpenSearch for both on-premises and cloud infrastructure deployments to ensure continued support and compatibility. See Migrating to OpenSearch.

  • The Elasticsearch 7 and Elasticsearch 8 options are now labeled as "(Deprecated)" in the Admin configuration.
  • When a user selects Elasticsearch as the search engine in the Admin configuration, Commerce displays a notification stating, "This search engine option is no longer supported by ÃÛ¶¹ÊÓÆµ. We recommend using OpenSearch as a search engine instead."

Performance

This release includes the following performance enhancements:

Indexers
The default indexer mode for all indexers is now Update by Schedule when installing a new version of ÃÛ¶¹ÊÓÆµ Commerce or upgrading from a previous version. The new default ensures that indexers are in the recommended configuration, improving system performance and reducing potential issues.
Product prices
The system now allows for more efficient bulk updates of tier prices without causing performance issues or site unresponsiveness when using the [`/V1/products/tier-prices`]() REST API endpoint. Previously, updating a large number of prices using this endpoint could result in performance issues and site unresponsiveness.

Quality

This release includes the following quality enhancements:

Inventory
The system now operates without the previously hidden dependency from Catalog introduced by InventoryIndexer, ensuring that the product creation, display mode switch, stock status change, and other related functionalities work as expected. Previously, this hidden dependency caused inconsistencies as different entities were synchronized and the indexer used different entities.
Orders
To minimize confusion, the Submit Comment button label changed to Update in the order detail page.

GraphQL

This release includes the following GraphQL enhancements:

Cart and checkout
  • Added the following new fields to the type to support accurate pricing display and discount calculations:

    • original_item_price
    • original_row_total
    • row_total_including_catalog_discounts_only
  • Updated the checkout process for GraphQL to display only the "Free" payment method when the order total is zero. This enhancement reduces shopper confusion and ensures a smoother purchasing experience.

  • Added support for retrieving terms and conditions configuration settings via the StoreConfig GraphQL query. New Configurations available: Stores > Settings > Configuration > Checkout > Checkout Options > Enable Terms and Conditions. These settings enable frontend applications to dynamically enable and configure terms and conditions by store view in the checkout page.

  • Updated the mutation to return success responses with error details instead of exceptions. Enhanced error mapping to improve the clarity of user notifications.

  • Added a new InsufficientStockError type to handle cases where stock levels are insufficient. Adjusted the schema to support new error types, enhancing error reporting capabilities.

  • Refined messaging for insufficient and unavailable quantity notifications.

  • Added the grand_total_excluding_tax field to the type, providing clear tax-inclusive pricing.

  • Added the not_available_message to the .

  • Added GraphQL support for retrieving cart rule information. Introduced new store configurations to control exposure of all and applied cart rules, along with the query and Cart.rules field for fetching active cart rules.

Customers and customer groups

This release includes the following customer management enhancements:

  • Refined error handling in the mutation to provide specific messages for unconfirmed emails. Supports better user guidance and error resolution.
  • Added a new resendConfirmationEmail mutation for resending email confirmations.
  • Added a new query to enable personalization capabilities.
  • Added the customerGroup query to return customer group-related information for guests and customers.
  • Added new store configurations for managing customer groups, introduced the query to retrieve a list of all available customer groups, and exposed the Customer.group field to access the currently logged-in customer's group information.
  • Added the customer.addressesV2 field in the query, adding pagination for customer addresses.
Orders

This release includes the following user order management enhancements:

  • Enhanced error messaging to include available inventory amounts. Provides users with clearer insights into stock levels during order updates.
  • Added a new date_of_first_order field to the type.
  • Extended the type to include custom attributes, enhancing order detail visibility. Supports additional information display on order confirmation pages.
  • Added the is_virtual field to the type, supporting virtual product identification. Enhances order processing by distinguishing virtual from physical products.
  • Added an OrderItemPrices type similar to to with several new fields for price.
  • Improved API functionality to merge guest orders with customer accounts based on email matching. Streamlines order management for returning customers.
  • Extended the type to include an available_actions field for better order management. The `available_actions` field maps to an enumeration that lists the possible actions that can be performed on the order.
  • Added the customer_info field to the type. This field requires the OrderCustomerInfo type, which contains details about the customer name.
  • Added detailed error codes to the type. Improved error handling and user feedback for the order cancellation processes.
  • Added a new confirmCancelOrder mutation to facilitate order cancellation for guest shoppers.
  • Updated the OrderStatusChangeDate resolver to return the order status change date in the default format without additional reformatting, ensuring consistency across responses.
  • Updated the order.availableActions field to ensure that the REORDER action is not returned if a merchant disables the reorder functionality in the Admin.
  • Updated the and queries to use lastname instead of postcode because some countries consider the postcode optional. As a result, some guest users faced issues while fetching tokens during order placement or retrieving placed orders using a token.
  • Updated the mutation to be accessible only to registered customers. Added a new requestGuestOrderCancel mutation, which requires an order token (similar to the guestOrderByToken input).
  • Added a order_status_change_date field to track the date for order status changes.
  • Added OrderCustomerInfo to the CustomerOrder type.
  • Added the CustomerOrder.available_actions field to display the available actions for an order.
  • Mapped error codes with corresponding error messages for order cancellation.
  • Added an order history filter based on the created_at field and exposed date_of_first_order with the type.
  • Added the is_virtual field to the type, similar to the type. This allows the customer to conditionally hide shipping information for orders containing only virtual products.
  • Updated the and query responses to include missing cart summary-related fields for order confirmation. Added the OrderItemPrices type and original_price and original_price_including_tax fields to both the OrderItemPrices and CartItemPrices types. The prices field now includes detailed pricing information, allowing the order confirmation page to display a more complete cart summary, including total quantity, item details, and pre-discount prices.
  • Updated the API to support merging guest orders with customer accounts when the email addresses match. Orders placed by guests are now automatically associated with the corresponding customer account upon registration or if an existing account with the same email is found.
  • Updated the type to include store credit and reward points applied to the order totals. Now, the order payload returns the label and value for both store credit and reward points, ensuring complete cost summary details.
Products and catalog
  • Added store configurations for catalog pricing rules, added the query to retrieve all available catalog rules, and exposed the Product.rules field to show catalog rules currently applied to a product.
  • Added a quantity field in the to provide stock level details. It displays available stock or null based on Admin settings.
  • Corrected pricing display for bundle products, ensuring accurate price and currency information.
  • Added the grouped_product_image and configurable_product_image fields to the type.
Gift options and gift cards
  • Updated the and types to include both price_excluding_tax and price_including_tax fields for gift wrapping (per item and order) and printed cards. This enhancement ensures accurate tax display based on store configuration settings for both cart and order queries.
  • Updated the query to include printed_card_priceV2 to return a price object instead of a string.
  • Added the gift_wrapping_available and gift_wrapping_price fields to the query. The gift_wrapping_price field is now returned as a price object.
  • Added gift_message and gift_wrapping fields to the type; updated logic to discard gift wrapping for virtual products.
  • Updated the query to correctly process the gift_message field.
  • Updated the query to include the applied_gift_cards field, allowing retrieval of applied gift card data similar to applied_coupons.
Returns
  • Updated the mutation for RMA items input to resolve inconsistencies between the return attribute related query and mutation.
  • Updated the mutation to support guest order returns.
Tax and pricing
  • Updated the type with fields to match the tax display settings in the Admin configuration.
  • Added the subtotal_excl_tax and subtotal_incl_tax fields to the type. Marked the subtotal field as deprecated.
Shipping and billing
  • Added an identifier for the address book in shipping or billing cart address in the type.
  • Added the same_as_billing field to the type, which indicates whether the shipping and billing addresses are the same.
  • Updated the and queries to include custom address attributes, ensuring complete address information for new accounts.
Security
  • Added a theme field to the query. This field allows you to specify the name of the theme to use to render the reCaptcha ensuring accurate price and currency information.
  • Improved security by ensuring that requests with expired customer tokens now return a 401 Unauthorized response.

Braintree

This release includes the following Braintree bundled extension enhancements:

General enhancements

This release includes the following general enhancements to the Braintree extension:

  • To offer a true express payment experience, the Braintree extension now includes the shipping methods within the PayPal modal, allowing the customer to check out with fewer clicks. The shipping options are listed and calculated based on the shipping address saved in the customer's PayPal account. Previously, customers would land on a review page and choose a shipping method to complete payment. The review page is now optional allowing merchants to enable/disable this user journey. The PayPal Express buttons can be found on the PDP, mini-cart, cart and top of the checkout.
  • There is now a new version of the Braintree SDK. The PHP SDK version is 6.21.0. The JavaScript SDK version is 3.112.0. The latest version has some required changes for future compatibility with new features and functionality.
  • General code optimization within the Braintree extension.
  • To determine the page where a customer initiates the PayPal checkout experience (PDP, cart, or checkout), the Braintree extension now passes a data-page-type attribute to the JavaScript SDK. This attribute is used to render the button on the page.
  • Following the new PayPal brand guidelines, the Braintree extension now positions the PayLater messaging on the PDP, mini-cart, and cart. The messaging now sits closer/alongside the price/totals. The extension now also displays the PayLater messaging as part of the checkout button, rather than separately.
  • To enhance the express payment experience, the Braintree extension integrates shipping methods directly into the Google Pay modal, enabling customers to complete their checkout with fewer clicks. Shipping options are automatically displayed and calculated based on the address saved in the customer's Google Pay account. Previously, customers would be redirected to a review page to select a shipping method before completing their payment. Now, the review page is optional, giving the merchant flexibility to enable/disable this step in the checkout process. The Google Pay Express buttons are located on the mini-cart, cart and top of the checkout.
  • Updated the current Apple Pay mark to the latest version.
  • Updated the current Google Pay mark to the latest version.
  • Removed Sofort and Giropay payment methods as they are no longer supported.
Package tracking
When a PayPal order is shipped, the

Braintree extension now sends the carrier and tracking number to both the merchant's and the customer's PayPal accounts. Providing tracking information and item-level details greatly improves the customer experience while reducing operational costs for merchants. Customers can easily log into their PayPal account, view the order, and access the tracking link. Merchants benefit from automatic resolution of "Item Not Received" PayPal disputes, quicker access to funds in payment and dispute holds, live tracking updates, item-level disputes (rather than disputes for the entire order), and enhanced merchant risk profiles.

Line items

This release includes the following enhancements to line items:

  • Apply Pay : When customers checkout using Apple Pay Express, the Braintree extension now shows the cart line items within the Apple Pay modal. By clicking the tooltip (?) next to the price, customers can view individual cart items, discounts, shipping, and tax details, removing the need to exit the modal to confirm their items.
  • Google Pay : When customers checkout using Google Pay Express, the Braintree extension now displays the cart line items directly within the Google Pay modal. By clicking the tooltip (?) next to the price, the customer can view individual cart items, discounts, shipping, and tax details, eliminating the need to exit the modal to verify their items.

Fixed issues in v2.4.8

We have fixed 582 issues in the ÃÛ¶¹ÊÓÆµ Commerce 2.4.8 core code. A subset of the fixed issues included in this release is described below.

APIs

  • /V1/transactions REST API returns error when parent_txn_id = txn_id
    The system now correctly handles the parent and child concept transactions where the parent transaction ID is the same as the transaction ID, preventing an infinite loop when querying the /V1/transactions REST API endpoint. Previously, this scenario would result in a fatal error due to maximum execution time being exceeded.
    AC-10042 -
  • [Graphql] Type issue in 2.4.7
    The system now correctly handles integer values in the GetCustomSelectedOptionAttributes function when executing a GraphQL query, preventing any type-related errors. Previously, launching a GraphQL query that used GetCustomSelectedOptionAttributes with an integer argument resulted in a type error.
    AC-11878 - -
  • Special characters in category url_key (when created via REST API)
    Earlier In category_url_key special character is not there after the fix it is showing special character in category_url_key
    AC-3223 - -
  • __REST API showing orders from another website. __
    The system now supports scope authorized access for REST API admin tokens and Magento_Sales endpoints, ensuring that the REST API only displays orders that admin has access to. Previously, the REST API would display orders from all websites, regardless of the admin user's assigned website.
    ACP2E-2703
  • Issue with rest api after enable 2FA Duo
    2FA with Duo security option now generates correct signature for Rest API
    ACP2E-2755 -
  • [REST API]: Use Default value in store view does not stay checked after adding configurations for a configurable product
    The issue has been fixed by ensuring correct database entries for the customizable options for a non-default store. The checkbox for the custom store in the "admin > Catalogue > Product Edit > Customizable Options" section was previously unchecked owing to inaccurate database entries, even if the option title for the custom store stayed the same as the default store.
    ACP2E-2927 -
  • REST API unable to make requests with slash (/) in SKU when using Oauth1
    Prior to the fix, you were not able to make a successful API call for a product that had "/" in its SKU. Now, you can issue a successful API get request for product details even though its SKU has a forward slash in it.
    ACP2E-2969 -
  • Customer address update failing when updating through REST API if "validateDefaultAddress" enabled
    The API endpoint is now functioning as intended after the problem with the ID key missing from the API payload has been resolved.
    ACP2E-3079 -
  • [Cloud] Creating the Duplicate website group price customer group in Tier Prices Api.
    Now Tier Price Rest Api doesn't allow to create the Duplicate website group price customer group.
    Previously it was possible to create the Duplicate website group price customer group in Tier Prices Api that would not pass validation in Admin during product save.
    ACP2E-3091 -
  • Can't add order comment with status via REST API
    The issue has been resolved by allowing the change in order status if it is from the current state only. Previously, it was not honouring the order state and preventing changes in any order status, even if it was from the same state.
    ACP2E-3130 -
  • Async operation fails when the SKU is missing from the payload
    Async and sync operations previously failed due to product save errors if sku is missing from payload. After the fix, the async and sync product save rest api operations fail with relevant exception message.
    ACP2E-3236 -
  • [CLOUD] Unable to update the Base-prices using REST API (The value of 'value_id' in 'catalog_product_entity_decimal' is not incremented correctly.)
    Previously to this fix, when rest api /rest/default/V1/products/base-prices was called, the increment id was increased wrongly leaving a gap between values. After the fix the increment id is increased as expected, incrementaly. Also the value_id field range was increased.
    ACP2E-3376 -
  • Order items are not visible in credit memo emails for the API POST V1/order/:orderId/refund
    Previously, before this fix, when a customer creates a credit memo from an API request notifying send_email, it does not contain the product details grid. After this fix apply the customer sends a credit memo API request, and will find the product item details appearing in the email.
    ACP2E-3460 -
  • Default values are not set for date and time attributes with products RestAPI
    Default values now sets properly for date and date and time attributes via RestAPI
    ACP2E-3486 -

APIs, Cart & Checkout

  • Critical 500 Error: Magento\Framework\Webapi\Exception Related to Accept HTTP Header
    After the fix, there is no issue with specifying the "Accept" header.
    ACP2E-3343 -

APIs, GraphQL

  • no graphQl available for subscribing Reward Points updates for customer
    Previously to the fix, customer attribute reward_warning_notification could not be updated through GraphQL mutation and Rest API call. Now can be updated the same as customer attribute reward_update_notification.
    ACP2E-3348

APIs, GraphQL, Tax

  • Both Luma (Rest API) and Graphql does not calculate taxes when only Zip code is provided.
    The system now correctly calculates taxes when only a zip code is provided, ensuring accurate tax estimations for both Luma (Rest API) and GraphQL. Previously, only shipping estimates were calculated and taxes were not included when only a zip code was provided.
    AC-12060

Account

  • Customer address form allows random code in the name fields
    The system now validates the input in the First Name and Last Name fields in the customer address form, preventing the use of random code. Previously, the system allowed the use of random code in these fields without throwing an error.
    AC-10782 - -
  • admin Password update.
    AC-10886 - -
  • my account add address crash on save
    The system now correctly saves customer addresses even when the region field is not displayed, preventing a crash during the save process. Previously, attempting to add or edit an address without a displayed region field would result in an exception error.
    AC-10990 - -
  • Redirect loop when URL have uppercase
    The system now automatically converts uppercase characters in URLs to lowercase, preventing a redirect loop when accessing the homepage. Previously, having uppercase characters in the Secure Base URL would cause a continuous redirect loop when trying to access the homepage.
    AC-11718 - -
  • middlename('s) not saved for guest accounts
    The system now correctly saves the middle name for guest accounts during checkout, making it accessible in the email template. Previously, the middle name was not saved in the quote table and was not accessible in the email template for guest accounts.
    AC-11755 - -
  • Admin: Page Actions Buttons floating left instead of right
    The system now correctly aligns the Page Actions Buttons to the right side of the sticky header in the admin panel, enhancing the professional look and feel. Previously, these buttons were incorrectly floating to the left side of the sticky header.
    AC-11919 - -
  • dev:di:info error in magento 2.4.7
    The system now correctly displays constructor parameters when executing the dev:di:info command, preventing any errors from occurring. Previously, executing this command resulted in an error due to a type mismatch in the argument.
    AC-11999 - -
  • Login as customer opt-in checkbox not translatable
    The system now allows the "Login as Customer opt-in checkbox" and "Login as Customer checkbox tooltip" fields to be set at the "Store view" scope, enabling translations for different store views. Previously, these fields were only set at the "Website" scope, preventing translations for individual store views.
    AC-13000 - -
  • Front end UI Homepage in my profile Dropdown is button is not there.(intermittently)
    AC-14299
  • Customer is logged in but showing 404 error in frontend.
    The storefront customer dashboard page now loads as expected when a customer logs in. Previously, customers could log in, but this page showed a 404 error.
    AC-6071 - -
  • Not able to Save Customer attribute information in Admin Edit customer section;
    The store ID of the customer is now implemented properly per website scope for the admin customer edit form.
    ACP2E-2791 -
  • [Cloud] Can't create customer via API when Private Sales is enabled
    Now customer can be created by authenticated admin user as well as with authenticated integration token via REST api when website restriction is enabled.
    ACP2E-3115
  • After logging in, the products added to the compare list as a guest user are not visible.
    Products that were added to product compare list before logging in as a customer now are preserved after logging in.
    Previously, after logging in, the products added to the compare list as a guest user were not visible.
    ACP2E-3329 -
  • Allow Countries configuration causes issues in customer address configurations
    Now selecting Allow Countries configuration doesn't influence countries shown for outside the given scope. Previously Allow Countries configuration influenced customer address attribute outside given scope
    ACP2E-3433 -
  • Shared Gift Registry shows the event date as 1 day earlier
    Gift Registry date is shown correctly now on Storefront
    ACP2E-3445
  • VAPT: Business Logic Error - future date as customer date of birth
    Customer's date of birth can not be set later than today
    ACP2E-3501 -

Account, APIs, GraphQL

  • Customer API - Login Failures Number Not Able To Reset To 0 After Successful Login
    Now failure number is reset to zero in customer entity table after customer successful login through API endpoints.
    ACP2E-3246 -

Account, Admin UI, B2B

  • Restricted admin users can't always see custom shared catalogs
    Restricted admin users can now consistently view and manage customers and all shared catalogs to which the products are assigned, provided they have access to the specific store. Previously, a restricted admin user with access to a particular store could not always see all shared catalogs to which the products were assigned or could see customers that could not save, leading to inconsistencies in the system.
    ACP2E-3038 -

Account, Cart & Checkout

  • "select" custom customer address attribute does not render for new customer address
    AC-2341 -

Admin UI

  • [Issue] add permission check for "reload data" data button
    The system now includes a permission check for the "Reload Data" button, ensuring that it is only displayed and accessible to users with the appropriate permissions. Previously, the "Reload Data" button was visible and clickable for all users, leading to a "not permitted" page when clicked by users without the necessary permissions.
    AC-10705 - -
  • [Issue] Inconsistent labels for attributes in marketing rules
    The system now correctly populate the labels consistently for category and attribute options in cart price rule
    AC-11427 - -
  • Data validation is success and Import button is present during Import products with Replace behavior
    The system now correctly validates data and hides the "Import" button during the product import process with "Replace" behavior, preventing any unintended data replacement. Previously, the system incorrectly validated the data and displayed the "Import" button, leading to potential data inconsistencies.
    AC-11588 -
  • [Bug] Magento 2.4.7 doesn't allow product photo's with capital letter file extension.
    The system now accepts product image uploads with capital letter file extensions, ensuring a smooth product creation process. Previously, image uploads with capital letter file extensions were refused, forcing users to change the file extension to lowercase.
    AC-12167 - -
  • Hidden dropdown in grids with select action (e.g. Content > Elements > Pages)
    Now the system has been fixed all similar dropdown for all the grids.
    AC-12319 - -
  • [Issue] Fix Warning: Undefined array key "filters"
    The system now handles scenarios where a new user has not interacted with bookmarks yet, preventing an undefined array key "filters" warning from being logged. Previously, this warning would be logged when a fresh user had not interacted with bookmarks.
    AC-13131 - -
  • Product import csv file with special characters fails due to code changes in Validate.php file
    The system now correctly validates and imports product CSV files containing special characters, allowing for successful data transfer. Previously, attempting to import a product CSV file with special characters would result in an error, preventing the import process.
    AC-13529 -
  • When the Max Number of Password Reset Requests" is set greater than 0 eg: 3 , "Exceeding limit error messages are sent before reching the limit i.e from second time
    AC-13767
  • Though the Max Number of Password Reset Requests" is set to 0( diabled) , "Exceeding limit error messages are sent from 2nd time"
    AC-13768
  • There is no red asterisk for mandatory phone number field
    Earlier red asterisk was not showing for phone number but phone number was mandatory. Which is now fixed red asterisk can be seen on phone number as a mandatory filed.
    AC-13850 -
  • In Admin When we try to Reorder submit order button is not clickable. (intermittently)
    AC-14300
  • [Issue] Set default indexer mode to 'schedule'
    All new indexers are by default in Update by Schedule mode. Previously, the default mode was Update on Save. Existing indexers are not affected.
    AC-6975 - -
  • [Issue] Drop indexer changelog tables on mview unsubscribe
    The system now automatically removes unused changelog tables when an index is switched from 'update on schedule' to 'update on save', marking the index as invalid to ensure no entries are missed. Previously, switching an index to 'update on save' would leave unused changelog tables in the system and mark all changed indexes as 'valid'.
    AC-7700 - -
  • No link to shipping when in payments in checkout in mobile phone view
    The system now ensures that the checkout titles/links "Shipping" and "Review & Payments" are always visible on top of the page in mobile view, allowing users to easily navigate between steps and make necessary corrections. Previously, these titles/links were hidden in mobile view, making it difficult for users to know their current step or go back to previous steps.
    AC-7962 - -
  • customer Orders query shipment comments created_at is returned in +0 timezone not in store configured timezone
    The system now correctly displays the 'created_at' field from shipment comments in the customer's configured timezone when using the customer Orders query. Previously, the 'created_at' field was displayed in the +0 timezone, regardless of the customer's configured timezone.
    AC-8109 - -
  • i18n:collect-phrases breaks the translations integrity
    The bin/magento i18n:collect-phrases -o command now correctly collects and adds new phrases from JavaScript and .phtml files, ensuring that translations are accurately reflected in the translation file. Previously, the system failed to include multiline translation phrases from JavaScript files and phrases from .phtml files in the translation file, leading to incomplete or incorrect translations.
    AC-9843 -
  • Permission Issue for accessing Dynamic Block
    Previously for restricted admin adding a new dynamic block threw an error. After implementing this fix restricted admin can successfully add the dynamic block, and edit the block without any error
    ACP2E-2687
  • Apostrophe in store view name is replaced by '
    The grid's store view filters now properly display apostrophes
    ACP2E-2787 - -
  • Favicon upload fails to validate .ico files
    The file validation error has been updated to "File validation failed. Please verify the Image Processing Settings in the Store Configuration." Previously, it was simply "File validation failed."
    ACP2E-2847 -
  • Gallery in PageBuilder is showing old image thumbnail instead of newly uploaded image
    Regenerate image previews for images deleted and re-uploaded with same name through media gallery in page builder content.
    ACP2E-2957 - -
  • Saving product by admin user with different role scope overwrites/deletes existing Related product information in the product
    Previously, before the fix, the related products were reset and became empty when the secondary admin user clicked on the save button without changing in related product. After this fix, the secondary admin user clicks on the save button and the product doesn't reset and is saved successfully.
    ACP2E-2978 -
  • Unable to export more than 200 orders
    The server limits for the request size of previously submitted selected IDs have been neglected by altering the HTTP request from GET to POST in order to fix the issue. Previously, due to the server limitations for GET request size, the issue was encountered.
    ACP2E-3033 -
  • Checkout page Validation message incorrect.
    If any required field is left empty, such as "address," the server-side validation will not display the message. The client-side validation will ensure that the required field error notification appears, stating "This is a required field." Previously, the message "address is required" would appear if any required field was left empty, in addition to the client-side validation message.
    ACP2E-3037 -
  • Password reset template issue with Admin user
    The issue has been resolved by using the correct key, which now includes the admin username in the email template and properly completes the subject. Previously, the problem stemmed from an outdated key that was being used.
    ACP2E-3125 -
  • Double slashes in customer segment URL
    Double slashes do not appear in the URL when 'Reset Filter' is clicked in the grid.
    ACP2E-3149 -
  • COD is not available for allowed specific countries
    Now Cash on delivery is available for allowed specific countries whenever it is required and AC-3216 is working as expected.
    ACP2E-3171 -
  • Cannot update Custom created Order status
    'We can now update custom-created order statuses, whereas previously, the status could only be changed if the current status was either "processing" or "fraud."
    ACP2E-3178 - -
  • The shipping address state is not auto updating
    Prior to the fix, the shipping address region (or region id) was not in sync with the address billing information. Now, both shipping address region and region id are properly updated when billing address information is changed.
    ACP2E-3294 -
  • Reset button doesn't work on Add/Edit admin user
    Previously, the Reset button did not function on the Add/Edit Admin User page. Now, in the Admin panel under System -> Permissions -> All Users, the Reset button will work correctly on the Add/Edit Admin User page.
    ACP2E-3364 -
  • Magento admin URL routing wrong detection and CORS errors
    After the fix, if the custom admin domain is a subdomain of the main domain, the admin is accessible only from the configured subdomain.
    ACP2E-3373 - -
  • Broken validation for 'Maximum Qty Allowed in Shopping Cart'
    Previously, when we put Maximum Qty Allowed in Shopping Cart empty, it did not throw any exception, though an empty value is not accepted here. After this fix applies, putting an empty string will throw exceptions and will not allow saving the product.
    ACP2E-3392 -
  • [Pagebuilder Preview UI Issue] The buttons in the Page Builder column aren't lining up correctly
    The buttons in the Page Builder columns are now correctly aligned. Previously, they were misaligned within the Page Builder columns.
    ACP2E-3408 -
  • Products Ordered report is not exporting. 404 error instead.
    Products Ordered report excport to CSV and XML now works as expected
    ACP2E-3431 -
  • TinyMCE JS Error in console after Js minification enable with production mode
    Previously, enabling JavaScript minification in production mode within the admin panel caused JavaScript errors related to TinyMCE 6 to appear in the browser console, affecting the functionality and user experience. Now, This issue has been resolved, ensuring that TinyMCE 6 operates smoothly without generating any errors, even when JS minification is enabled.
    ACP2E-3457 -
  • Request for additional changes to fully complete the ACP2E-3375 fix
    '-
    ACP2E-3459 -
  • Automatic enabling of new ACL permissions
    New permissions added to custom modules will no longer automatically grant access to all existing user roles unless explicitly configured.
    ACP2E-3503 -
  • Admin Actions Log User Report doesnt show details for adminhtml_user_delete
    The adminhtml_user_delete now correctly logs important details. Previously, logs were not generated for user deletions.
    ACP2E-3509 -
  • Cart Rule with shipping condition not applying when placing order from admin
    Previously, if the cart price rule has a shipping method discount with the coupon, it can not be applied through Admin UI. After this fix is applied, the cart price rule discount with a coupon for a specific shipping method will be applied from Admin UI successfully.
    ACP2E-3536 - -
  • [FRESH] HEX code is not updating correctly in SWATCH
    HEX code that is manually entered by user in the Visual Swatch color picker is no longer altered by the system. Previously, certain HEX codes experienced slight adjustments due to conversion errors between color models.
    ACP2E-3559 - -

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

Admin UI, Catalog

  • Cannot change positions for the category products in the allowed website as a restricted admin user
    Allow for a restricted admin user to add and sort products under a category contained under the root category assigned under restricted website.
    ACP2E-2708

Admin UI, Payment/ Payment Methods, Order

  • Transaction Authorization Not Displayed in Transaction Tab After PayPal Smart Button Order
    The system now correctly displays the transaction authorization in the Transaction tab after an order is placed using the PayPal Smart Button. Previously, the authorization transaction was not appearing in the Transaction tab after clicking the "Authorize" button, and no new transaction of type "Authorization" was created.
    AC-13520 -

Admin UI, Performance

  • After update to 2.4.5-p8 500 errors occur when creating order from admin
    Previously, when enabling HTML minification, an order from admin could not be placed. Now, with HTML minification enabled, the order from admin can be placed successfully.
    ACP2E-3169 -

Admin UI, Shipping

  • The coupon code count does not update in the "Time Used" column in the Manage Coupon Codes tab if an order is placed with multi-shipping.
    Earlier, when an order was placed with multi-shipping, the coupon code count did not update in the "Time Used" column on the Manage Coupon Codes tab. Now, the correct count is displayed in both the "Time Used" reflecting the desired values with multi shipping.
    ACP2E-2519 -

Admin UI, Staging & Preview

  • [Cloud] Removing template with missing images causes pub/media to be deleted
    Previously to this fix, if the preview image name was missing for a pagebuilder template, the pub/media folder was deleted. After the fix, only the template will be deleted and the preview image if found.
    ACP2E-3424 -

Analytics / Reporting

  • Google Analytics CSP Error https://region1.analytics.google.com
    The system now correctly allows connections to 'https://region1.analytics.google.com' when Google Analytics is enabled, preventing Content Security Policy (CSP) errors. Previously, enabling Google Analytics and viewing the website from the EU would result in CSP console errors due to a refusal to connect to 'https://region1.analytics.google.com'.
    AC-9922 - -
  • Advance Report is not working
    The system now supports the generation of Advance Reporting data files for extra-large datasets by loading and writing reports in batches of 10,000. Previously, the Advance Reporting module was unable to generate data files for extra-large datasets, causing "MySQL server has gone away" errors during the execution of the analytics_collect_data cron job.
    ACP2E-2570 -
  • Admin Ordered Products Report date range visibility issue.
    The user will be able to select any date from the ordered products report. Previously, after a table refresh, selecting 'FROM' date will reset 'TO' date.
    ACP2E-3080 -
  • Incorrect curl headers making newrelic:create:deploy-marker not working
    The system now correctly formats curl headers, allowing the newrelic:create:deploy-marker command to successfully create a deployment marker in New Relic. Previously, incorrect curl headers prevented the creation of a deployment marker in New Relic.
    ACP2E-3096 - -
  • GTM missing addToCart event in dataLayer for configurable product with custom option
    Previously, the addToCart event was not being triggered for configurable products. Now, the event is properly added to the GTM dataLayer variable.
    ACP2E-3146
  • NewRelic browser monitoring inlineJS script causes CSP errors
    NewRelic Browser Monitoring scripts are now injected by the application instead of the APM agent for compliance with CSP (Content Security Policy). Previously, NewRelic Browser Monitoring scripts injected by APM agent were not compliant with CSP and caused the scripts to not be executed.
    ACP2E-3183 -
  • INSERT queries to the sales_bestsellers_aggregated_daily table become slow on project with large sales order volume
    Previously the bestsellers aggregated daily report would take a lot of time to generate for large volume of placed orders. Now the report is generated in a timely manner.
    ACP2E-3189 -
  • Order reports showing the wrong currency symbol
    The currency symbol for order amounts in the Order Report was incorrectly taken from currency/options/base. It has now been corrected to use currency/options/default for accurate reporting.
    ACP2E-3276 -
  • [Cloud] Incorrect Calculations in Coupon Usage Report
    The sales total in the coupon report grid is now accurately calculated by incorporating both the "Discount Tax Compensation Amount" and the "Shipping Discount Tax Compensation Amount." Previously, these amounts were missing from the calculation, leading to discrepancies between the sales total and the sales order data.
    ACP2E-3302 -
  • Issues with shared "<project_id>/var/tmp"
    Analytics DataExport temporary files will use the sys tmp directory, which is more suitable for frequent access and changes. To avoid collisions in case multiple instances are running on the same server, the tmp path was updated to use an instance's unique id
    ACP2E-3339 -

Analytics / Reporting, B2B

  • B2B - sitemap includes products/categories not assigned to Shared Catalog
    Restrict the sitemap generated categories and products to the categories and product assigned only to the public shared catalog and / or the catalog category permission setup.
    ACP2E-2300 -

Analytics / Reporting, Cloud

  • Magento discards most New Relic cron transactions #34108
    AC is correctly reporting cron job related transactions to NewRelic. Previously, some cron job related transactions would be shown as "OtherTransaction/Action/unknown" in NR
    ACP2E-3067 -
  • Metric in NR might be misleading for background transactions- Follow up of ACP2E-3067
    Background transactions (cron) will use New Relic app name defined in the config settings
    ACP2E-3187 -

B2B

  • 2.4.8-beta102 package Enterprise edition is failing with application exceptions
    AC-13501
  • Products assigned to shared catalog are not reflect on the front end when partial index is executed
    Products assigned to shared catalog via REST API are now immediately visible on storefront after partial indexing is complete. Previously, Products were visible only after a full re-indexation.
    ACP2E-2139 -
  • [Cloud] Price display in mobile and desktop version not the same in "My quotes"
    Unneeded Include Tax line is not shown anymore in Negotiable Quote when catalog total price section is expended.
    ACP2E-2873
  • Unnecessary borders on the My Orders section
    Previously an additional container(order references) was created that applied additional CSS classes, which caused unnecessary border lines were appearing below the order number inside the My Orders section, which isn't visible now.
    ACP2E-3044 -
  • sales_clean_quotes cron deletes quotes from to yet approved purchase orders
    Quotes used in purchase orders now will not be deleted by sales_clean_quotes cron job
    ACP2E-3247 -
  • Place order button disappears in Purchase Order details
    Fixed an issue where Place order button was hidden for approved purchase orders when a product variation had minimum number in card specified
    ACP2E-3465
  • [CLOUD] No such entity with id = 0 with b2b module
    Logged in user is able to add product to cart when Shared Catalog features are enabled.
    Previously adding product to cart resulted in Error 'no such entity with id = 0'
    ACP2E-3474
  • No error message displayed for our of stock products when bulk adding from requisition list
    Prior to the fix a success message was being displayed regardless of the number of products that failed to be added to the cart. Now, separate messages are being displayed for products there were successfully added to the cart and for products that failed.
    ACP2E-3562
  • Issue with SKU Updates after Scheduled Updates Causing Incorrect Product Permissions (-2 Deny)
    Modifying a product's SKU with past scheduled updates no longer causes the product to be inaccessible to the shared catalog customers entitled to see the product.
    ACP2E-3628

B2B, Catalog

  • Products/Categories visible during reindexation when using NoDDL and Category Permissions
    Avoid displaying on storefront restricted categories and their content while catalog permissions indexing is being performed.
    ACP2E-2860

B2B, Framework

  • Filtering Company Grid & Then Attempting Grid CSV Export Will Fail & Throw Exception
    The system now allows successful CSV export of the Companies grid data in the admin panel, even when filters such as 'Outstanding Balance' and 'Company Type' are applied. Previously, applying certain filters and attempting to export the grid data would result in a failure and an exception being thrown.
    AC-9607 -

B2B, GraphQL

  • [Cloud] Unable to set custom_attributes while comany creation over the graphql call
    After the fix, it's possible to set the "custom_attributes" attribute for the company admin during company creation using graphql request.
    ACP2E-3391

Braintree

  • Admin express checkout button is disabled.
    AC-14293
  • Pay via LPM
    The system now correctly renders Local Payment Methods (LPM) on initial load, even when a logged-in customer's shipping and billing addresses do not match, ensuring a smooth checkout process. Previously, a mismatch between a customer's shipping and billing addresses would prevent LPM from rendering, causing potential disruptions during checkout.
    BUNDLE-3367
  • Configurable with Virtual as Child Product
    The system now allows express payment methods for configurable products that have a virtual child product, ensuring a smooth checkout process. Previously, express payment methods were not available when a configurable product with a virtual child product was added to the cart.
    BUNDLE-3368
  • CVV Verification failed error
    BUNDLE-3369
  • Vaulting Via the account Area Issues 247
    The system now allows customers to save new card or PayPal account information across multiple websites without encountering authorization errors. Previously, customers were unable to save new payment methods across different websites and were presented with an authorization error message.
    BUNDLE-3370
  • Ship to an address from a different country
    The system now allows transactions to be processed without errors when shipping to an address from a different country, ensuring a smooth checkout process. Previously, attempting to ship to an address from a different country would result in console errors, despite no visible errors on the frontend.
    BUNDLE-3371
  • Credit Card - Teardown function
    The system now correctly handles the teardown of Braintree PayPal components when a customer navigates back from the payment page to the shipping page, preventing any errors and ensuring that PayPal Express buttons render correctly. Previously, navigating back to the shipping page from the payment page sometimes resulted in an error when trying to teardown the Braintree PayPal components.
    BUNDLE-3372
  • Shipping Callback for PayPal Express
    The system now correctly displays available shipping methods in the PayPal Express modal, allowing customers to select their preferred shipping method before proceeding to the review page or completing their transaction. Previously, no shipping methods were available to select from in the PayPal Express modal, requiring customers to select a shipping method on a separate review page before they could complete their transaction.
    BUNDLE-3373

Bundle

  • Storefront Bundle Checkbox Validation Error message count more than 1
    The system now displays only one validation error message when the 'Add to Cart' button is clicked without selecting any checkbox options for a bundled product. Previously, the system was displaying multiple validation error messages for each unselected checkbox.
    AC-10826 -
  • Magento Exception thrown in some order related test cases
    The system now correctly handles the 'sendGuestPaymentInformation' step in various test cases, preventing Magento exceptions from being thrown. Previously, these exceptions were occurring due to a null payment method, causing failures in several test cases.
    AC-13321

Cart & Checkout

  • Exception is not getting handled properly while adding a product to cart in the compare product page
    The system now properly handles exceptions when adding a product to the cart from the compare product page, displaying a message manager message in the controller. Previously, an exception would result in a JSON encoded page being returned instead of being properly caught and handled.
    AC-10660 - - -
  • GTag not send transaction prices and totals.
    The system now correctly sends transaction prices and totals to Google Tag when GTag is enabled, ensuring accurate tracking of ecommerce data. Previously, the currency was incorrectly being sent as part of the "all" orders, rather than being associated with the individual order.
    AC-10698 - - -
  • [Issue] [Checkout] Depend directives updated in failed payment email template
    The system now correctly omits the shipping address and shipping method from the failed payment email template for virtual products, ensuring only relevant information is included in the email. Previously, the failed payment email for virtual products incorrectly included the shipping address and shipping method.
    AC-11641 - -
  • Magento 2 login inside the checkout with existing customer give console error in Firefox browser
    The system now allows users to log in during the checkout process without encountering any console errors in the Firefox browser. Previously, attempting to log in as an existing customer during checkout would result in a console error in Firefox.
    AC-11717 - -
  • [Issue] Sales Rules regression in 2.4.7
    The system now correctly validates sales rules, preventing the application of a coupon code to a cart when the product condition does not match any product name. Previously, a sales rule could be applied and a discount given on the shipping amount even when the product condition did not match any product name.
    AC-11876 - -
  • [Issue] Sales rule CartFixed calculation : incorrect discount amount
    The system now correctly calculates the discount amount for sales rules with cart fixed amounts, ensuring accurate discounts are applied regardless of changes in cart items. Previously, the discount amount could vary incorrectly when cart items changed, sometimes resulting in significantly larger discounts than expected.
    AC-11914 - -
  • [Issue] The loader blocks the shipping methods after the postcode is changed, shipping rates validation rules
    The system now correctly handles custom shipping methods without shipping rates validation rules, ensuring that the loader does not block the shipping methods after the postcode is changed in the shipping address during checkout. Previously, changing the postcode in the shipping address during checkout would cause the loader to block the shipping methods and not disappear when custom shipping methods without shipping rates validation rules were used.
    AC-11993 - -
  • Coupon code feature is not working properly in the checkout page on Magento 2.4.7
    The system now enables the discount code/coupon input field on the checkout page for virtual and downloadable products, allowing users to apply discount codes as expected. Previously, the discount code/coupon input was disabled, and the button title text displayed as "Cancel coupon", preventing users from applying discount codes.
    AC-12170 - -
  • Terms and conditions checkbox is not allowing HTML on storefront
    The system now supports HTML formatting in the "Terms and Conditions" checkbox text on the storefront, allowing for enhanced customization and readability. Previously, the checkbox text was displayed in plain text format, ignoring any HTML tags used.
    AC-12479 -
  • Cart price rule created for logged in user incorrectly gets applied for not logged in user
    The system now correctly removes the cart price rule for logged-in users when they are automatically logged out due to cookie expiration, ensuring that the discount is not applied to non-logged-in users. Previously, the cart price rule was still applied even when the user was logged out, resulting in an incorrect discount being applied to non-logged-in users.
    AC-12541 - -
  • [Issue] [FEATURE] Performance optimisation large shopping carts by preventing…
    The system now optimizes performance for large shopping carts by preventing duplicate getActions calls, enhancing the speed and efficiency of shopping cart operations. Previously, for a shopping cart with multiple items, the getActions function was called multiple times, slowing down the system's performance.
    AC-13302 - -
  • Gift registry Product isn't displayinging properly
    AC-13797
  • Gift registry Product isn't displaying properly
    AC-13841
  • Translation VAT in address renderer
    The system now allows for the translation of the text "VAT", "T", "F" in the address renderers, enabling users to translate these terms to the specific language of the store. Previously, these terms were not translatable, forcing users to employ a workaround.
    AC-8103 - -
  • Duplicate orders with same Quote Id at same time with few time difference
    Fixed the issue when ÃÛ¶¹ÊÓÆµ Commerce customers encountered duplicate orders placed with the same QuoteID
    ACP2E-2055 -
  • Persistent shopping cart cleared during checkout step
    After the fix, selecting the payment method during checkout while not logged in doesn't terminate the persistent session.
    ACP2E-2470 -
  • Reorder adds non assigned product to cart
    Previously, for the different stores products can be reordered from the other store. After this fix is applied only the same store , same scope product can be reordered when the customer account share is enabled
    ACP2E-2518 -
  • In admin, the "Shopping Cart" on left side doesn't get updated when selecting the items and "Move to Shopping Cart" from the right side
    The "Shopping cart" on the left side gets updated when selecting the items and "Move to shopping cart" from the right side in the admin side. Previously this functionality was not working because the transformed cart items were not getting empty from the session.
    ACP2E-2620 -
  • [Cloud] Sales Rule not applied to first order of Multi Shipping
    After the fix, the discount is shown correctly for each order of the same multi-shipping quote.
    ACP2E-2646 -
  • [Cloud] Production Parallel Requests to Add Same Product to Cart Result In Two Separate Items In The Cart rest API
    The system now correctly processes multiple parallel requests to add the same product to the cart into a single line item, preventing the creation of separate line items for the same SKU. Previously, making parallel requests to add the same product to the cart via the REST API would result in multiple line items for the same SKU.
    ACP2E-2664 -
  • Issue with Ordering from Gift Registry Magento 2.4.4 Enterprise/Commerce
    The issue preventing the successful purchase of a product from a gift registry has been resolved, allowing orders to be placed and the gift registry to be updated appropriately. Previously, an error occurred when attempting to place an order from a gift registry, preventing the completion of the purchase.
    ACP2E-2676 -
  • Getting Unable to send the cookie. Size of 'mage-messages' while trying to Reorder
    The reordering processwill not generate its own errors now. It will rely on cart listing built-in item checks.
    ACP2E-2704 -
  • Default shipping address is not selected on checkout
    Default shipping address is now being selected event in context of enabled address search.
    ACP2E-2798 -
  • [CLOUD] graphql addProductsToCart api issue with custom option
    GraphQL adds to cart correctly the same product with different custom options
    ACP2E-2897 -
  • [Cloud] Related Products Rules not working when changing the store view
    The issue has been fixed by confirming that the custom property value is successfully received on the cart page. Previously, it wasn't fetched properly when switching between stores on the storefront cart page.
    ACP2E-2917
  • Multiple addresses added to the account when checkout as new customer
    The system now saves a new customer address only once if the order failed to be created, preventing the creation of multiple identical addresses in the event of order placement errors. Previously, the system would save a new address each time an order placement attempt was made, regardless of whether the order was successfully created or not.
    ACP2E-2923 - -
  • Reordering customer order via guest order form results an empty cart
    Previously, when placing a reorder through the Orders and Returns page, the customer was redirected to the login page. After this fix is applied, the registered customer is correctly redirected to the View Cart page when placing a reorder. The flow works the same as like as guest customers.
    ACP2E-3004 -
  • Admin User with limited Role Resources unable to view Shopping Carts
    Previously, the restricted admin could not see the abandoned shopping cart from the admin panel for an associated website. After this fix is applied, the restricted admin can see the abandoned shopping cart from the admin panel.
    ACP2E-3025 -
  • [Cloud] quick order large amount of SKU performance
    Checkout performance has been improved when attributes used in cart price rules conditions are not present for all products and when MAP (Minimum advertised price) feature is enabled.
    ACP2E-3176 -
  • Duplicated items in cart
    The system now correctly processes multiple parallel requests to add the same product to the cart into a single line item, preventing the creation of separate line items for the same SKU. Previously, making parallel requests to add the same product to the cart on Storefront would result in multiple line items for the same SKU.
    ACP2E-3211 -
  • Checkout order email confirmation is sent to emails entered in First/Last name
    The checkout order email confirmation, which was previously sent when an email-like pattern was entered in the First and Last Name fields, is no longer being sent.
    ACP2E-3296 -
  • Checkout shipping address form get update with wrong address
    shippingAddressFromData is now saved into the local storage per website. Previously, an address from the wrong website could be auto-populated into the shipping address form during checkout if a store code was used in the URL and checkout was initiated from multiple websites during the same guest session.
    ACP2E-3402 -
  • [CLOUD] Checkout does not retain the selected billing address when Address Search is enabled
    Checkout payment page will now retain the selected billing address when address search is enabled. Previously if "Number of Customer Addresses Limit" is configured to 1, and customer has more than one address, the selected billing address would disappear after reloading the page.
    ACP2E-3405
  • Gift Card Product | Cart Merge is merging Gift Cards
    Giftcard products now merged correctly in the cart
    ACP2E-3407 -
  • Cart persistence is not being respected upon logout
    Added missing functionality Remember Me from customer login to authentication popup and checkout sign ins.
    ACP2E-3415 -
  • Existing quote data is not update / not visible, instead create a new quote record when trigger_recollect = 1
    Customer's shopping cart items no longer disappear as result of a product being deleted after it was added to the shopping cart.
    ACP2E-3488 -
  • When a gift registry item is purchased, the customer sees items not on their registry
    Gift registry update no longer includes items that do not belong to the gift registry.
    ACP2E-3495
  • [Cloud] Issue with "Remove All" Confirmation Popup Removing Cart Items Without Confirmation
    Now, clicking the "Remove All" button for attention-required products prompts a confirmation popup to ensure items are only removed with your confirmation. Previously, items were removed immediately without any confirmation
    ACP2E-3510
  • [CLOUD] Re-order button functionality
    Re-orderind an order from the administrator area will now add products with stock to the quote even though there are some products in the original order that do not have stock anymore. Prior to the fix no products were being added to the new quote if product with no stock were in the original order.
    ACP2E-3618 -
  • Search stores are not working by zip code
    Searching pickup locations by zip code was not working properly for Dutch localisations. After the fix, the pickup location search will provide results based on zip code.
    ACP2E-3622 -

Cart & Checkout, Checkout/ One Page Checkout

  • [Random BUG] Email field isn't rendered or takes a lot of time show up in Checkout Shipping or Payment page
    Commerce now renders the Email field on the checkout shipping and payment pages as expected. Previously, this field was either absent or rendered slowly.
    AC-9386 -

Cart & Checkout, Order

  • Datepicker for product with multiple Customizable Options with date fields not working when placing order from admin
    The system now correctly displays the date picker for all date fields when configuring a product with multiple customizable date options in the admin order creation process. Previously, the date picker was only displayed for the first date field, leaving the remaining fields without a date picker.
    ACP2E-3097 -

Cart & Checkout, Shipping

  • Instant purchase "cheapest shipping" broken for configurable products
    The Instant Purchase feature incorrectly selected the more expensive In-Store Delivery option for configurable products instead of the cheapest Flat Rate method. This fix ensures that the correct shipping method is chosen based on the actual price."
    AC-12119 - - -

Catalog

  • Cleanup of cron_schedule database table doesn't cleanup non-existing jobs
    The system now automatically cleans up the cron_schedule database table, removing entries for jobs that no longer exist in the system. This ensures optimal performance by maintaining a minimal number of rows in the table. Previously, entries for jobs from inactive or removed modules were not cleaned up, leading to unnecessary data accumulation in the cron_schedule table.
    AC-10910 - -
  • Tier Price is not being deleted from Configurable Product
    The system now correctly removes the tier price of a product when it is converted from a simple product to a configurable product, ensuring accurate price display on the frontend. Previously, the tier price of a configurable product was not deleted when a product was converted from a simple product to a configurable product, leading to a mismatch in the displayed price.
    AC-10953 - -
  • Category description WYSIWYG is empty on non default storeview
    The system now correctly saves and displays the category description in the WYSIWYG editor when editing a category on the store view level. Previously, the WYSIWYG editor would appear empty after saving a category description on the store view level.
    AC-11804 - -
  • Imposible to reorder configurable products with one checkbox selected custom option
    The system now correctly processes the reordering of configurable products with a single selected checkbox custom option, allowing for successful basket creation. Previously, attempting to reorder such products resulted in an error and prevented items from being added to the shopping cart.
    AC-11970 - -
  • [Issue] Fix wording of filter item on layered navigation
    The system now correctly uses the words "item" and "items" in the layered navigation filter item, enhancing the clarity and accuracy of the filter descriptions. Previously, these words were used incorrectly, leading to potential confusion for users navigating the filter options.
    AC-12076 - -
  • Date and Time Format for Custom Option Not Working
    The system now correctly applies the configured date format to product custom options of type Date, ensuring that the date format is displayed correctly on the front-end. Previously, changes to the date format configuration did not reflect on the front-end for product custom options of type Date.
    AC-12164 - -
  • Dropdown options missing
    The system now correctly displays all values in the dropdown when creating a new attribute with more than 20 values. Previously, only the first 20 values or another selected page values were displayed, causing the remaining values to be missing.
    AC-13068 -
  • [Issue] Use current sore id for category runtime cache
    The system now correctly uses the current store ID for category runtime cache, preventing data override when emulation is used or custom code saves the category in different stores. Previously, the object stored in runtime might have been from the wrong store, leading to data override.
    AC-13296 - -
  • bin/magento sampledata:deploy --no-update throws an exception
    The system now correctly accepts a boolean value when using the --no-update option in the sampledata:deploy command, preventing any errors during sample data deployment. Previously, an error was thrown when using this command as the system was incorrectly expecting an integer value.
    AC-13324 - -
  • [Issue] Fix usage of EAV cache type
    The system now correctly uses the EAV cache type in all relevant places, ensuring consistent and efficient data caching. Previously, the EAV cache type was not used consistently, leading to potential inefficiencies and inconsistencies in data caching.
    AC-13355 - -
  • Catalog Advanced Search with empty data goes to search result page[2.4.dev branch]
    The system now correctly retains users on the Advanced Search page and displays an error message when they attempt to perform a search without entering any data. Previously, performing an empty search would redirect users to the Catalog Advanced Search page with a message prompting them to modify their search.
    AC-13596 -
  • [Issue] Product layout based on attribute_set
    The system now allows the adjustment of product layout based on the attribute set, providing a more practical and efficient way to manage product display in the frontend store. Previously, the layout could only be adjusted by SKU or by product types, which was not always practical for many products or specific articles.
    AC-13622 - -
  • Missing unique key on eav_attribute_option_value table
    The system now includes a unique key on the 'option_id' and 'store_id' columns in the 'eav_attribute_option_value' table, preventing the possibility of an option having multiple values for the same store view. Previously, faulty code could result in an option having multiple values for the same store view, causing issues when editing products or attributes.
    AC-6738 - -
  • [Issue] Use visibility class for category product indexer, instead of hardcoded values
    The system now uses the visibility class for the category product indexer instead of hardcoded values, enhancing modularity. Previously, hardcoded values were used in the category product indexer, limiting flexibility and adaptability.
    AC-8297 - -
  • Currency code not change in New product widget
    The system now correctly updates the currency code in the New Product widget when the currency is changed in the frontend, ensuring consistency in currency display across the site. Previously, changing the currency in the frontend did not affect the currency code displayed in the New Product widget.
    AC-9375 - -
  • Regular Price does not show on PLP for Configurable Product
    Regular price is now being displayed on product listing pages for configurable products that have children products with special price.
    ACP2E-2224 -
  • Stock information not showing right on Visual Merchandising grid
    Stock is now displayed according to selected store.
    ACP2E-2478 -
  • Widget content is not updating on cms page
    The system now updates the widget content on a CMS page when a product is set as new and saved, ensuring that the page displays the updated product collection. Previously, the page was not updated to show the new product due to the incorrect cache identities used for the widget in the cache.
    ACP2E-2621 -
  • Issues saving advanced pricing on bundle products
    Bundle product saving performance improvement.
    ACP2E-2630 -
  • [On-Premise] Re-index process is inefficient when creating Catalog Price Rules
    Now saving catalog price rule will not invalidate indexers, instead it will reindex affected products only
    ACP2E-2652 -
  • Updating time of Date and Time type product attributes via CSV import
    Now datetime attributes will have time part in exported data. It will be also possible to update the time for such attributes using import. Also if "Fields Enclosure" is enabled, attribute values in "additional_attributes" column will be enclosed within double quotes.
    ACP2E-2679 - -
  • No Appropriate error message when website id is wrong in the request
    Now the appropriate error message was added to display when the website id is wrong in the request. Previously there was no validation when the website id was wrong in the request.
    ACP2E-2689 -
  • Product image is lost after deleting an existing Scheduled Update that doesn't affect the image
    Product images are not removed while deleting staging update.
    ACP2E-2785 -
  • [Cloud] Wrong bundle product price when used with tier prices
    Previously when calculating certain percentage discounts rounded up to 2 decimal points will generate different final prices for the cart and product listing page/product details page. After this fix is applied, the final price for the bundle product is the same as in the product details page, product listing page, and mini cart page.
    ACP2E-2799 - -
  • Catalog Promotions Rule not working with quantity_and_stock_status attribute
    The quantity_and_stock_status attribute will now be taken into account by the catalog promotion rule, which was not previously taken into account when generating new product from the admin side.
    ACP2E-2805 - -
  • Product entity updated_at column values not updating while updating price through REST API
    The product 'last updated at' column from the admin is updated the proper date time while updating the existing products through the REST API. Previously the column 'last updated at' is not updated properly.
    ACP2E-2837 -
  • It's possible to set non-unique values via product import
    The system now correctly enforces the unique value constraint for unique product attributes during product import, preventing from having duplicate values for that such attribute. Previously, it was possible to set non-unique values for product attributes that were configured to have unique values via product import.
    ACP2E-2840 - -
  • Products on the frontend use store specific data when Single-Store Mode is enabled
    Previously, when we enabled single store mode for the default store view, the changes were not migrated to the website-level scope. After this fix is applied, when we enable single store mode, the default store view-specific data will be synced with website-level-specific data and will resolve the possible conflicts for products and categories.
    ACP2E-2843 -
  • Cannot set "Default Sort By" in a category using the rest API
    Update correctly default_sort_by on a category through REST / SOAP APi request
    ACP2E-2857 -
  • [Cloud] The Merchant is facing issues with wishlist count
    Adding a product to the wishlist in one store no longer increases the wishlist count in other stores open in the same browser. Previously, if both stores were loaded in the same browser, the wishlist count would increase in the other store as well.
    ACP2E-2871 -
  • Category Page at frontend shows empty slots when using bundle product
    Bundle products that are not salable in current store context are not indexed anymore.
    ACP2E-2874 -
  • [CLARIFICATION] Bundle product sequence table issues
    The records in the Bundle product sequence tables (sequence_product_bundle_option, sequence_product_bundle_selection) are now removed when Bundle product is deleted or Bundle product options are deleted.
    Previously the records in the Bundle product sequence tables were not removed.
    ACP2E-2888
  • [Cloud] Issue of Quote in multi-website architecture
    Previously, multi-website architecture with different currencies and customer groups could not correctly apply discounts to the store. After this fix is implemented, multi-website architecture with different customer group price discounts will apply successfully to different stores.
    ACP2E-2905 - -
  • dynamic-rows.js:658 Uncaught TypeError: dataRecord.slice while editing bundle products
    There is no javascript error in browser console while deleting option from bundle product.
    ACP2E-2909 - -
  • [Cloud] Bundle Product wrong pricing in order confirmation
    Correct amount is displayed for bundle options in order on Storefront when currency other than base one was used.
    ACP2E-2950 -
  • YouTube Video Adding Bug
    Product images and videos are configured in global scope. Given that you can't have a product video in one scope and not in another, Youtube API key setting has been set to global scope.
    ACP2E-2956 -
  • [Cloud] URL update only for store_id=0
    The "URL Path" is now stored with the correct store ID. Previously, the store ID was incorrect, resulting in incorrect URL paths remaining in the database when moving categories.
    ACP2E-2964 -
  • async.operations.all executed and created an error.
    Incorrect product link data in REST API calls no longer cause critical errors.
    ACP2E-3009 -
  • [Cloud] Mobile Issue Only not able to pinch on the PDP image
    The system now supports pinch-to-zoom functionality on product detail page images in mobile view on Chrome, enhancing the mobile user experience. Previously, double-tapping on the image in mobile view on Chrome did not zoom in on the image as expected.
    ACP2E-3029 -
  • Missing label in LayeredNavigation with option name 0
    The issue has been resolved by skipping an empty value checker for attribute value 0. Previously, it was considered empty and was causing the issue.
    ACP2E-3058 -
  • Customers see prices from other customer groups
    Fixed issue where customer group related information was saved in a wrong segment due to the old value of the X-Magento-Vary in request
    ACP2E-3069 -
  • Error when deleting bundle options
    The system now correctly deletes bundle options without triggering an error or causing the page to become unresponsive. Previously, attempting to delete bundle options would result in a "Page Unresponsive" error and prevent the product from being saved.
    ACP2E-3076 -
  • Category Permissions out of memory browser issue
    Category Permissions UI was redesigned to allow rendering a large amount of permissions using out of box UI component and pagination. Previously category permissions would cause browser to crash with large amount of permissions assigned to the category.
    ACP2E-3094
  • [Cloud] Image File does not exist in New Relic Error Log
    The system now synchronizes custom placeholder images to local storage, ensuring that they render correctly when using remote storage such as AWS S3. Previously, custom placeholder images failed to render when using remote storage, resulting in a broken image display and error logs.
    ACP2E-3100 -
  • New Products RSS feed is not updated with new products due to cache
    The Rss feed for New Products is now updated when a product is set as new and saved
    ACP2E-3103 -
  • [Cloud] Product Media Gallery GQL response is not sorted by image position
    The system now correctly sorts items in the media gallery by position in the GraphQL response, ensuring accurate display order. Previously, items in the media gallery were not sorted by position, leading to an incorrect display order.
    ACP2E-3126 - -
  • [Cloud] Sub Category items are not displayed on the widgets edit on the admin backend
    The category tree on the new widget page should no longer have issues loading Level 5+ categories. Previously, some categories were missing when loading the tree past Level 5 categories.
    ACP2E-3136 -
  • [cloud] Two-finger zoom and move issue on the real mobile device
    The system now ensures consistent image zoom functionality on mobile devices, providing a smooth and predictable user experience. Previously, the image zoom feature was inconsistent and would suddenly zoom out after a certain point when viewed on a mobile device.
    ACP2E-3198 -
  • When we unassign products from the shared catalog, the wishlist products are not being cleared
    Now, no items are visible in the wishlist if a product is not available in the shared catalog. Previously, the wishlist page incorrectly displayed a count of "1 Item" even when no items were actually available in the wishlist.
    ACP2E-3282 -
  • Related products Select All/Unselect All Issue
    Previously, the "Select All"/"Unselect All" buttons for related products didn't work correctly if a product was manually selected. After the fix, these buttons now function consistently, even after manual selection, ensuring that all products are properly selected or unselected.
    ACP2E-3286 -
  • [Cloud] Stock alert email translation to the wrong language
    When sending Stock/Price Alerts for a website with multiple store views using different languages, the language for the store view where the alert was created will be used on the email.
    ACP2E-3336 - -
  • Disabled Categories are no longer have their names grayed out in the category tree
    Previously, disabled categories were not grayed out in the category tree. Now, they are displayed with a gray-out effect.
    ACP2E-3350 -
  • Configurable product edit form load causes timeout and memory exhaustion
    Prior to the fix configurable product variations were constructed based on all possible attribute option combinations. In cases where attributes had a lot of options this resulted in a lengthy and resource consuming operation. Now, configurable product variations are constructed based on existing child product attributes. This results in far less calculations - thus an improved usage of resources.
    ACP2E-3410 -
  • Fotorama doesn't load video correctly when using Swatches and option is pre-selected via URL
    Product videos will now render properly on configurable product details page, if the URL contains selected options.
    ACP2E-3454 -
  • PageBuilder Carousel Widget shows products that doesn't match conditions
    Product list used in widgets now respects category condition
    ACP2E-3461 -
  • Validation Error Triggered for All Products in Group When One Has Invalid Quantity
    Now, the validation error is correctly triggered for all products in the group when one product has an invalid quantity, which was not happening previously.
    ACP2E-3469 -
  • [CLOUD] Special price not showing in Configurable product
    After the fix, changing the "Used in Product Listing" value for the special price attribute will not affect showing the special price for configurable products.
    ACP2E-3513 -
  • Indexers Temporary tables are not cleaned up if the process is terminated
    CatalogRule indexer temporary tables are now cleaned up if the indexer process is terminated
    ACP2E-3516 -
  • [QUANS] Core unit test failures in 2.4.7-p3
    Release notes for this test is not needed since it is a Unit-test improvement.
    ACP2E-3520 -
  • Performance Issue in Stock Quantity Retrieval for Grouped Products with Multiple Sources
    Grouped product and bundle product edit page is now optimized when assigned products have large number of inventory sources.
    ACP2E-3533 -
  • Refix ACP2E-3389
    Improved performance of admin category page in case of large number of anchor categories
    ACP2E-3641 -

Catalog, Content

  • [Cloud] Cache is not getting invalidated.
    Previously, when saving a CMS page with an updated design layout, it did not reflect appropriately on the front end. After this fix is applied, the appropriate design layout will be visible at the front end when we change the design layout and save the CMS page.
    ACP2E-3063 -
  • [Cloud] Anchor/Non-Anchor Categories Reversed in Content Widget
    Previously, when we selected Display On -> Anchor Categories, it showed all the categories that did not reflect the parent-child relation between the anchor and non-anchor. After this fix is applied, the Display On -> Anchor Categories only displays Anchor Categories (selectable), and Display On -> Non Anchor Categories displays Non-Anchor Categories (selectable)
    ACP2E-3131 -
  • Categories not working with widgets
    Previously, if we saved the CMS block for different anchor/non-anchor categories, it did not work for the child categories when it showed on the front end. After this fix has been applied, the block is shown at the front end for different categories.
    ACP2E-3152 -

Catalog, Framework

  • Order get(Shipments|Creditmemos|Invoice)Collection - Collection should not be loaded
    The system now ensures that the collections for shipments and credit memos are not pre-loaded when retrieved from an order, allowing for additional filters or orders to be applied to these collections. Previously, these collections were automatically loaded, preventing any further modifications.
    AC-9111 - -
  • [Cloud]Follow-up: Mismatch in Data Comparison when checking if data has changes
    Previously, the save object was called every time without any data changes (for any numeric data field - like int/float/double). It triggers the flag _hasDataChanges to be true and calls the save function. It also does not check the floating numbers encapsulated by string. After this fix applies, the save function will call only if the data is changed. The data value for int/float/double-check with the value passing to the function and does strict type matching
    ACP2E-2949 -

Catalog, GraphQL

  • Handling Category Filters in GraphQL: includeDirectChildrenOnly and category_uid
    Only the direct child categories are fetched while filtering by category_uid.
    ACP2E-3090 -
  • [Cloud] Graphql Product sorting do not work
    GraphQl Product sorting by multiple fields when the fields are passed in variables now works as expected.
    ACP2E-3166 -
  • Tier Prices return wrong value in products GraphQL (compared to Storefront)
    After the fix, product's tier prices returned for graphql requests have price per one item.
    ACP2E-3312 -
  • [CLOUD] B2B: category issue via GraphQL
    After the fix, the categories graphql query returns categories with allow permission even if the root category doesn't have allow permission.
    ACP2E-3385

Catalog, Pricing, Staging & Preview

  • [Cloud] Special price API endpoint returns error when updating large numbers of products concurrently
    Now Special Price bulk update API will create a single campaign for each date range instead of multiple scheduled updates for each product and date range. Also, it will support concurrent API requests for faster processing of large number of SKUs.
    ACP2E-2672 -

Catalog, Product

  • Category selection tree in edit product is not in the same order as set in Catalog->Categories
    The system now correctly displays the category selection tree in the product edit section in the same order as set in Catalog->Categories, making product administration easier in large catalogues. Previously, the category tree in the product edit section was displayed in the order of category creation, regardless of the display order set in Catalog->Categories.
    AC-7050 - -

Catalog, SEO

  • Incorrect canonical URL for category when page > 1
    Previously, the canonical URL for multi-page content did not function correctly, consistently displaying the base URL. However, after the fix was implemented, the canonical URL for multi-page content now correctly displays the URL with the page ID.
    ACP2E-3653 -
  • Products not showing on category and search but direct links are working
    Previously, the Yes/No custom attribute with price_* attrbute_code does not work with indexing. After this fix, the Yes/No custom attribute works as expected.
    ACP2E-2757 -
  • [Cloud] Elastic search error on certain category pages
    Previously, with the configuration ticket mentioned, when we put price 0 for multiple products, it will throw an exception at the frontend category page. After this fix applied when multiple product price 0 and we load category page at frontend it wont throw any exception and will load category page successfully.
    ACP2E-3053 -
  • Type Error occurred when creating object: Magento\CatalogSearch\Model\Indexer\Fulltext\Interceptor Exception
    After the fix, an instance of Magento\CatalogSearch\Model\Indexer\Fulltext class can be created without specifying $data.
    ACP2E-3345 -
  • [CLOUD] Issue with Products are Not Visible in Frontend After Saving in Magento Admin
    After the fix configurable products that have child products with long names will not be missed in the storefront.
    ACP2E-3521 -

Catalog, Shipping

  • Shipping address empty while placing an order for a gift registry item
    Previously, for guest user gift-registry items, when returned from the email function, generated an empty blank address, which is incorrect for placing an order. After this fix is applied, the gift registry checks logged-in user/guest users and assigned addresses if they exist.
    ACP2E-3195

Cloud

  • [Cloud] PHPSESSID is changing each POST Request
    PHPSESSID no longer regenerates on POST requests on frontend area for a logged-in customer if L2 Redis cache is enabled and the customer was updated from the backend
    ACP2E-3010 -
  • Sitemap Generation Warnings
    After the fix, the sitemap is generated in the system tmp directory and copied to the final destination.
    ACP2E-3532 -

Content

  • [Issue] issue with the price display in the Recently Viewed widget
    The system now correctly displays the price of out-of-stock simple products in the "Recently Viewed Product" widget, ensuring consistency across all widgets and product list pages. Previously, the price of out-of-stock simple products was not displayed in the "Recently Viewed Product" widget due to a condition in the price loading templates.
    AC-10539 - -
  • [Issue] Correct typo and grammar in acl.xsd file
    The system now corrects a typo and grammar error in the acl.xsd file, enhancing the clarity and accuracy of the documentation. Previously, the acl.xsd file contained a typo and incorrect grammar which could potentially cause confusion.
    AC-10596 - -
  • Pagebuilder banner image not visible in gallery
    The system now correctly displays banner images uploaded in newly created folders in the Pagebuilder gallery, eliminating previous console errors. Prior to this fix, banner images were not visible in the gallery if they were uploaded in a new folder, causing a console error.
    AC-10845 -
  • "Area code not set" after update to 2.4.5-p8
    The system now successfully completes the static content deployment process when the Magento_CSP module is enabled and "dev/js/translate_strategy" is set to "embedded", without triggering the "Area code not set" error. Previously, under these conditions, the static content deployment process would fail with an "Area code not set" error.
    AC-12283 - -
  • Widget category tree is not rendered correctly
    AC-12692 - -
  • Unable to see "Using Default value" message when changing the theme in design configuration page
    The system now includes a separate column to display the "Using Default value" message depending on the selected theme in the design configuration page. This ensures clarity and visibility of the default value status. Previously, the "Using Default value" message was not displayed, leading to confusion about the status of the selected theme.
    AC-13054 -
  • [Issue] Restores backwards compatibility with TinyMCE plugins again (after it…
    The system now restores backward compatibility with TinyMCE plugins, allowing functions defined inside the plugin to be called when using the widget from another location. Previously, due to a change in the TinyMCE version, the plugins were not returning the widgets as an object, resulting in an error when trying to call certain functions on the widget instance.
    AC-13569 - -
  • [Issue] file upload issue in WYSIWYG editor on product page
    The system now correctly displays the folder tree and allows image uploads in the WYSIWYG editor on the product page, even after expanding the 'Image and Videos' tab first. Previously, expanding the 'Image and Videos' tab first resulted in the folder tree not being displayed and an error message when attempting to upload an image in the WYSIWYG editor.
    AC-9638 - -
  • [On-PREM] Dynamic block issue
    Wdigets are now being properly rendered within dynamic blocks.
    ACP2E-2392 -
  • YouTube nocookie url not working in Page Builder
    Now the pagebuilder allows the youtube no-cookie url in the form element settings of the validation rules. Previously the youtube no-cookie url is not working in pagebuilder.
    ACP2E-2606
  • [Cloud] Frontend not loading due to issue in newsletter template
    Adding blocks via CMS Page content section does not lead to exception anymore
    ACP2E-2693 -
  • ACP2E-2836: [Cloud] Investigate exception found in the log: InvalidArgumentException: Class does not exist in vendor/magento/module-rule/Model/ConditionFactory.php
    Removing a condition on PageBuilder products content settings no longer causes an exception to be recorded in the log files. Previously, removing a condition on PageBuilder products content settings would cause a critical exception to be recorded in the logs, despite not causing any issues on the frontend.
    ACP2E-2836 -
  • Switching to single store mode - global content no longer appears
    The system now synchronizes store view design configurations with website design configurations when enabling single store mode, ensuring that content updates are visible on the frontend. Previously, switching to single store mode would prevent content updates from being reflected on the storefront.
    ACP2E-2842 -
  • Page Builder replaces image when trying to add link and other usability glitches.
    Now clicking on an image, links in wysiwyg editor in Page Builder text element will load proper data in the image, link configuration dialog. Also adding a link to an image in the editor now works properly. Previously, the image was replaced with a link.
    ACP2E-2903 -
  • Old media gallery fails to render images when a 0-byte image is placed in the directory
    The system now handles 0-byte images in the media gallery without disrupting functionality, allowing other images in the directory to be displayed and selected as expected. Previously, the presence of a 0-byte image in the media gallery would prevent all images in the directory from being displayed or selected.
    ACP2E-2970 -
  • Error Page Builder when editing CMS Block
    The system now correctly saves changes made in the admin area using Page Builder, without throwing the error "Page Builder was rendering for 5 seconds without releasing locks." in the browser console. Previously, this error would occur when attempting to save changes, preventing the successful update of content.
    ACP2E-3064 - -
  • [CLOUD] No buttons of checkout or edit cart on the cart section
    Bundle product is now added to the cart via widgets without errors.
    ACP2E-3092 - -
  • Content Staging preview on category pages does not show product widgets
    The issue has been fixed by ensuring that product entries for the additional category linked to the CMS block have been accurately recorded into the database. Previously, it was returning an empty result set when the category preview page was requested.
    ACP2E-3113
  • [CLOUD] Upload image button doesn't work
    Before the Upload Image button for Banner and Slider from PageBuilder didn't work as expected, and now when pressing it opens the local file manager to select the wanted image to upload.
    ACP2E-3122 -
  • imagecreatetruecolor(): Argument #2 ($height) must be greater than 0. Can't upload specific image
    Resolved the issue causing errors in the admin when uploading images with a height of 0 via the media gallery, and successful the assets synchronization using the sync command. Previously can't upload the image via the media gallery and the sync command also fails when a specific image is in the gallery.
    ACP2E-3127 -
  • Prototype.js Array.from in conflict with Google Maps API
    Google Maps now renders properly in PageBuilder editor. Previously, a Javascript error prevents Google Maps from rendering correctly.
    ACP2E-3154 -
  • [Cloud] - CMS Slider not reflecting the latest changes
    The issue has been fixed by ensuring the slider list gets refreshed while the save event is triggered on the edit slide screen. Previously, it was triggering and causing the issue.
    ACP2E-3275 -
  • An error occurs in CSM page when CMS blocks are inserted using page builder in certain order
    Previously on some versions of PHP and OS (Linux), the rendering of blocks that referenced other cms blocks through PageBuilder would have failed with an "An unknown error occurred. Please try again.". Now the content of the cms blocks is rendered correctly inside a PageBuilder controlled content.
    ACP2E-3326 -
  • [Cloud] Dynamic blocks will not function properly
    Logged-in customer segments are now cleared after logout preventing the guest session from inheriting previously logged-in segments
    ACP2E-3388
  • Pagebuilder's template preview failure for large content
    Large content was leading to canvas element overflowing the browser's limits, and returning incorrect value, which broke backend code (cannot properly decode the image). Fixed with limiting canvas size to the universal browser's limit.
    ACP2E-3428 -
  • Latest security updates with TinyMCE 7 missing font size
    Font size and font family selectors are now available in WYSIWYG editor. Prior to this fix, with TinyMCE 7 these were not available in the editor interface.
    ACP2E-3430 - -
  • TinyMCE 7 editor font size in the admin in PT and not PX please clarify
    Prior to the fix you could not specify font size in px in WYSIWYG areas. Now you can set the font size in px instead of pt.
    ACP2E-3483 - -
  • Product Content Type in Page Builder Gets Collapsed Without Correct Messages
    Prior to the fix the preview html was not being generated properly when there were no products in the widget. Now, the empty response is properly generated and products widget is being displayed fine in preview.
    ACP2E-3490 - -
  • [page builder]Adding Product Listing to block results in errors
    Now adding Bundle Product Listing to block via page builder doesn't results in errors
    ACP2E-3534 -

Content, SEO

  • CMS Page hierarchy can cause URL rewrite issues
    Previously, for custom permanent URL rewrite for non-website root pages, redirect infinitely and the page was never loaded. After this fix is applied, the custom URL rewrite for the non-website root page works as expected and no redirection loop occurs.
    ACP2E-2870

Content, Staging & Preview

  • Catalog price rule is not showing when it is set to schedule with dynamic blocks
    The system now correctly displays dynamic content associated with scheduled catalog price rules on the product detail page. Previously, dynamic content failed to load when catalog price rules were scheduled.
    ACP2E-2979

Customer/ Customers

  • Front end - Date of birth validation is failing in Customer creation page
    Ensure all validation should work after upgrade moment.js system dependency to the latest minor version
    AC-12162 -
  • Customer Segment > Condition > Product History* > "product was viewed" does not work
    The system now correctly displays matched registered customers in the "Product was viewed" condition under Customer Segments, when the condition is met. Previously, even when the condition was met, the count of matched registered customers remained at zero.
    AC-13060
  • Region text field is not reset when country dropdown is changed
    The system now resets the region text field when the country is changed in the dropdown menu, ensuring that previous values do not persist. Previously, changing the country from the dropdown list did not reset the region field, causing the last saved value to be preserved.
    AC-8499 -
  • Deleting Customer Does Not Clean All Browser Session Data on Storefront for Logged in & Deleted Customer
    Deleting a customer now cleans all browser session data from the storefront for logged-in and deleted customers as expected. The shopper can continue shopping, and their browser treats their session as a guest session. Previously, when the customer account for a logged-in shopper was deleted from the Admin, then the shopper's browser threw JavaScript errors.
    AC-9240 -

Framework

  • [Question]Unused Type configuration in app/code/Magento/Translation/etc/di.xml
    The system now removes unused dependencies in the configuration, enhancing the overall code cleanliness and efficiency. Previously, there were unused dependencies in the configuration which were not contributing to any functionality.
    AC-10037 - -
  • V1/customers/password endpoint question/issue
    The system now adheres to the constraints set within the management GUI when processing password change requests via the API, preventing potential abuse of the password reset function. Previously, the API could process password change requests outside of the rules defined in the management GUI, potentially allowing for a constant stream of reset emails if valid emails were known.
    AC-10654 - -
  • Varnish configuration does not exclude all marketing parameters
    The system now correctly excludes all common marketing parameters in the Varnish configuration, ensuring accurate tracking and analytics. Previously, certain marketing parameters such as gad_source, srsltid, and msclkid were not excluded, leading to potential inaccuracies in data collection.
    AC-10738 - -
  • Catalog search index process error indexation process
    The system now successfully completes the re-index command without encountering any errors, regardless of the libxml version compiled with PHP. Previously, running the re-index command resulted in a "Catalog Search index process error during indexation process" error when PHP was compiled with certain versions of libxml.
    AC-10838 - - -
  • Added created_at, status and grand_total filters to customer Orders query and fixed multiple filters failure
    The system now supports the use of created_at, status, and grand_total filters in customer Orders queries, and has resolved an issue where multiple filters were not being applied correctly. Previously, the system did not support these filters and would fail to apply all filters when more than one was used in a query.
    AC-10941 - -
  • Randomly getting flooded with queries from related / upsell / crosssell blocks and price indexing
    The system now optimizes queries from related, upsell, and cross-sell blocks, improving the performance and preventing the site from going down due to excessive queries. Previously, the system could become overloaded with queries from these blocks, causing significant slowdowns and potentially bringing the site down.
    AC-10991 - -
  • Exception: Warning: Trying to access array offset in… -> Calendar.php since upgrade to ICU 74.1 (PHP Intl)
    Commerce no longer logs the following exception in the exception.log whenever a shopper or merchant visits either the storefront or Admin: main.CRITICAL: Exception: Warning: Trying to access array offset on value of type null in /vendor/magento/framework/View/Element/Html/Calendar.php on line 114 in /vendor/magento/framework/App/ErrorHandler.php:62.
    AC-11423 - -
  • [Issue] Fix issues with Customer Data when form contains element with name method
    The system now correctly identifies the 'method' attribute in form submissions, even when an element named 'method' is present in the form. This ensures accurate processing of customer data. Previously, if a form element was named 'method', it would interfere with the identification of the 'method' attribute in form submissions, leading to potential issues with customer data handling.
    AC-11476 - -
  • [Issue] Fix PHPDocs for \Magento\Framework\Data\Collection::getItemById
    The PHPDocs for the \Magento\Framework\Data\Collection::getItemById method have been updated to include null as a possible return type, addressing issues with static analysis tools. Previously, the method's PHPDocs did not specify null as a possible return type, leading to warnings or errors in static analysis when the method was used in conditional statements.
    AC-11489 - -
  • [Issue] Allow only valid preferences during setup:di:compile
    The system now throws an error during the setup:di:compile command if a preference is created for a class that does not exist or is specifically excluded, ensuring that only valid preferences are allowed. Previously, these scenarios would fail silently, potentially rendering any plugins associated with the original classes useless.
    AC-11592 - -
  • __Magento trying to modify read-only property in wakeup method of LoggerProxy
    The system now allows the modification of previously read-only properties in the LoggerProxy's __wakeup method, ensuring smooth operation without forcing users to employ a workaround. Previously, an attempt to reassign the value of a read-only property in the LoggerProxy's __wakeup method would cause issues.
    AC-11651 - -
  • [Issue] AC-2039 AC-1667 upgrade TinyMCE references
    Updated tinymce latest version in composer.json
    AC-11681 - - -
  • ChangelogBatchWalker does not work in multiple threads
    The system now supports process fork for MView indexation, preventing errors during indexer execution when operating on multiple threads. Previously, running the ChangelogBatchWalker on multiple threads would lead to the deletion of tables used by other threads, causing an error during indexer execution.
    AC-11696 - -
  • [Issue] Rename wrongly named variable
    The system now correctly names the variable that contains the amount of money that can still be refunded, preventing confusion during debugging. Previously, this variable was incorrectly named as totalRefund, which could lead to misunderstandings for developers.
    AC-11781 - -
  • [Issue] Pass custom attributes to current link via XML
    The system now allows custom attributes to be passed to the current link via XML, ensuring that these attributes are correctly displayed even when the link is the current page. Previously, custom attributes were not displayed for the current page link due to the getAttributesHtml() method not being used for the current link.
    AC-11809 - -
  • Built-in FPC cache is broken in 2.4.7 for some configurations
    The system now correctly caches pages when the MAGE_RUN_CODE parameter is set, ensuring optimal performance. Previously, pages were not being cached under these conditions, leading to potential performance issues.
    AC-11819 - - -
  • [Issue] Fix exception handling inconsistency between developer and production modes
    The system now consistently handles exceptions between developer and production modes, preventing unexpected redirection to the login page when an exception is thrown. Previously, an inconsistency in exception handling could cause a redirect to the login page in production mode instead of displaying the exception message.
    AC-11829 - -
  • Replace 'PayPal Account' translation in token_list.phtml
    The system now labels the section for tokenizable account payment methods as "Account" instead of "PayPal Account" in the Stored Payment Methods page, making it more representative of its function. Previously, this section was specifically labeled as "PayPal Account", which was misleading when other tokenizable account payment methods were added.
    AC-11852 - -
  • Backward compatibility has been lost on Magento\Catalog\Model\ProductRepository class
    The ProductRepository class now maintains backward compatibility by restoring the Initialization Helper class as the second parameter, ensuring that modules extending from this class function as expected. Previously, the removal of the Initialization Helper from the constructor in the ProductRepository class resulted in a loss of backward compatibility, forcing users to employ a workaround.
    AC-11874 -
  • [Issue] Static content deploy - Type error
    The system now correctly handles empty LESS files during static content deployment, displaying an "LESS file is empty" error message. Previously, an incorrect type error was thrown when encountering an empty LESS file during deployment.
    AC-11905 - -
  • [Issue] [View] Removed extra space in link and script tag
    The system now ensures that there are no extra spaces in the link and script tags, providing cleaner and more efficient code. Previously, double spaces could be found between attributes in the link and script tags.
    AC-12002 - -
  • [Issue] avoid a misconfiguration infinite loop
    The system now avoids an infinite loop by preventing self-referential mapping in virtual type configurations. This ensures the application does not get stuck in an endless loop when attempting to dereference a self-referential node. Previously, if a virtual type configuration was self-referential, it would cause the application to spin indefinitely.
    AC-12127 - -
  • Object Manager not used for Magento\Csp\Model\Mode\Data\ModeConfigured
    The system now correctly uses the Object Manager when creating the ModeConfigured object, allowing plugins to be used on this object. Previously, the Object Manager was not being used, preventing plugins from being applied to the ModeConfigured object.
    AC-12299 - -
  • Inaccurate doc block comment in Product Stock and Price Alerts
    The doc block comment for the deleteCustomer method in the Product Stock and Price Alerts has been corrected to accurately reflect that the method deletes all stock product or price alerts associated with a given customer and website, not the customer from the website. Previously, the comment inaccurately stated that the method was for deleting a customer from the website.
    AC-12540 - -
  • [Issue] Use compiled config for generated data instead of general config
    The system now uses the compiled configuration for generated data instead of the general configuration, reducing network transfer and overhead of data that depends on a certain version of code. This change prevents cache overriding in shared instances during container swapping, leading to improved stability and reduced downtime. Previously, certain core classes used shared config type, which could lead to cache overriding or application downtime due to differences in code versions across multiple servers.
    AC-12594 - -
  • [Issue] Remove references to files from extjs which got removed in e1ccdb…
    The system now removes references to files from extjs which were previously removed, eliminating errors in the browser's console and the system log file. Previously, these references were causing errors due to the absence of the referenced files.
    AC-12597 - -
  • [Issue] Minor cleanup: fixed wrong usage of sprintf, it only takes 2 placeholders here and w…
    The system now correctly uses the sprintf function with the appropriate number of placeholders, enhancing code cleanliness and consistency. Previously, the sprintf function was incorrectly used with an extra argument, which did not cause any major issues but was not the correct usage.
    AC-12778 - -
  • PHP 8.2.15 removed FTP extension
    The system now includes the FTP extension as a dependency in the composer.json file, ensuring the successful configuration of CSV imports via FTP. Previously, an error was thrown when attempting to configure CSV imports via FTP due to the FTP extension being missing in the PHP package.
    AC-12857 - -
  • [Issue] Fixes incorrect classes being referenced in Magento modules.
    The system now correctly references classes in modules, ensuring smoother operation and preventing crashes due to non-existing classes. This includes a bugfix in the Indexer and Creditmemo modules, and the implementation of the HttpGetActionInterface in the PrintAction class. Previously, incorrect class references led to errors and potential system crashes, and certain functionalities, such as the filename for creditmemo PDF files and reindexing of stocks, were not working as expected.
    AC-12869 - -
  • Ability to define Area for dev:di:info CLI command
    The system now allows developers to define an area for the dev:di:info CLI command, enhancing the development and debugging process. Previously, this command could only display information for the GLOBAL area.
    AC-12964 - -
  • [Issue] add isMultipleFiles property to image form element template
    This fix, prevents the "Browse to find or drag image here" button to disappear when an image is added in a multiple files image form element.
    AC-13149 - -
  • setup:upgrade is failing with MariaDB 11.4 version due to charset & collation changes
    AC-13247
  • [Issue] Remove all marketing get parameters to minimize the cache
    The system now removes all marketing get parameters to optimize cache utilization, mirroring the logic used when Varnish is in use. Previously, these parameters could lead to cache bloating and reduced performance.
    AC-13279 - -
  • [Issue] [PHPDOC] Fix bad phpdoc Magento\Directory\Model\AllowedCountries::getAllowedCountries()
    The PHPDoc for the AllowedCountries::getAllowedCountries() method has been corrected to provide accurate information, enhancing the clarity and usefulness of the documentation. Previously, the PHPDoc for this method contained incorrect information, which could lead to confusion or misuse of the method.
    AC-13345 - -
  • [Issue] Removes some code for PHP versions we no longer support.
    Removal of code for PHP versions that no longer getting supported in Magento
    AC-13348 - -
  • [Issue] Make ImageMagick Adapter compatible with php8 (Implicit conversion from float to int)
    The system now ensures compatibility with PHP8 by correctly handling float numbers when calculating image dimensions, preventing any errors due to implicit conversion from float to int. Previously, the calculation of image dimensions could result in float numbers, which when implicitly rounded, would cause an error.
    AC-13417 - -
  • [Issue] [PHPDOC] Fix bad phpdoc Magento\Framework\App\Config\ScopeConfigInterface
    This update corrects the PHPDoc annotations in the Magento\Framework\App\Config\ScopeConfigInterface to accurately reflect the type of the $scopeCode argument for the getValue and isSetFlag methods.
    AC-13537 - -
  • Magento\Framework\Filesystem\Driver\Http depends on reason phrase OK
    Removed "OK" phrase check from Magento\Framework\Filesystem\Driver\Http::isExists
    AC-13725 - -
  • Customer Grid indexer does not work properly in Update by Schedule mode
    Earlier Customer grid was updated instantly but after the fix Customer grid is updated after cron run but not reflect instantly.
    AC-13810 -
  • typo error on a js file.
    The system now correctly uses the term "subscribers" in the JavaScript file, ensuring proper functionality of the related features. Previously, a typographical error in the JavaScript file resulted in the incorrect use of the term "subsctibers".
    AC-6754 - -
  • [Issue] Remove forbidden @author tag
    The system now adheres to coding standards by removing the forbidden @author tag from certain modules, ensuring cleaner and more standardized code. Previously, the @author tag was present in some modules, which was against the established coding standards.
    AC-8353 - -
  • [Issue] Remove forbidden @author tag from Magento_Customer (part 2)
    The system now adheres to the coding standard by removing the forbidden @author tag from certain modules, ensuring cleaner and more standardized code. Previously, the @author tag was present in some modules, which was against the established coding standards.
    AC-8356 - -
  • Space in editorconfig syntax breaks rule for [{composer,auth}.json]
    The system now correctly applies a 4-space indent to the composer and auth.json files, following a fix to a syntax error in the editorconfig. Previously, due to a space in the editorconfig syntax, these files were incorrectly formatted with a 2-space indent.
    AC-8659 - -
  • [Issue] Improve cron error logging
    The system now captures and logs both STDERR and STDOUT for cron processes, providing valuable diagnostic information in scenarios where cron processes fail. Previously, any error messages within cron processes were not recorded, and STDERR and STDOUT for cron groups running in separate processes were lost.
    AC-8662 - -
  • [Issue] Adds some more colors to the output of certain setup cli commands
    The system now adds more colors to the output of certain setup command line interface (CLI) commands, enhancing readability and user experience. Previously, the output of these commands was harder to read due to lack of color differentiation.
    AC-8984 - -
  • Upgrading Magento resets general/region/state_required when new country with required state/region is added.
    The system now only adds the modified country to the 'general/region/state_required' configuration when a new country with required states is added, preventing any disruption to custom code that assumes the region is disabled. Previously, adding a new country with required states would reset the 'general/region/state_required' configuration to default countries with a required state, potentially breaking the shop.
    AC-9630 - -
  • Difference in less compilation between php & nodejs library (grunt) with complicated calc expressions
    Fix the difference in less compilation between php & nodejs library (grunt) after update wikimedia/less.php:^5.x
    AC-9712 - -
  • "Base table or view not found" error occurs when partial indexing is executed
    Partial reindex now works correctly with big changelog in case of secondary db connection
    ACP2E-2692 -
  • Issues after upgrading MariaDB to 10.5.1 or higher
    Fixed the issue when datetime values in a DB would be converted to 0000-00-00 00:00:00 after Mysql upgrade
    ACP2E-2844 -
  • Type Mismatch in Data Comparison when checking if data has changes
    Previously, the save object was called every time without any data changes (for any numeric data field - like int/float/double). It triggers the flag _hasDataChanges to be true and calls the save function. After this fix applies, the save function will call only if the data is changed. The data value for int/float/double-check with the value passing to the function and does strict type matching.
    ACP2E-2855 -
  • [Cloud] import cannot be used with directory var
    Product can be imported successfully regardless of the file name.
    ACP2E-2959 -
  • In ipad mini the menu and header loads as mobile, instead they should load as desktop.
    The system now treats devices with a width of 768px as desktop, ensuring that the menu and header load correctly. Previously, devices with a width of 768px were treated as mobile, causing the menu and header to load in a mobile view.
    ACP2E-2966 - -
  • Base table or view not found error when running mview cron while having a DDL operation
    The system now correctly handles database update operations while mview update is running in background, preventing the occurrence of 'Base table or view not found' errors. Previously, some database update operations could result in 'Base table or view not found' error, if mview update was running at the same time.
    ACP2E-3046
  • Modifying column length via db_schema.xml doesn't work in case of foreign keys
    modifying column with foreign key via declarative schema now doesn't rise errors with MariaDB
    ACP2E-3230 -
  • Some of the relations records are saved to DB when order record is saved
    Before the fix unnecessary UPDATE queries were being triggered that can have an impact performance wise. After the fix, the unnecessary UPDATE queries were eliminated.
    ACP2E-3361 -
  • [CLOUD] In admin there are many javascript error in console
    Previously, In admin panel there are many javascript error in console. Now, In the admin panel, there will be no JavaScript errors in the console, and all the default JavaScript functions will execute successfully without any issues.
    ACP2E-3375 -
  • [Cloud] Magento: queue message has been deleted
    Queue messages are now properly being cleared out. Prior to the fix, given that SQL queue system was being used, new messages could have been deleted if the cleaning queue message was running at the same time.
    ACP2E-3387 -
  • Corresponding cache key entries are not available in cache tags, hence cache cleaning does not work correctly
    LUA mode is now enabled by default for Redis cache garbage collector to prevent race conditions
    ACP2E-3537 -
  • MAGENTO_DC_INDEXER__USE_APPLICATION_LOCK value is ignored
    After the fix, an ENV variable set to "false" will be treated as bool false, not as string 'false'.
    ACP2E-3681 -

Framework, GraphQL

  • [Issue] Introduced support of custom scalar types for GraphQL schema
    The system now supports custom scalar types for GraphQL schema, allowing developers to define custom scalar types and implementations. This feature can be particularly useful for expressing values that may require validation, such as HTML, emails, URLs, dates, etc., and for more advanced cases like EAV attributes. Previously, the system did not support the processing of custom scalar types in GraphQL.
    AC-7976 - - -

Framework, Product

  • 2.4.8-beta1 EE Reports are not generating due to magento exception
    AC-13011

Framework, UI Framework

  • Possibility to overwrite config value even if it's locked
    Previously to this fix, the design configuration could not be set through bin/magento config:set command and locked values could be changed by manipulation of the form displaying them. After the fix locked values set from cli with --lock-env or --lock-conf cannot be updated anymore.
    ACP2E-3324 -

GraphQL

  • Magento_GraphQl execute headers processing even if the header value does not pass validation
    The system now ensures that header processing is only executed once and only if the header value passes validation, enhancing security and preventing potential vulnerabilities. Previously, header processing was executed even if the header value did not pass validation, leading to potential vulnerabilities and unexpected behavior due to double processing of header values.
    AC-11729 -
  • Physical Giftcard options don't have the right sorting order
    The system now correctly sorts the options of physical gift card products when queried via GraphQL, ensuring consistent rendering with the Luma theme. Previously, the sort order was incorrect according to luma theme, leading to incorrect display and ordering of options such as sender name, recipient name, and amount.
    AC-8951 -
  • [GraphQL] Resolver Cache is Invalidated When Creating/Editing/Moving/Deleting a Staging Update
    The system now ensures that the resolver cache is not invalidated when creating, editing, moving, or deleting a staging update, but only when the staging update is applied to the entity. Previously, the resolver cache was invalidated prematurely, even before the staging update was applied, which led to unnecessary cache invalidations.
    AC-9157 -
  • Fastly cache not cleared for content staging update
    Now GraphQL with PageBuilder contents response cache is invalidated, when the PageBuilder content related entities are updated.
    ACP2E-2642 -
  • Disabling Layered Navetion - Does not remove aggregation from Graphql
    The issue has been fixed after applying the check while requesting a product search with category aggregations through a GraphQL query when the admin configuration setting of "Catalog > Layered Navigation > Display Category Filter".
    ACP2E-2653 -
  • GraphQL Products call containing the price filter {from:"0"} returns no result
    Previously graphql products search with filter for zero prices did not return any results at all due to a thrown exception. Now the search returns results as expected.
    ACP2E-2928 -
  • Translations for customer return attributes not reflected in GraphQL API for respective StoreView
    Translations for customer return attributes are reflected in GraphQL API for respective StoreView.
    Previously customer Return attributes for respective StoreView were not reflected in GraphQL API.
    ACP2E-2974 -
  • [Cloud] Broken GraphQL call for getPurchaseOrder with node quote
    The Purchase Order GraphQL call will be able to execute the task without encountering any internal server errors.
    ACP2E-3128 -
  • [Cloud] Configurable Products not shown in Production Site if Product is not enabled in "All Store Views"
    The system now correctly displays configurable products in the site even if the product is not enabled in "All Store Views", but is enabled in specific store view scopes.
    Previously, if a product was disabled in "All Store Views" and enabled only in specific store view scopes, the product attributes would not be displayed correctly in the GraphQL response, leading to the product not being displayed properly.
    ACP2E-3184 -
  • [Cloud] Products graphql having error when same simple product has assigned to multiple configurable products
    Previously, with separate configurable products with the same simple product, grapQL returns an error. After this fix apply, different configurable products with the same simple product, grapQL returns result without no error.
    ACP2E-3190 -
  • [Cloud] Issue with User Authentication and Cross-Site Token Access in Multi-Site Setup
    GraphQl Customer Info and Cart queries in Multi-Site setup checks if the customer on non-default website exists.
    Previously query worked without making sure the customer exists on non-default website in Multi-Site setup.
    ACP2E-3215 -
  • GraphQL cart itemsV2 pagination is not working correctly
    The issue has been fixed by passing the correct value for the current page argument in the collection query. Previously, the wrong value was getting passed to set the current page, causing the issue.
    ACP2E-3253 -
  • [GRAPHQL] model value should be specified when getting customerCart
    The GraphQL 'customerCart' query can now create an empty cart even when the quote is not available in the database. Previously, this operation failed due to country validation issues while creating the empty cart.
    ACP2E-3255 -
  • [GraphQl] Wishlist items are visible via GraphQl but not visible on storefront
    Wishlist products where not being properly listed when requested via GraphQL. Now, wishlist products are filtered based on provided store context.
    ACP2E-3380 -
  • [GraphQL] Reset password email inconsistency between content and subject/link
    The issue has been resolved by simulating the correct store where the customer's account is registered when sending the password reset request, regardless of the website store.
    ACP2E-3404 -
  • [Cloud] products GraphQL query returns related products not assigned to current website
    Previously, for graphQL query, multi-store related products do not show properly for product query. After this fix is applied, for products, graphQL query multi-store related products showing accordingly.
    ACP2E-3419 -
  • Using the wrong Store ID in GraphQL header causes fatal memory error
    Sending wrong store code in GraphQL request no longer results in excessive memory consumption.
    ACP2E-3447 -
  • [Cloud] 500 response to empty Graphql response on 2.4.7
    After the fix, invalid graphql requests will not be logged into the exception.log file.
    ACP2E-3467 -
  • [Cloud] Problems with Graphql API
    Before the fix by using Graphql application server, customer address request did not return the most recent data.
    ACP2E-3492 -
  • Disabled product still appears in related, upsell, crosssell items in grpahQL query
    Graphql now provide correct response for disabled relared, upsell and cross-sell products
    ACP2E-3505 -
  • [CLOUD]: GraphQl error Internal server error placeOrder mutation
    The "placeOrder" mutation with coupon code information in the request is no longer throwing an internal error exception, the order was placed successfully. Previously, it failed with "Internal server error".
    ACP2E-3647 -
  • The discount_percentage is not calculated for bundle products with dynamic price
    Fix added for discount_percentage of product.price_details not showing the correct value for bundle products with dynamic price enabled and discount coupon applied.
    LYNX-426
  • Bundle products still shows "IN_STOCK" when one of its bundled product out of stock
    Resolved the issue where bundle products were still showing "IN_STOCK" even when one of their bundled products was out of stock.
    LYNX-485
  • not_available_message and only_x_left_in_stock doesn't show the same available stock
    Resolved the issue where the not_available_message and only_x_left_in_stock were showing inconsistent stock availability
    LYNX-486
  • original_row_total field returning wrong value
    Resolved the issue with the original_row_total field, which was returning incorrect values when custom options were selected
    LYNX-488
  • Grouped product thumbnail should be shown according to the configuration .
    Resolved the issue to ensure the grouped product thumbnail is displayed according to the configuration settings
    LYNX-503
  • Error when querying selected_options in OrderAddress
    Updated AttributeSelectedOptions to custom_attributesV2 in the order address GraphQL response.
    LYNX-510
  • original_item_price is not including discounts
    Updated original_item_price to include discounts.
    LYNX-512
  • Not available message is not showing the available inventory quantity
    Resolved the error message and error code for the AddProductsToCart mutation to align with the "not available" message configuration
    LYNX-530
  • "OUT_OF_STOCK" status returns on Simple with custom options products with multi select options
    Updated the StockStatusProvider resolver in the inventory package to fix the stock_status for simple products with custom options.
    LYNX-532
  • Error (GQL): cart.itemsV2.items.product.custom_attributesV2 returns a server error
    Resolved the server error that occurred when a cart query included a product's custom attributes by adding a product without any custom attributes.
    LYNX-533
  • orders/date_of_first_order always returning null
    Resolved the issue where orders > date_of_first_order was always returning null.
    LYNX-536
  • Customer must not be able to cancel a partially shipped order
    Validation has been added to restrict customers from canceling a partially shipped order.
    LYNX-544
  • Error codes for order cancellation based on the error message
    The error codes for order cancellation are now based on the specific error message.
    LYNX-548
  • Move back cookie-related properties from private to protected
    Reverts Magento\Framework\App\PageCache\Version class constructor properties visibility from private to protected
    LYNX-581
  • Increase max default GraphQL query complexity to 1000
    Increased the default maximum GraphQL query complexity from 300 to 1000.
    LYNX-600
  • GQL - itemsV2 > Original row total, price range prices is returned as $0.00 for downloadable product with file options which has separate prices.
    Resolved an issue where downloadable products with separate link purchase options enabled were returning $0 for itemsV2 > Original row total, price range returned as $0.00 for products with file options having separate prices.
    LYNX-620
  • Schema of a table when is created brand new different than when upgrading
    Resolved an issue where adding a new VARCHAR column to an existing table caused test failures due to schema differences between fresh installations and upgrades. The modifyColumn() method now correctly handles VARCHAR columns by setting the default charset and collation.
    LYNX-711
  • GraphQl Compatibility for PHP-8.4 Version
    Fixed GraphQL compatibility issues with PHP 8.4 across multiple resolvers, ensuring smooth functionality. Updated affected files in CatalogRule, Customer, GiftMessage, GiftCard, and GiftWrapping modules.
    LYNX-772

GraphQL, Inventory / MSI

  • MergeCart mutation throws exception when source and destination carts have same bundle items
    '-
    ACP2E-2607 - -

GraphQL, Inventory / MSI, Performance

  • Site down after upgrade
    The performance of fetching bundle products through GraphQl is improved.
    ACP2E-1716 - -

GraphQL, Performance

  • [GraphQL Resolver] Customer Resolver Data is Not Invalidated From Import
    GraphQL customer resolver cache is now invalidated as expected when a customer is edited or deleted through imports. Previously, the cache was not invalidated, and customer data could be edited or deleted during import.
    AC-9569 -
  • GraphQL product list sorting by multiple parameters doesn't work
    Product sorting by multiple fields in GraphQl now works as described in the documentation
    ACP2E-2809 -
  • Product listing GraphQL query limited to total_count 10,000 products only
    After the fix, the search result is not limited to 10000 products, it becomes possible to get all products matching the search criteria even if the count is more than 10000.
    ACP2E-948 -

GraphQL, Test framework

  • Magento\GraphQl\App\GraphQlCustomerMutationsTest.php Integration Test failure
    '-
    ACP2E-3363 -

Import / export

  • Issue at product import when provided with custom options-type: file (Created Product does not contain price for custom-option and show only the first file type extension provided)
    The system now correctly imports product data with custom options of type 'file', ensuring that all provided file extensions are displayed and the price for the custom option is included. Previously, during product import, if a custom option of type 'file' was provided with more than one file extension, only the first extension was displayed and the price for the custom option was missing.
    AC-12172 - -
  • Wrong execution time for import operation in Import History grid
    Import report execution time shows correctly independent of admin locale.
    ACP2E-2710 -
  • Duplicate customers being created with same email address using import
    Importing the customer while Account Sharing set to Global, imported customer that exists in the system is updated.
    Previously imported customer was duplicated.
    ACP2E-2737 -
  • Add/Update Import on Products Duplicating Customizable Options
    The issue has been resolved by assigning the correct store to product options during product options CSV imports.
    Previously, assigned to the admin store instead of their respective store.
    ACP2E-2902 -
  • Customer "created_at" date Not Converted to store time zone upon export
    A column 'created_at' date value is converted to the proper date format based on the store timezone in the customer export CSV section.
    ACP2E-2990 -
  • [Cloud] Getting error while checking the data in import data using CSV
    There is no error when checking the data during CSV import. Previously, the error message displayed was: "We can't find a customer who matches this email and website code in row(s): 1" when checking the data in the import section using CSV from the admin.
    ACP2E-3165 -
  • Import button missing
    Resolve the Import button missing issue after data checks with correct and incorrect records in the CSV. Previously the import button doesn't display after data checks with correct and incorrect records in the CSV.
    ACP2E-3172 -
  • Exported customer address cannot be imported
    Customer address import will proceed as expected. Previously, a customer address import file would not pass validation if Share Customer Accounts = Global, and there are two websites where the default website has a restricted country list, and the address that is being imported is for another website where allowed countries are different
    ACP2E-3382 -
  • [Cloud] Wrong quantity in CSV file did not give error
    Now stock sources import will throw validation error for non numeric values in the quantity column. Previously, importing stock sources with non numeric value in the quantity column resulted in the quantity being set to 0.
    ACP2E-3448 -
  • Duplicated URL key error message generated when importing a product is not correct when the URL Key already belongs to a category
    Displaying the correct error message during product import check, when customer tried to import product when product's url key already belongs to a category.
    ACP2E-3455 -
  • Product export causes OOM even with 4G memory limit
    Previous to this fix, the product export failed if product attributes had thousands of option values even with 4G available memory. After this fix, the product export should finish exporting the csv file.
    ACP2E-3475 -
  • [Cloud] Import Processes Interfering with Each Other
    Correct messages are shown if the same admin user performs two or more import operations using the same user session.
    ACP2E-3527 -

Import / export, Performance

  • [Cloud] Product import time has significantly increased
    Previous to the fix, catalog product import with over 10K entries had a significant time degradation. After the fix, the import of catalog product executes in a timely manner.
    ACP2E-3476 -

Install & Administer

  • Magento upgrade fails on MariaDB 11.4 + 2.4.8-beta1
    Upgrade should happened without any error.
    AC-13242 -
  • No Export VCL for Varnish 7 button in admin panel
    "Export VCL for Varnish 7" button was added to the Admin panel.
    ACP2E-2102 -

Inventory / MSI

  • Inventory update of Configurable Product fails when database uses prefixes
    The system now correctly updates the inventory of configurable products when the database uses prefixes, preventing any error messages and ensuring the correct quantity is saved. Previously, an error would occur when trying to save the inventory quantity for simple products within a configurable product if the database was using prefixes.
    AC-10750 -
  • Google google API key is not working while adding Map with attributes
    The system now supports the latest Google Maps API version 3.56, allowing users to successfully add a Map content block from the PageBuilder menu to the stage without encountering any errors. Previously, users were unable to add a Map content block due to compatibility issues with the Google Maps API version, resulting in a "something went wrong" error message.
    AC-11593 -
  • Unable to create shipment for order item with multiple sources and corrupted SKU
    Earlier when spaces was mistakenly added in sku through database leads to error in shipment page which is now fixed and automatic trim is considered as human friendly error and no impact was found .Therefore shipment was successfully created.
    AC-13922 -
  • [Test] Bundle products with 0 inventory showing on store front
    The bundle product does not display on the additional websites using additional stock.
    ACP2E-1411
  • [Cloud] Critical Issue with Product Listing with Empty Spaces
    The system now correctly displays product listings without empty spaces when products are set to 'Out of Stock', ensuring a consistent and accurate display of available products. Previously, setting a product to 'Out of Stock' would result in an empty space appearing in the product listing, disrupting the layout and potentially confusing customers.
    ACP2E-2794 - -
  • Unable to ship the order when MSI pick up store is enabled
    Improved inventory performance of create shipping in case of many sources with in-store pickup
    ACP2E-3335 -
  • Cron reindex fails to update product availability on the frontend
    Previously, Products remained out of stock on the frontend after updating the backorder status through the REST API. Now, after updating the backorder status via the REST API, products are shown as in stock.
    ACP2E-3355 -
  • Adding images to configurable not working when MSI is enabled.
    Image upload for configurable product will now work as expected when inventory module is used. Previously the image upload didn't work
    ACP2E-3357 -
  • Issue with Bundle Product + MSI in Clean M2.4.7-p3
    Previously, for inventory bundle products after duplication with the same simple product, the simple product can not be saved. After this fix is applied, the simple product can be saved successfully without any exceptions.
    ACP2E-3470 - -
  • All products are indexed with [is_out_of_stock] = 1 when the SKU is not set as a searchable attribute
    After the fix, the "is_out_of_stock" in catalog search index is correct, even when sku is not searchable.
    ACP2E-3413 -

Order

  • Backend order overview screen: Backordered quantity not visible on order item level
    The system now displays the number of backordered items in the quantity column on the backend order overview screen. This ensures that users can accurately track the status of all items in an order. Previously, the quantity column only showed the number of items that were ordered, invoiced, and shipped, but did not display the number of backordered items.
    AC-10828 - -
  • [Issue] Wrong store ID used in Order Address Renderer
    The system now correctly uses the store ID associated with an order when rendering the order address, ensuring that addresses are formatted correctly according to their respective store ID. Previously, the system was incorrectly using the current store ID, which could lead to incorrect address formatting in cases where multiple order emails from different stores needed to be sent.
    AC-10994 - -
  • JoinProcessor caching issue
    The system now correctly applies the JoinProcessor for each iteration, even with consecutive calls, ensuring accurate data retrieval. Previously, the JoinProcessor was incorrectly marked as already applied in consecutive iterations, leading to errors in data retrieval.
    AC-11690 - -
  • [Issue] Shipping price showing diffrent in printed pdf
    The system now correctly displays shipping prices in printed PDFs according to the tax configuration settings, ensuring consistency between the sales order invoice view page and the printed invoice. Previously, the shipping price displayed in the printed PDF was excluding tax, regardless of the tax configuration settings.
    AC-11798 - - -
  • Reorder with a deleted parent configurable product
    Now while reordering with the deleted product the system will not show the reorder button to reorder
    AC-13839 - -
  • [Issue] Fix bad \Magento\Sales\Model\Order\Email\Container\Template::$id property
    This fixes the bad phpdoc for \Magento\Sales\Model\Order\Email\Container\Template::$id, actually $id is type int but in reality is string.
    AC-13924 - -
  • Unable to save changes to phone number in existing order details
    Now the user can add the international prefix 00 in the telephone field of order address
    ACP2E-2622 - -
  • Emails are failing to send
    The system now includes a configuration option async_sending_attempts to specify the number of attempts to send an email before stopping, improving the handling of failed email sends when "Asynchronous sending" is enabled. Previously, if an email failed to send, the system would continuously attempt to resend it, resulting in an endless loop of error messages in the system log.
    ACP2E-2734 -
  • [Cloud] Order Status changed to complete when partially refund of a partially shipped order
    When issuing a credit memo, the order status is no longer changed to "completed" if there are items that haven't been shipped yet.
    ACP2E-2756 -
  • [CLOUD] Cannot Disable Send Emails from Admin UI as Dev Docs shows
    The system now correctly prevents sales emails from being sent when email communication is disabled. These emails will no longer be sent when email communication is re-enabled. Previously, sales emails initiated while email communication was disabled would still be sent once email communication was re-enabled.
    ACP2E-3002 -
  • Order closed without fully refunded
    The system now correctly maintains the order status as 'Processing' and the invoice status as 'Pending' when an order with an uncaptured payment has a shipment created. This ensures that orders are only marked as 'Closed' after being fully refunded. Previously, creating a shipment for an order with a pending invoice would incorrectly change the order status to 'Closed'.
    ACP2E-3045 -
  • [Cloud] Cannot create order in admin on one store if only the Default Billing Address was not set up
    Now relevant error message "A customer with the same email address already exists in an associated website." is displayed if a customer doesn't have a Default Billing Address and tries to create an order on another store.
    ACP2E-3311 -
  • Admin duplicated place order requests sent
    Previously, the "Submit Order" button in the admin panel could be clicked multiple times or activated by repeatedly pressing the "Enter" key, causing duplicate or order submissions with error. Now, preventing additional actions until the order is fully processed, ensuring that only one order is submitted.
    ACP2E-3416 -
  • Admin can still place order even without payment method
    Previously selected payment method is now retained when the payment method reappears in the list of available payments.
    ACP2E-3425 -
  • Items are duplicated after we create an order from Admin on - Mozilla Firefox browser
    Products added using "Add Products by SKU" are no longer duplicated in Firefox when creating an order in admin.
    ACP2E-3518

Order, Payments

  • Admin can still place order even without payment method
    Previously, the merchant could place orders from the admin panel without selecting a payment method. Now, the merchant is required a payment method to proceed with placing an order.
    ACP2E-3233 -

Order, Returns

  • Order refund results in duplicate credit memo
    Issuing the refund over REST API when two identical requests were executed simultaneously will no longer create duplicate Credit Memos.
    ACP2E-2982 -

Order, Tax

  • [CLOUD] Incorrect base_row_total in RESTFUL order API when enabling cross-border transactions and applying coupon discounts
    Now correct base_row_total is returned from RESTFUL order API when cross-border transaction is enabled and coupon discount is applied.
    ACP2E-3003 -

Other

  • [Braintree] Refund online storing transaction as transactionid-refund
    BUNDLE-3394
  • [Braintree] + [CLOUD] Braintree (credit card) orders unable to split the charges
    BUNDLE-3421
  • [Braintree] [Cloud]Braintree SSL Certificate expire by June 30
    BUNDLE-3422
  • private_content_version cookie returned in GQL queries
    Fixed an issue where the private_content_version cookie was returned in GraphQL queries, even when the session cookie was disabled. The cookie is no longer included in GraphQL responses when the session is disabled, as expected.
    LYNX-339
  • Server error on email props in physical gift card queries
    Fixed an issue where queries for sender_email and recipient_email on physical gift cards resulted in a server error. These props now return correctly for virtual gift cards and the query behavior is consistent.
    LYNX-366
  • is_available attribute in CartItemInterface returns always false for configurable products
    Fixed an issue where the is_available attribute in CartItemInterface always returned false for in-stock configurable products. Now, it correctly reflects availability as true when applicable.
    LYNX-380
  • is_available attribute in CartItemInterface returns true even when salable stock is lower than the quantity of the product
    Fixed the issue where the is_available attribute in the CartItemInterface incorrectly returned true even when the cart item quantity exceeded the salable stock.
    LYNX-382
  • only_x_left_in_stock attribute in ProductInterface is not accurate on configurable products
    Fixed an issue where the only_x_left_in_stock attribute in ProductInterface did not accurately reflect the available stock for configurable product variants in the cart. Now, the only_x_left_in_stock value corresponds correctly to the actual variant stock levels, ensuring accurate inventory data is returned in the Cart GQL query.
    LYNX-395
  • Placeholder thumbnail returns when a simple product added to cart within a grouped product
    Fixed an issue where adding a simple product (part of a grouped product) to the cart returned a placeholder thumbnail image, even when the product had an assigned image.
    Fix Details:
  • The product thumbnail now correctly displays the assigned image if available.
  • The thumbnail selection respects the admin configuration under:
    Stores > Configuration > Sales > Checkout > Shopping Cart > Grouped Product Image.
    This ensures consistent thumbnail behavior for grouped products based on store settings.
    LYNX-399
  • Customer's custom option attributes not working with integer values
    Fixed an issue where customer's custom option attributes did not work when the returned value was an integer. Custom options now correctly handle and return integer values as expected.
    LYNX-400
  • Internal server error when trying to get priceDetails for Bundle products with dynamic price
    Resolved an issue where querying price_details for bundle products with dynamic pricing via GraphQL resulted in an internal server error. This enhancement ensures stable cart queries when working with bundle products configured with dynamic pricing.
    LYNX-402
  • only_x_left_in_stock always returns 0 for configurable products
    Resolved an issue where the only_x_left_in_stock attribute always returned 0 for configurable products when added using the parent SKU with options.
    Fix Details:
  • The only_x_left_in_stock value now accurately reflects the stock of the selected child variant instead of the parent SKU.
  • This ensures that stock levels are correctly displayed for configurable product variations in the cart and product pages.
    LYNX-403
  • GraphQL Error: Unsupported 'file' type in customizable options query
    Fixed an issue where GraphQL returned an error for customizable options of type 'file' in cart items. The query now correctly returns details for all customizable option types, including file-based options, without causing errors.
    LYNX-405
  • GraphQL query not returning correct calculated regular price for customizable products
    Fixed an issue where GraphQL did not return the correct calculated regular price for customizable products. The query now correctly includes the calculated regular price with customizable values applied (e.g., $125) in the prices property, reflecting both the base price and any additional customization costs.
    LYNX-411
  • AppliedTaxes via EstimatedTotals persist with updated mutations
    Fixed an issue with the EstimatedTotals mutation where applied taxes persisted on a cart even after updating the region or postcode. The mutation now correctly updates the applied taxes when changing between region and postcode values, ensuring that only the correct tax rule is applied based on the current cart data.
    LYNX-412
  • is_available attribute in CartItemInterface returns true even when salable stock is lower than the quantity of the product
    Fixed an issue where the is_available attribute in CartItemInterface incorrectly returned true even when the salable stock was lower than the requested product quantity. The is_available field now correctly returns false when the product's quantity exceeds the available stock.
    LYNX-420
  • Cannot add coupon to cart for shipping only discount
    Fixed an issue where a coupon could not be applied to a cart for shipping-only discounts. The coupon is now correctly applied to the shipping amount when using a sales rule with no product conditions, ensuring the expected discount is applied to the shipping cost.
    LYNX-421
  • Product regular price with 12 decimals and wrong value
    Fixed an issue where the regular_price value in the product.price_range.maximum_price and minimum_price GraphQL paths did not match the catalog price when multiple tax rates were applied. The regular_price now consistently reflects the catalog price across all tax configurations, ensuring accurate unit pricing, total row cost calculations, and discount checks in the Cart Summary.
    LYNX-425
  • GraphQL server error on cart with out of stock bundled product
    Fixed an issue where GraphQL returned an internal server error when fetching a cart containing a bundled product with an out-of-stock item, specifically when the query included the itemsV2 property. GraphQL now correctly returns a list of items with relevant error messages attached to the bundled product item entry, as expected.
    LYNX-430
  • It is not possible to create an address with custom attributes
    Fixed an issue with the createCustomerAddress mutation that prevented the creation of addresses with required custom attributes. The mutation now correctly handles custom address attributes when the appropriate payload is provided.
    LYNX-441
  • GraphQL server error on cart with only_x_left_in_stock on bundled product
    Fixed an issue where fetching a cart containing a bundled product with the only_x_left_in_stock field in the GraphQL query resulted in an internal server error. GraphQL now correctly returns a float or null for the only_x_left_in_stock field without errors.
    LYNX-447
  • GraphQL error when removing other products with insufficient configurable product in cart
    Fixed an issue where attempting to remove in-stock products from the cart resulted in a 'The requested qty is not available' GraphQL error if the cart also contained configurable products with insufficient stock. The removal now works as expected without triggering errors.
    LYNX-464
  • Cannot add products due to SKU in mutation being case sensitive
    Resolved an issue where the addProductsToCart mutation returned a 'PRODUCT_NOT_FOUND' error when using SKUs with different casing. The mutation now handles SKUs case-insensitively, ensuring consistency with Catalog Service queries and PDP behavior.
    LYNX-469
  • Product attribute > trademark short form &trade; is returned as &trade;
    Resolved character encoding issue with the product name for the GraphQL API
    LYNX-603
  • updateCustomerEmail mutation issue
    Resolved an issue with the updateCustomerEmail mutation where customers without required custom attributes (added after account creation) were unable to update their email.
    LYNX-619
  • Mutation setShippingAddressesOnCart throws error when using pickup_location_code
    Fixed an issue where the setShippingAddressesOnCart mutation returned an error when using pickup_location_code without specifying customer_address_id or address. The mutation now correctly allows setting a shipping address with just the pickup_location_code.
    LYNX-626
  • CustomerOrder.items_eligible_for_return list must be consistent with order items
    Resolved inconsistencies with return eligibility in orders:
  1. The CustomerOrder.items_eligible_for_return list is now consistent with actual order items.
  2. The OrderItemInterface.eligible_for_return field correctly returns false when the full quantity has already been returned.
  3. CustomerOrder.items_eligible_for_return now includes only items that are not already in the process of being returned.
    LYNX-627
  • Add quantity_return_requested field
    Added the quantity_return_requested field to the OrderItemInterface, allowing you to identify the quantity of items for which a return has been submitted. This enhances return tracking alongside the existing quantity_returned field.
    LYNX-628
  • Order available actions must not contain RETURN after returns created for all items in full quantity
    Fixed an issue where the available_actions field in the GraphQL customer.orders query incorrectly included RETURN after a full return was created for all items. The RETURN action is now properly removed once the return process is completed.
    LYNX-634
  • Storefront Compatibility - Update logic to get table name with prefix and other minor improvements
    Updated logic to retrieve the table name with the prefix (related to SCP changes).
    LYNX-637
  • save in address book does not work when using setBillingAddressOnCart GQL's same_as_shipping field
    Fixed an issue where the shipping address was not saved to the customer's address book when using the setBillingAddressOnCart GraphQL mutation with the same_as_shipping field set to true. Now, the shipping address is correctly stored as expected.
    LYNX-643
  • Standarize the order_id in mutations
    Standardized the order_id input in mutations and updated the order cancel confirmation email template to expose increment id instead of order id.
    LYNX-650
  • CustomerOrder is not displaying the order comments
    Resolved an issue with CustomerOrder to include order comments in guest and customer order GraphQL queries.
    LYNX-651
  • original_item_price must not include any discount
    Updated the logic for original_item_price in GraphQL Cart Item prices to exclude discounts.
    LYNX-652
  • Bundle products still shows "IN_STOCK" when one of its bundled product out of stock
    Resolved an issue where product.stock_status for bundle products still showed "IN_STOCK" even when one of the bundled items was out of stock.
    LYNX-681
  • customer query returns Internal Server Error if value for deleted custom attribute exists for a customer
    Fixed the issue where the customer query returned an internal server error when a deleted custom attribute still had a stored value. Now, a proper error message is returned if a non-existing attribute is requested. Necessary cache is invalidated upon deleing customer custom attribute.
    LYNX-686
  • Action parameter for return and cancel confirmation links
    Action parameter added for return and cancel confirmation email related links
    LYNX-687
  • Guest user confirmation url is redirected to order status page as it is missing orderRef (For GuestRMA)
    Added orderRef parameter to the link in guest RMA confirmation email
    LYNX-688
  • Guest user confirmation url is redirected to order status page as it is missing orderRef
    Added orderRef parameter to the link in guest order cancellation confirmation email
    LYNX-689
  • Issues with customer query when RMA disabled
    Updated the GraphQL logic to ensure that previously created returns remain accessible even when RMA is disabled globally. The error message has been removed to improve the storefront UX, ensuring customers can still view their past returns.
    LYNX-690
  • GraphQL not returning updated cart data when conflicting coupons applied
    Fixed an issue where applying a conflicting coupon with a higher priority resulted in an error message without returning the updated cart data. Now, when a new coupon invalidates the existing one, the mutation correctly returns the cart with the valid coupon applied.
    LYNX-696
  • Cannot return null for non-nullable field "TaxItem.title" on placeOrder GQL
    Fixed an issue where the placeOrder mutation failed with an internal server error due to a null value for the non-nullable field TaxItem.title. Now, the field always returns a valid value, ensuring successful order placement.
    LYNX-699
  • EstimateTotals: Discounts is null for virtual product types
    Resolved the issue with the estimateTotals mutation returning null for discounts when a discount code is applied to a cart containing virtual products.
    LYNX-702
  • Bundle product does not return the correct discount percentage and amount
    New properties "catalog_discount" and "row_catalog_discount" have been introduced for catalog item prices to display the correct discount amounts and percentages at both the row and single item levels.
    LYNX-703
  • Gift message configuration on product level
    Fixed an issue where gift messages were not applied at the product level when globally disabled. Now, if gift messages are enabled for a specific product, they can be successfully added using the updateCartItems mutation and will be correctly saved and reflected.
    LYNX-714
  • Issue with removing gift wrapping from cart item
    Fixed the issue where removing gift wrapping from a cart item using the updateCartItems mutation did not work as expected. Now, both applying and removing gift wrapping function correctly without errors.
    LYNX-717
  • The matched registered customer feature is not working in Boilerplate, and the trackViewedProduct mutation needs to be enabled for guests.
    Exposed trackViewedProduct mutation to track product view event for customer and guests
    LYNX-751
  • cart.rules query return error instead of empty array in case no active cart rules are applied
    Fixed the cart.rules query to return an empty array instead of an error when no active cart rules are applied.
    LYNX-757
  • Issue retrieving gift wrappings for cart items
    Updated retrieval logic to return gift wrapping options for cart items when globally disabled but enabled at the product level
    LYNX-758
  • GraphQL calls with OPTIONS method are returning 500 response code when adobe-commerce/storefront-compatibility package installed
    Fixed an issue where GraphQL calls using the OPTIONS method returned a 500 Internal Server Error when the adobe-commerce/storefront-compatibility package was installed. The endpoint now correctly returns a 200/204 response as expected.
    LYNX-778

Other Developer Tools

  • [Issue] Fix HTML syntax error in visual.phtml
    The system now correctly closes the start tag in the visual.phtml file, ensuring proper HTML syntax. Previously, the start tag was not closed properly, causing an HTML syntax error.
    AC-10658 - -
  • [Issue] Changed "active" to "enabled" in bin/magento maintenance:status command
    The system now provides more accurate status messages for the maintenance mode command, changing the status from "active" to "enabled" and from "not active" to "disabled". Previously, the status message for the maintenance mode command was displayed as "active" or "not active", which could lead to confusion.
    AC-11474 - -
  • Navigating in the categories tree leads to errors in Redis: "Redis session exceeded concurrent connections"
    AC-12571 - -
  • CSP issues combined with dev/css/use_css_critical_path
    The system now correctly loads CSS files asynchronously on checkout pages, even when the 'dev/css/use_css_critical_path' setting is enabled, ensuring that these pages are rendered with the proper CSS styles. Previously, a restricted Content Security Policy (CSP) prevented inline JavaScript from executing, which resulted in CSS files not being loaded as expected.
    AC-12731 - -
  • Using virtual type to configure plugin, interceptor method cannot be generated correctly in setup:di:compile command
    The system now correctly generates interceptor methods when using a virtual type to configure a plugin, ensuring consistent results whether precompiled or runtime compiled. Previously, the system would generate incorrect results when precompiled compared to runtime compilation.
    AC-13398 - -
  • Unable to download files from Data Collector
    Downloading backup no longer shows blank page instead of downloading the file.
    ACP2E-3441
  • ÃÛ¶¹ÊÓÆµ Commerce 2.4.7-p3 unit tests are failing
    No release notes are required.
    ACP2E-3631 -

Payment/ Payment Methods, Order

  • Papal payflow Credit card details saved for later use are not showing up on stored payment method page
    Earlier Papal payflow Credit card details saved for later use was not showing up on stored payment method page which is now fixed credit card details are showing up on stored payment method page.
    AC-13699 -

Payments

  • Credit Card(Payflow Link) payment is not working
    Earlier Getting error (Payment got Declined) while placing order with Credit Card after the fix Order placed successfully.
    AC-13414 -
  • Payflow creates new transaction each time we click on fetch button on the view transaction screen
    The system now correctly fetches transaction information without creating a new payment transaction each time the fetch button is clicked on the view transaction screen. Previously, clicking the fetch button would incorrectly create a new payment transaction for an order that had already been paid.
    ACP2E-2841 -
  • Paylater message not showing in PDP for Canadian paypal merchant account
    The system now correctly displays the PayLater message for Canadian PayPal merchant accounts on the Product Detail Page (PDP) when the buyer's country can be determined from the account billing address or shipment. Previously, the PayLater message was not displayed due to a missing parameter, resulting in an error in the browser console.
    ACP2E-3028 -
  • PayPal order refund results in duplicate credit memo
    Fixed concurrency issue of IPN-created credit memos for PayPal payment service.
    ACP2E-3143 -
  • Cart price rule not working for Paypal
    Correct amount is shown on PayPal side when discount is applied by payment method
    ACP2E-3163 -
  • [Cloud] Users with a specific role cannot login
    admin user with role that contain only PayPal Section access now can login without errors
    ACP2E-3208 -

Performance

  • Default Product Attribute Settings Issue
    The system now allows users to deselect a default option for a product attribute, ensuring that the attribute does not always have a default set. Previously, once a default was set for a product attribute, there was no way to deselect it, resulting in the attribute always having a default set.
    AC-11932 - -
  • [Issue] Code cleanup and add new critical head block and move critical css before assets
    The system now includes a new critical head block and moves critical CSS before assets, allowing for more customization and performance optimization in the frontend. Previously, the critical CSS was not positioned before the assets, limiting customization and optimization opportunities.
    AC-12000 - -
  • Theme compilation breaks when mysql host contains port information
    The system now correctly handles MySQL host configuration that includes port information, ensuring successful theme compilation. Previously, theme compilation would fail if the MySQL host configuration in the database connection included port information.
    AC-12176 - -
  • Support for Symfony's CommandLoaderInterface in Magento CLI
    This change reduces initialization time of the Magento CLI app by allowing deferred initialization of commands until they're needed.
    AC-13471 - -
  • Performance issue when loading product attributes in cart rules
    Improved query performance for sales rules - from around 150ms to single digit ms.
    ACP2E-2494 -
  • Price partial indexing performance
    The price partial indexing performance has been improved by optimizing some of the delete queries used within the indexing process.
    ACP2E-2673 -
  • Order gets rejected on multi-store setup when using Async-order processing + Terms and Conditions
    The orders placed from non default websites with terms and conditions enabled are now processed.
    Before they were automatically rejected.
    ACP2E-2850 -
  • Order Rest API call is taking a long time to execute
    The system now executes the Order Rest API call within a reasonable timeframe, improving the performance when fetching a large number of orders. Previously, the Order Rest API call was taking a long time to execute, causing delays when retrieving a large number of orders.
    ACP2E-2910 -

Performance, Promotion

  • Sales rule indexer stopped running
    The system now successfully completes the sales rule indexer even with a large number of combined filter groups, ensuring that cart rule conditions are applied to the cart as expected. Previously, the sales rule indexer would fail to complete when there were a large number of combined filter groups, leading to an error message and preventing the application of cart rule conditions.
    ACP2E-2617

Pricing

  • Magento2.4.6-p4 Order API Simple Item missing price
    The system now correctly displays the price of simple products when queried through the Order API, ensuring accurate data representation. Previously, the price of simple products was incorrectly displayed as zero in the API response.
    AC-11810 -
  • Penny rounding error in catalog rule
    AC-13855 -

Product

  • Special characters in configurable associate product name are being Converted to HTML Entities.
    The system now correctly retains special characters in the names of associated products when editing a configurable product, preventing them from being converted into HTML entities. Previously, special characters in associated product names were converted into HTML entities when the configurable product was edited.
    AC-10535 - -
  • ProductRepository function GetById does not create the correct cache key
    The system now correctly creates a cache key in the ProductRepository's function GetById, regardless of whether the store ID is passed as a string or an integer. This ensures that the product is retrieved from memory on subsequent calls, improving performance. Previously, the system would retrieve the product from the database each time the function was called, even with the same parameters, due to incorrect cache key creation.
    AC-10947 - -
  • [Issue] [MFTF] Added AdminClickAddOptionForBundleItemsActionGroup
    The system now includes the AdminClickAddOptionForBundleItemsActionGroup, enhancing the functionality of the admin panel. Previously, this action group was not available.
    AC-11992 - -
  • [Issue] Fix typo in PHPDoc block
    The system now correctly removes an unknown referenced variable in PHPDoc for the $helper variable declaration, enhancing code clarity and accuracy. Previously, this unknown referenced variable in PHPDoc was causing confusion and potential inaccuracies in the code.
    AC-13173 - -
  • [Issue] Fixed broken Bundle and Downloadable product pages layout in Magento >= 2.4.7
    The layout for bundle and downloadable product pages has been fixed, ensuring a consistent and correct display across all devices. Previously, these pages experienced layout issues due to a rearrangement of the product info media block.
    AC-13423 - -
  • AlertProcessor - Argument #2 ($storeId) must be of type int, string given
    The system now correctly triggers product alert emails by ensuring the store identifier is of the correct data type. Previously, product alert emails were not being sent due to a type mismatch in the store identifier.
    AC-5969 - -
  • [Cloud] addFilterToMap function is not working for certain columns
    Now, the custom module can be used in the order grid. Previously errors occurred while using a custom module.
    ACP2E-2944 -
  • [Cloud] Products in Category - Add Products - Assign - Select All
    Users can now select or deselect products using the toggle.
    ACP2E-3471

Promotion

  • Customer attribute not visible when creating account from invitation
    Customer attributes are available while creating account from invitation.
    ACP2E-2602 -
  • Coupon code with Uses per Coupon limit is not getting released for payment failed with order cancel
    The system now immediately updates coupon usages when an order is created or cancelled, and adds rule usages to a queue to prevent potential deadlocks. This ensures that a coupon code with a "Uses per Coupon" limit is released and can be reused if an order is cancelled due to a failed payment. Previously, the system did not release the coupon code for reuse in such cases, resulting in an error message stating that the coupon code was not valid.
    ACP2E-2627 -
  • [Cloud] Reindexing Catalog Rule Product Indexer throws SQLSTATE[HY000]: General error: 2006 MySQL server has gone away.
    The system now correctly handles custom "batchCount" value in the di.xml for the "Magento\CatalogRule\Model\Indexer\IndexBuilder", preventing SQL errors such as "General error: 2006 MySQL server has gone away" during the reindexing of the Catalog Rule Product Indexer due to the incorrect batch size on large catalogs
    ACP2E-2811 -
  • [CLOUD]Cart Price Rule for Visitors Customer Segment not applying discount on cart
    The system now correctly applies Cart Price Rules for Visitor Customer Segments, even if the rule does not use a coupon, ensuring that the appropriate discounts are applied to the cart. Previously, discounts were not being applied to the cart for Visitor Customer Segments unless the Cart Price Rule used a coupon.
    ACP2E-2926
  • Missing "Type" Attribute in "Products to Match" Tab of Related Product Rules
    The "Type" attribute is now available as a filter option in the "Products to Match" tab of the "Related Product Rules" module, allowing for more precise rule definition. Previously, this attribute was missing from the "Products to Match" tab, limiting the ability to create accurate matching criteria.
    ACP2E-3024
  • Sales Rule with Discount Qty Step (Buy X) attribute causes other rules to not be applied
    Cart price rule does not cancel previously applied rules if quantity of the product in the cart is not enough for rule to be applied.
    ACP2E-3139 -
  • Performance issue on Cart price rule - Advance Sales Rule module
    Added missing DB indexes for AdvancedSalesRule filters
    ACP2E-3331
  • Issue sales rules with Fixed amount discount and "Maximum Qty Discount is Applied To"
    Fixed issue with cart rules discount, when fixed amount discount is configured to be applied for a limited qty of products is the cart. Previously, the "Maximum Qty Discount is Applied To" value was used to calculate current item's price in the cart, not only for calculation the rule's discount.
    ACP2E-3332 -
  • [CLOUD] Magento upgrade caused coupons to become case-sensitive
    Before the fix you were required to type in the coupon code exactly as it was configured taking into consideration uppercase or lowercase. Now, the coupon will be validated in the backend regardless of uppercase or lowercase code configuration.
    ACP2E-3342
  • Cart rules "Fixed amount discount for whole cart" Action applies discounts incorrectly
    Coupon codes will be validated properly regardless of upper case or lowercase, when used in order creation from the admin area. Before, the coupon code was not validated if it did not match the exact letter case of the configured cart rule code.
    ACP2E-3349 -
  • In Backend, default store values for product attributes (instead of expected admin values)
    Now In Backend, admin values are used instead of default store values for product attributes.
    ACP2E-3374 -
  • Cart rules "Fixed amount discount for whole cart" action applies discounts incorrectly when adding bundle products
    Fixed amount cart rules were not being applied properly for bundle products. Now, when calculating the total discount amount, bundle child products are taken into consideration, resulting in proper discount calculation.
    ACP2E-3377 -
  • Cart Price Rules Miscalculating Discount
    Fixed amount discounts are now being properly calculated. Prior to the fix, fixed amount discounts were not totalled properly for bundle products.
    ACP2E-3403 -
  • Nested categories in rule conditions not showing
    Fixed issue when nested categories under level 3 category are not shown in marketing rules for category condition
    ACP2E-3406 -
  • usage_limit and uses_per_customer not updating in salesrule_coupon Table
    Updating Uses per Coupon and Uses per Customer in cart price rule will now affect existing autogenerated coupons. Previously the new values affected only new coupons
    ACP2E-3432 -
  • Cart price rule doesn't consider parent category when it is using "equals or greater than" condition.
    Cart Price Rules now consider parent category correctly when it is used in advanced conditions
    ACP2E-3456 -
  • Invalid discount calculation with priority
    In the case of fixed amount appllied for the whole cart discount type, the amount was not being calculated properly for cart items that were already discounted by a previous promotion. Now, discounts are properly summed up.
    ACP2E-3463 -
  • [CLOUD] Shipping calculation is not considering the shopping cart rule
    Prior to the fix, a cart rule with region condition was not being applied consistently. After the fix, cart rules with region conditions are being applied properly.
    ACP2E-3472 -
  • Cart rule sku condition is failing for invoice.
    Discount on Bundle product with dynamic price is now correctly reflected in the invoice. Previously, the discount was not reflected on the invoice.
    ACP2E-3491 -
  • Incorrect discount value when multiple cart price rules are applied simultaneously with discounted/special priced products
    Prior to the fix, fixed amount for whole cart rules were not being applied properly if more than one was being applied. Now, fixed amount discount cart rules are being applied properly.
    ACP2E-3498 -

Returns

  • [CLOUD] Restricted admin users can see the return menu and buttons
    Restricted Admin users now don't have access to RMA related controls (menu and buttons).
    Previously restricted admin users could see the return menu and buttons.
    ACP2E-3330
  • Return Screen is messed up when refresh the screen
    The user can refresh the page without experiencing screen distortion.
    ACP2E-3443

SEO

  • Adding URL rewrites with an accent causes infinite loading
    The system now successfully creates and functions URL rewrites with accents, preventing infinite loading during the saving process. Previously, adding a URL rewrite with an accent caused an infinite loading issue.
    AC-11907 - -
  • Multi Store Wrong category url-rewrite for third level category
    Generate correct url rewrites for children with parent with custom scoped url key
    ACP2E-2641 -
  • Double-byte characters (special characters) in Product Name field blocks product creation in backend
    A new setting has been added that allows you to apply transliteration to product URL or not. Setting is available here: Stores > Configuration > Catalog > Catalog > Search Engine Optimization: "Apply transliteration for product URL"
    ACP2E-2770 -
  • Incorrect url_rewrite entries creation with multiple stores in one store group
    Prior to the fix, you could only generate URL rewrites on a website level when editing a product. With the fix, a new setting was introduced (Stores > Configuration > Catalog > Catalog > Search Engine Optimization, "Product URL Rewrite Scope" with options "Store view", "Website") that allows you to generate URL rewrites at the store view or website level.
    ACP2E-3383 -

Sales

  • Second Cart Price Rule isn't applied if First Cart rule is already applied
    AC-13751
  • Getting "Enter a search term and try again." error on advanced search page in storefront in 2.4.8-beta1
    The system now correctly displays search results on the Advanced Search page when a product attribute is set to "No". Previously, setting a product attribute to "No" and performing a search would result in an error message, "Enter a search term and try again."
    AC-13053 -
  • magento/module-open-search depends on on nonexistent opensearch-php branch
    AC-13721 -
  • search_query table when of huge size, has large impact on load time frontend
    Improved search listing page load time. Prior to the fix, the search listing page was being delayed because of an unoptimized query.
    ACP2E-3362 -

Security

  • [Issue] Missing Font CSP Paylater Popup
    The system now allows the loading of the font 'https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Medium.woff' without violating the Content Security Policy directive, ensuring the correct display of the Paylater Popup. Previously, the font was refused to load due to a violation of the Content Security Policy directive, causing display issues with the Paylater Popup.
    AC-11855 - -
  • [Issue] Update js.js DOM text reinterpreted as HTML
    By using innerText, it will avoid the risk of HTML injection, as these properties automatically escape any HTML special characters in the provided text. This fix, helps prevent cross-site scripting (XSS) vulnerabilities by treating the input as plain text rather than interpreted HTML.
    AC-12035 -
  • ReCaptcha V2 shows incorrectly on checkout for German language
    Previously the recaptcha from under email address from checkout appear unstyled for languages with long words, like german. After this the recaptcha looks the same as all recaptcha elements from the rest of the areas.
    ACP2E-3273 -
  • Captcha on admin login does not require interaction for some users
    ReCaptcha for admin login is validated as expected
    ACP2E-3300 -

Shipping

  • [Issue] Fixed typo in tracking.phtml - renamed JS-functions "currier" to "carrier"
    The system now correctly uses the term "carrier" instead of the misspelled "currier" in the JavaScript handler functions used in the order tracking template, ensuring proper function naming and code clarity. Previously, the misspelled term "currier" was used, leading to potential confusion and inconsistency in the codebase.
    AC-10757 - -
  • UPS REST "A shipment cannot have a KGS/IN or LBS/CM or OZS/CM as its unit of measurements"
    Ensure to UPS rates should visible in checkout and cart.
    AC-11938 - -
  • UPS REST "sandbox" and "prod" setup instruction updates in devdoc
    AC-12938
  • [Issue] Correct spelling of variables for customer address
    The system now correctly spells variables for customer addresses, ensuring accurate display in the account area of the front end. Previously, incorrect spelling of these variables could lead to errors during local code reviews.
    AC-13172 - -
  • Tracking Window showing wrong Expected Delivery Date
    Display correct Delivery Date for Fedex Carrier.
    ACP2E-2738 -
  • Table Rates Still Showing Even Though Free Shipping Is Applied
    Table Rate shipping method now is shown even if Free Shipping becomes available after coupon applying
    ACP2E-2763 -
  • MFTF test AdminCreatingShippingLabelTest failing due to credentials not added in Jenkins environment
    mftf test fix
    ACP2E-2765 -
  • FedEx Track API not working with REST credentials
    Previously FedEx integration didn't require additional API keys for Tracking API. Now new configuration was added to support Tracking API keys.
    ACP2E-3340 -
  • [Cloud] FedEx Negotiated Rates not returned on REST
    Previous to the fix,FedEx account specific rates where not sent on the response, even through according to FedEx documentation they should have been sent. After the fix, the account specific rates are sent on the response by changing the request from our side.
    ACP2E-3354 -

Staging & Preview

  • Scheduled update settings not saved if originally added by running update
    The system now correctly clears product attributes values in subsequent scheduled updates when such attributes is modified in the currently running update. Previously, when a product attribute was modified by a running scheduled update, it was impossible to clear such attributes values when creating a new scheduled update, requiring the user to re-edit them after creation.
    ACP2E-2901
  • Cart Price Rule from date and to date issue not Synced with Staging Update
    Dates are saved according to updates for Cart Price Rule Staging.
    ACP2E-2999
  • JS error in Staging Preview
    Now the form-mini-stub.js file is loading successfully without any Js syntax error in Developer tools.
    ACP2E-3104
  • Product Special Price Staged Content cannot be updated
    The system now allows for the editing of the end date of a price update campaign after it has started, ensuring that users can make necessary adjustments to their campaigns. Previously, an error was thrown when attempting to update the end date of an active campaign, preventing users from making changes.
    ACP2E-3162
  • Unable to Update Scheduled Update When Using Unique Custom Category Attribute
    Fixed an issue where updating a scheduled update for a category was not possible if the category had a unique attribute
    ACP2E-3453 -

Targeting

  • [Issue] Allow use of CIDR ranges in maintenance allow list
    The system now supports the use of CIDR ranges in the maintenance mode allow IP list, enabling a range of IP addresses to bypass maintenance mode. Previously, the maintenance mode allow IP list only permitted individual IP addresses to bypass maintenance mode.
    AC-9432 - -

Tax

  • [Issue] Feature/php8.1 constructor property promotion wee graph ql
    Replace allmost all properties with constructor property promotion in module wee graph ql:
    AC-13295 - -
  • Fixed Product Tax (FPT) is not working with configurable products
    FPT for configurable product variations working properly.
    ACP2E-3193 -

Test framework

  • Integration test failing testDbSchemaUpToDate due to JSON column type
    The system now correctly recognizes JSON column types in the database schema during integration tests, preventing test failures due to a mismatch between the database schema and the declarative schema. Previously, the system incorrectly identified JSON column types as LONGTEXT in MariaDB, causing integration tests to fail.
    AC-11654 -
  • [Issue] PHPDoc correction spelling
    The system now correctly recognizes deprecated methods in IDEs due to a spelling correction in the PHPDoc. Previously, a spelling error in the PHPDoc caused IDEs to not recognize certain methods as deprecated.
    AC-13362 - -
  • MAGETWO-95118: Checking behaviour with the persistent shopping cart after the session is expired
    AC-13478 -
  • Integration tests are failed Magento\NegotiableQuote\Controller\Quote\DownloadTest::testCompanyManagerDownloadWithNQSubPermission
    AC-13716
  • [Database Compare] Fatal error if database contains record about Target Rule without conditions
    Earlier if Database contains record about the target rule without any condition was getting fatal errors but after the fix Database comparison tool passes successfully without fatal errors.
    AC-13722
  • Fix static tests to enable usage by 3d-party extensions
    AC-13848 -
  • [Internal] Fixture apply failure is not shown during execution or in logs
    '-
    ACP2E-3334 -
  • [MFTF] StorefrontCheckoutProcessForQuoteWithoutNegotiatedPricesTest
    Fixed mftfs
    ACP2E-3458 -

UI Framework

  • Prototype.js security vulnerability fix CVE-2020-27511
    The system has been updated to address the security vulnerability CVE-2020-27511 in Prototype.js 1.7.3, enhancing the overall security of the system. Prior to this update, the system was susceptible to a Regular Expression Denial of Service (ReDOS) through stripping crafted HTML tags.
    AC-12128 -
  • Grunt Less uses pub/ prefix for sourcemaps
    The system now generates less/css sourcemaps without the /pub prefix for paths when using grunt, eliminating the need for a workaround in the webserver configuration. Previously, the use of the /pub prefix in sourcemaps paths required a specific configuration in the webserver to function correctly.
    AC-12189 - -
  • Ui Component File Field
    The system now correctly validates the file field in a UI component form, allowing the form to be submitted without error when a file is selected. Previously, the validation would fail even when a file was selected, preventing the form from being submitted.
    AC-12432 - -
  • [Issue] Improved date format in js console: switch from 12 hour to 24 hour fo…
    Improved date format in js console: switch from 12 hour to 24 hour
    AC-12645 - -
  • [Issue] add sourceMap generation for less files in developer mode
    The system now generates source maps for less files when in developer mode, making it easier to identify the source of a style. Previously, identifying the source of a style was challenging when running the system in developer mode with server-side less compilation.
    AC-12650 - -
  • Static content is deploying for disabled modules
    The system now excludes CSS related to disabled modules from the final CSS output files, ensuring that unnecessary styles are not loaded. Previously, CSS related to disabled modules was included in the final CSS output files, leading to the loading of extra, unnecessary styles.
    AC-1306 - -
  • Inconsistent Behavior in "Out of Stock" Sorting with Minimum Stock Threshold
    The system now correctly sorts products in the catalog based on stock levels, adhering to the set Minimum Stock Threshold and moving out-of-stock items to the bottom of the list consistently. Previously, the sorting behavior was inconsistent, with items not always appearing in the correct order based on their stock levels, and changes in sorting could occur unpredictably after saving, refreshing, or modifying the category hierarchy.
    AC-13459 -
  • Suggestion for improved error reporting for require.js loading problems
    This PR improves the error message when requirejs fails to load a component.
    AC-13472 - -
  • PHP 8.4 Deprecation Errors Causing Build Failures in 2.4-develop
    AC-14004 -
  • [Issue] Do not load backend block context on frontend
    The system now ensures that backend block context is not loaded on the frontend, preventing the creation of unnecessary backend sessions and potential session locks. Previously, the system was incorrectly loading the backend block context on the frontend, leading to the creation of backend sessions and potential session locks.
    AC-9007 - -
  • [Issue] Remove unnecessary scripts review summary
    The system now optimizes page load time by removing unnecessary JavaScript scripts from the rating section, instead using inline CSS styles for a more efficient and readable code. Previously, the use of JavaScript scripts for the rating section could potentially slow down page load time.
    AC-9168 - -
  • Exception when checking a gift card balance when Recaptcha is enabled
    Users will be able to fetch gift card balance in the view and edit cart screen. Previously these details were not shown while reCAPTCHA enabled.
    ACP2E-2529 -
  • [CLARIFICATION] Feature Request ADA Compliance
    The system now ensures ADA compliance by removing unsupported CSS properties and replacing them with supported ones in the print.css file. Previously, the use of unsupported CSS properties led to browser compatibility issues.
    ACP2E-2729 -
  • [Cloud] Confusion library code in effect-drop.js of AC 2.4.4-p8
    The system now correctly implements the effect-drop.js library, ensuring the proper functioning of jQuery UI effects. Previously, the effect-drop.js library was mistakenly overwritten with the effect-clip.js library, causing potential issues with jQuery UI effects.
    ACP2E-3061 -
  • Site Header | Special Characters Breaking the Customer Welcome section
    After the fix, special characters are shown correctly in the customer welcome section.
    ACP2E-3367 -
  • Customer Segment edition fails with daterange
    It is possible to save customer segment with date range condition, when only one of dates was edited.
    ACP2E-3561 -
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f