New Magento 2.4.6: what it brings?
Adobe is in the final stages of beta testing a new version of its Magento Open Source platform. The version Magento 2.4.6 is set to be publicly released on March 14th. Although this release is a minor version change, it actually brings some significant changes.
This new version of Magento features backward-incompatible modifications and a host of substantial additions, including support for PHP 8.2 and a drop of the PHP 7.4 compatibility, OpenSearch support as a default search, ElasticSearch 8.x, among others.
The Magento 2.4.6 has got over 300 quality fixes and enhancements in total. We have compiled an overview of the key features and changes in Magento 2.4.6, so you can get a better understanding of what to expect from this new release.
- Adobe makes Magento ownership cheaper
- What performance improves Magento 2.4.6 brings
- What new/enhanced functionality in Magento 2.4.6
- What bugs to be fixed in Magento 2.4.6
- Why upgrade to Magento 2.4.6 may be troublesome
Adobe makes Magento ownership cheaper
Starting from this year Adobe extends the support period for latest Magento versions. Security and quality patches will be available for 3 years starting from the date of the release general availability.
With the new support policy from Adobe, the Magento 2.4.6 version will receive patches until March 14, 2026. Source: Adobe:
|End of support
|April 12, 2022
|April 24, 2025
|August 9, 2022
|August 9, 2025
|March 14, 2023
|March 14, 2026
The prolonged support should help Magento store owners to reduce the total cost of ownership, according to Adobe.
To additionally reduce the costs of ownership, Adobe changes the release schedule for patches. It will release one core application patch (includes security, performance, and high-priority quality fixes) per year. The number of releases for security patches is increased from three to four.
What performance improves Magento 2.4.6 brings
Latest PHP 8.2: increased performance and security
The Magento 2.4.6 introduces compatibility with the latest PHP 8.2. The PHP 8.1 remains fully compatible with the new Magento release.
However, if your server environment continues to use PHP 7.4 (compatible with Magento 2.4.0-2.4.3 and unofficially with Magento 2.4.4 and 2.4.5), then you will have to update to PHP 8.X. Magento 2.4.6 drops the support of PHP 7.4.
The latest PHP 8.2 offers a roughly 2.5% performance increase compared with PHP 8.1. The PHP 8.2 execution time without JIT is roughly 15% faster than PHP 7.4, according to Zimuel test. Here is the execution speed of last PHP versions from Onlinephp.io:
In addition to increased performance the PHP 8.2 support brings more security to Magento. This PHP version has received such security enhancements, among other:
- Entire class can be declared as read only. Such read only status prevents the object to be changed after its first initialization. Developers can make a read only object public without fear that it could be broken.
- Simplified running of parameterized MySQLi queries. Allows developers to move from risky escaping of user values when using parameterised database queries.
- Values of sensitive parameters can be hidden from backtrace. When an exception happens the PHP 8.2 will show an object
\SensitiveParameterValuethat hides the value of the sensitive paramente. Thus, making the code execution more secure.
Large store can be faster by limiting item number in grid
Magento 2.4.6 improves the performance for large product catalogs when products are displayed in the grid. A Magento store admin can limit the number of max products displayed using the new system configuration setting.
The setting is available at Stores > Settings > Configuration > Advanced > Admin > Admin Grids > Limit Number of Products in Grid.
The setting is disabled by default. When activated the default setting is 20 000 products, which is minimal allowed number for this option.
New/enhanced functionality in Magento 2.4.6
Better accessibility for users with special needs
The new Magento version also becomes more user-friendly to users with accessibility requirements:
- Sign in button text label matches its accessible name.
- Buttons on the store frontend now have descriptive accessible names.
- The Has Video checkboxes in search filters now have verbal descriptive labels.
- Store frontend can be access using keyboard-only mode. Previously, sub-navigation links were inaccessible via keyboard.
- Keyboard input now works as expected with Proceed to Checkout, Review Order, and Place Order buttons.
- Focus indication on buttons works as expected when using TAB or SHIFT + TAB for page navigation.
Additionally, the Magento 2.4.6 now better works with Screen readers. For example, screen reader will announce a successful user login, total item count in search results, if any input field is required.
Other platform enhancements
Magento 2.4.6 has received lots of other performance and scalability enhancements.
More pages will be loaded from cache
Magento will not flush the full-page cache when the order is fulfilled. However, cache is flushed for orders with out of stock products. Previously, Magento flushed the cache when a new shipment was created.
The new version also will not invalidate the category page cache when stock quantity changes for products in stock. Store page will load faster if only the product quantity has changed on the page. Such pages will be loaded from cache. Previously pages were regenerated.
Stores with large customer segments will work faster
Magento 2.4.6 improves the performance of stores with more than 100 customer segments. This version offers a new configuration setting The Real-time Check if Customer is Matched by Segment. By disabling it a store will reduce validation of each customer segment against customers, thus increasing its performance.
With the new Magento a new
POST /rest/<store_view_code>/V1/import/csv REST API endpoint can be used to increase import performance up to 100,000 records per minute.
This endpoint has similar capabilities to the existing Admin import feature. Also a CSV file can be used to create, update, and remove products, product pricing, and customer entities.
Faster order processing
For Magento users on cloud the version 2.4.6 offers an improved order processing speed. It is useful for stores that see 1000 orders per minute. The order processing speed increase is achieved through the database load balancing across different nodes.
Cart and checkout
New Magento also receives the updates to its cart and checkout workflow:
- An additional item can be added to the cart when the cart already contains the minimum quantity of the simple product.
- Refunds for orders that included a shipping discount are computed as expected.
- Shoppers can now place an order while not selecting the Google ReCAPTCHA first.
- The confirmation popup appears as anticipated
- When a customer modifies a product's quantity on the cart page without updating the cart and tries to navigate to the next page the confirmation popup is displayed as expected.
- Shoppers will be able to decrease a product’s quantity in the cart even it was decreased by the store manager in the Admin.
- Customer group permission access is now checked to prevent shopper from adding to cart a product from a category he is disallowed.
- Cart contents is restored if the order is canceled or abandoned. Items are removed from the cart only after order was created.
- The mini cart displays correct product images. Previously after the
bin/magento catalog:image:resizecommand all images were replaced by the placeholder image.
Here are the major updates for the product catalog:
- Logged-in customers will see correct prices. Previously Magento displayed cached prices.
- Shoppers on mobile devices will be able to expand categories with subcategories. Previously it was not possible to open or expand such categories on mobile.
- Product price indexer updates when a product is assigned to a new store. Previously indexer was updated by Cron, leading to missing or incorrect prices.
Bugs to be fixed in Magento 2.4.6
Adobe promises a list of bugs to be fixed upon the release of Magento 2.4.6. Patches for these bugs will also be available for some previous Magento versions via the Quality Patches Tool.
Here are some most prominent bugs to be closed in the Magento 2.4.6 version:
- Products not visible on the store frontend despite the Allow All Products Per Page option is set to Yes. The patch ACSD-48262 will be available for Magento 2.4.5.
- GraphQL does not display cart discount correctly when the product is added to the cart using GraphQL. The ACSD-47955 patch will also be compatible with Magento versions 2.4.4 - 2.4.5-p1.
- GraphQL response does not return the out-of-stock bundled products despite the Display Out-of-Stock Products option is set to Yes. The patch ACSD-47292 will also be available for Magento 2.4.4 - 2.4.5-p1.
- GraphQL requests return results with the default store id overrides the store id for quote items. The patch MDVA-44562 can be also installed on Magento 2.4.3 - 2.4.4.
- Something went wrong error while user dismisses a notification. The patch ACSD-47336 will be available for Magento 2.4.0 - 2.4.5-p1.
- Search in user roles does not work as expected. The patch ACSD-47666 will also be available for Magento 2.4.0 - 2.4.5-p1
- SEO-friendly URL is not generated if a product has url_key attributes overridden. The patch ACSD-45168 also fixes this error for Magento 2.4.2 - 2.4.5-p1.
Why upgrade to Magento 2.4.6 may be troublesome
When considering an upgrade to Magento 2.4.6 it would be great to first check if all extensions you require have been updated to support this new Magento release. The new Magento bring lots of dependency changes with some of them backward incompatible. Here are the most prominent changes.
Removed software libraries
Magento 2.4.6 brings a lot of backward incompatible changes to the libraries and third-party software components it uses. This is primarily due to the end of the support of these components:
The transition to new libraries affects dozens of modules Magento is bundled with. For example, Magento_GoogleAdwords (backend), Magento_Framework, Magento_Payment, Magento_Backend, Magento_Search, Magento_LayeredNavigation, Magento_Downloadable.
Third-party extensions that use depend on the affected Magento modules or depend on the replaced libraries require an update.
Thus the update to Magento 2.4.6 may be costly in terms of work. Developers may require a lot of time to make their modules compatible with the new Magento.
Some of the old modules that will become incompatible with the Magento 2.4.6 may receive no update, pushing you to search for replacement.
OpenSearch can replace ElasticSearch as default search
Magento 2.4.6 introduces a new option for a default search - OpenSearch. It is supported as the default and independent search engine in addition to ElasticSearch. The support is claimed for OpenSearch v2.x, the Magento 2.4.6 has been tested with OpenSearch 2.4.
In order to distinguish between Elasticsearch and OpenSearch the Magento 2.4.6 received changes in its software code. For example, the ConnectionManager virtual type has been removed. This change is backwards incompatible, meaning that modules that depend on it may not work as expected in Magento 2.4.6.
OpenSearch vs ElasticSearch
OpenSearch is a fork of ElasticSearch that appeared in 2021 in response to licensing changes of ElasticSearch. The license change was caused by disputes with Amazon. OpenSearch is based on the last open source release of Elasticsearch - Elasticsearch 7.10.
The OpenSearch project was created by Amazon, and it is based on Elasticsearch and Kibana.
Both search solutions are widely used and they provide necessary functionality, namely data tiering for cloud, machine learning, SQL query syntax, reporting, asynchronous search, etc. Differences in licenses of OpenSearch and ElasticSearch may be important for developers, but end users may see no difference.
At the end of the day, the ElasticSearch may be better choice for a Magento store in the long run as its community continues to contribute in the project:
While contributions to OpenSearch project dropped with time:
Use this OpenSearch vs ElasticSearch decision tree to decide what search may be better suited for your business needs.
Adobe is in the final stages of beta testing its new version of Magento Open Source. The Magento 2.4.6 is set to be publicly released on March 14th, 2023. This minor version update brings significant changes, including over 300 quality fixes.
One of the key performance improvements in Magento 2.4.6 is the introduction of compatibility with the latest PHP 8.2. The latest PHP 8.2 offers a roughly 15% faster execution time compared to PHP 7.4. Other platform enhancements include more pages loaded from the cache, improved scalability, and enhanced catalog navigation on mobile.
Magento 2.4.6 also improves the performance for large product catalogs when products are displayed in the grid, allowing the store admin to limit the number of max products displayed using a new system configuration setting.
New Magento also becomes more user-friendly for users with accessibility requirements, including better accessibility and better compatibility with screen readers.
In conclusion, Magento 2.4.6 brings a host of improvements and new features, making it a worthwhile upgrade for Magento store owners. However, the upgrade may be troublesome, as changes in the Magento 2.4.6 dependencies may break many extensions installed in your store, and they will also require an update.