ÃÛ¶¹ÊÓÆµ

[PaaS only]{class="badge informative" title="Applies to ÃÛ¶¹ÊÓÆµ Commerce on Cloud projects (ÃÛ¶¹ÊÓÆµ-managed PaaS infrastructure) and on-premises projects only."}

ÃÛ¶¹ÊÓÆµ 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.
Data Collector
The System > Support > Data Collector support tool has been removed to prevent unauthorized access and enhance platform security.

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 .

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

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

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 -

Regenerate image previews for images deleted and re-uploaded with same name through media gallery in page builder content.

ACP2E-2957 - -

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 -

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 -

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 -

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

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 -

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 -

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 -

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 -

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

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 -

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 -

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

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

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

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:&quot;0&quot;} 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 -

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 -

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 -

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

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

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

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

ÃÛ¶¹ÊÓÆµ 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

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

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