Magento 2.4 is the next major release of our favorite e-commerce platform. Although you won’t find many rumors about this version, not to mention official statements, we’ve gathered the most probable enhancements that may become a part of Magento 2.4 Open Source, Commerce, and Cloud. So, what to expect from the new major update?
The new platform version has been released! Below, you can see the key highlight of Magento 2.4.0.
Purchase Approval Workflows
Magento 2.4 delivers a new approval workflow enabling B2B buying companies to customize their approval processes via a simple form. Now, approval rules can be defined following order value, number of SKUs, or shipping costs. It is possible to create numerous rules to achieve outstanding flexibility and assign them to multiple approvers and specific roles. For instance, you can create a limit on purchases over $10k made by junior buyers. Such transactions will require the approval of a higher manager.
Due to the corresponding notification system, the efficiency of B2B interactions rises substantially. The system sends messages when reviews are required. Next, it is possible to approve, reject, or comment on a purchase order right in an account of a company’s employee. A faster and more convenient online ordering is achieved!
Now, your Magento administrators can guide and assist your customers with the new Seller-assisted Shopping functionality. The enhancement delivers the following features:
Magento 2 administrators are now able to troubleshoot any part of the buying process for the storefront, getting full access to a customer account.
Besides, it is possible to guide a customer through any custom functionality of the storefront experience.
As a result, you can dramatically save the customer time by placing orders and creating quotes on their behalf.
Inventory Management, which is formerly known as Multi-Source Inventory, introduces the In-store Pick Up method. As a merchant, you can select which physical inventory locations should be displayed as customer pickup points.
Customers, in their turn, can leverage the feature during the checkout, discovering a nearby location and viewing information about it.
The feature can be adjusted to the needs of a curbside pickup method due to its flexible configurations and notifications.
New Media Gallery
Creating a content-driven experience in Magento 2.4 is easier than ever before. Both Commerce and Open Source let you streamline a completely rebuilt Media Gallery that delivers a notable performance enhancement: you can work up to 30 times faster due to the integration with Adobe Stock. The key features of the improvement include:
Controlled access to the Media Gallery with a system of permissions;
New image details that describe how often and where images are already used;
New image attributes to search and filter images faster;
Adobe Stock image licensing and management right in the Media Gallery of your Magento 2 website.
The latest version of PWA Studio has been released with Magento 2.4. Available for both Commerce and Open Source, it introduces new Venia storefront experiences and accelerated development process.
A complete cart and checkout workflow;
An extensibility framework to customize the capabilities of PWA Studio more efficiently;
Support for Venia UI components within Adobe Experience Manager-powered storefronts.
Magento 2.4 is faster and more secure than its predecessor. The latest release includes several enhancements to the platform’s quality, security, and performance:
Two-factor authentication (2FA) is required for all admin users and cannot be disabled;
The core Braintree integration has been deprecated. Now, it is available as a Vendor Bundled Extension;
Various scalability improvements including Redis optimizations result in better performance;
Faster cart and checkout performance;
Faster add-to-cart performance for quick ordering;
Composer Update Plugin now automates several previously manual actions.
You can get access to the beta version of Magento 2.4.0 right now. It is only necessary to participate in the Magento Beta Program. The earlier you see the code of Magento 2.4.0, the better prepared for changes you are. Below, you can see the most essential improvements that are already a part of the platform’s latest beta version.
Elasticsearch Instead Of MySQL
Since Magento 2.4 offers no support for MySQL as a catalog search engine, you must use Elasticsearch instead. Install and configure its 7.6.x version before upgrading. Otherwise, you’ll face hard to resolve ramifications.
If you have no idea what catalog search engine is incorporated, use the CLI or the Admin to determine the option your e-commerce website relies upon.
You can use the following command to get the necessary information:
bin/magento config:show catalog/search/engine
The returned value illustrates the technology used. It indicates either MySQL, a particular Elasticsearch version, or a third-party search engine.
Alternatively, you can dig the demanded facts about your storefront right in the admin section. The requested data is hidden under Stores -> Settings -> Configuration -> Catalog -> Catalog -> Catalog Search -> Search Engine.
Pay heed to the fact that some third-party catalog search engines tend to run on top of the Magento’s default search foundation. Therefore, it is strongly recommended to consult your vendor concerning indispensable updates and configurations.
Still, you need to refurbish your search engine before upgrading to Magento 2.4 even if your website counts on Elasticsearch of earlier versions. Bear in mind that the latest Magento supports neither Elasticsearch 6.x nor 5.x, not to mention 2.x.
Take this article – Upgrading Elasticsearch – into consideration since it provides full instructions on backing up your data, addressing potential migration issues, as well as testing everything before deploying the update to the production website. Every Elasticsearch version requires an individual approach to modernization. Some of them call for an entire cluster restart.
As regards to third-party solutions, you need to contact your search engine vendor to find out whether it is compatible with Magento 2.4 or not.
Give the corresponding article from the official documentation – Magento 2.4 Search Engine – a going-over. It encapsulates several more fine distinctions between 2.3 and 2.4 on the subject of search engines.
One of the most notable security enhancements of Magento 2 is Magento Two-Factor Authentication (2FA). It settles two-step authentication as a safe way to access the Magento admin from all devices. Numerous authenticators are supported:
The new authentication method does not apply to storefront customer accounts.
You can configure the 2FA provider globally or individually, allowing admin users to set their own personal 2FA at first login, in the second case. Mark that the “Trust this device” option is no longer available.
CVE identifiers represent another notable change. Magento assigns and publishes indexed Common Vulnerabilities and Exposures (CVE) numbers assigned to each security bug reported by external parties. That results in the ability to identify unaddressed vulnerabilities more easily. To learn more about CVE identifiers, follow this link: CVE Explained.
Below, we highlight the main improvements introduced in the beta version of the Magento Open Source 2.4.0. As usual, the new upgrade brings numerous platform upgrades, security changes, and performance enhancements, including 100+ fixes to core code. Since quarterly releases usually contain backward-incompatibility changes, 2.4.0 is not an exception. However, the new platform version contains only minor adjustments. (You can find all of them here: Backward Incompatible Changes.)
Note that Magento 2.4.0 is the first quarterly release that provides the ability to install security patches without any need to apply other functional fixes. The new version of the platform offers patch 18.104.22.168 (Composer package 2.3.4-p2) that delivers all hotfixes applied to the 2.3.5 release.
Also, note that Inventory Management and PWA Studio are released and documented independently.
Now, let’s take a look at the core areas Magento 2.4.0 upgrades.
Magento 2.4.0 delivers 30+ security improvements. The new platform addresses remote code execution and cross-site scripting vulnerabilities. Besides, the new version introduces the following upgrades:
The Magento admin area now enables two-factor authentication by default. The feature cannot be disabled.
The system enables the template filter strict mode for Magento components to eliminate RCE.
Content Security Policy improvements include the whitelisting of inline style and script tags in .phtml templates.
PHP 7.4 – 7.1 and 7.2 has been deprecated;
PHPUnit 9.x – 6.5 has been deprecated;
MySQL catalog search engine has been replaced with Elasticsearch;
MariaDB 10.4 – 10.0 and 10.1 are no longer supported;
Zend Framework dependencies are now a part of the Laminas project;
The Signifyd fraud protection code has been removed from the core;
The core Braintree module is no longer there as well.
No third-party payment methods in the core: Authorize.Net, eWay, CyberSource, and Worldpay has been removed;
Partial-word search introduced by Elasticsearch;
Web Set Up Wizard is no longer available – use the command line instead;
Better updates with the Composer plugin.
Customer data section invalidation logic has been revamped, addressing a known issue with local storage;
Redis performance optimizations: smaller network data transfers, less CPU cycles consumption; more efficient race conditions for write operations;
Improved caching for SQL queries: a single SQL query to the inventory_stock_sales_channel (as well as inventory_stock) table is used instead of 16;
Better Quick Order add-to-cart performance (up to 30% enhancement).
Magento 2.4 provides the ability to license stock image previews right from the Media Gallery, simplifying the initial procedure. Besides, the Media Gallery itself introduces a brand-new, searchable interface, where you can search, filter, and sort images up to 30x faster than in the previous Magento versions.
Magento 2.4.0 enhances the Inventory Management functionality with in-store pickup and bundle product support.
GraphQL has also been improved in Magento 2.4.0. For instance, the pickupLocations query now supports the Inventory In-store pickup feature. Besides, you can leverage the categories query to return a list of categories that match a specified filter. And due to the reorderItems mutation, a logged-in user can add all the products from a previous order into the cart.
Magento 2.4.0 supports PWA Studio 6.0.0 and 6.0.1.
Time Limit for Admin Accounts
There is a community contribution that will probably become a part of MAgento 2.4.0. As a store administrator, you will get an opportunity to limit backend accounts. After the specified interval, accounts can be automatically deactivated. It is a security measure aimed at third-party specialists who may need access to your backend.
Magento Functional Testing Framework
With MFTF v3.0.0, you get MFTF helpers developed to create custom actions beyond the framework. Besides, it includes schema updates for test entities, sub-folders in test modules, and nested assertion syntax. You can also leverage static checks to monitor deprecated test entities.
There is also unofficial information regarding Web Payments. The feature supposedly allows customers to order and pay faster and more easily, using data stored in their browser.
Dotdigital: customer attribute values are synced as data fields; cart insight data is properly sent for active quotes; website name, store name, and store view name are syncable via individual data fields; transactional data sync limit improvements affect Wishlist, Review, and Order syncs; logging output from the Client class is now consistent across all the API wrapper methods; configurable products have finally got a stock figure; stock updates performed by third-party code are fully detectable.
Amazon Pay: CSP whitelists have been updated; multi-item orders support multiple authorizations; Japanese addresses are now supported.
Braintree Payments: merchants should now use Braintree Payments instead of the core Braintree integration.
Klarna: on-site messaging tools for credit and financing options; enhanced refunds, APIs, unit tests, discounts, etc.
Vertex: better Admin configuration and user experience due to the use of XML schema files and patches.
Yotpo: Ratings and Reviews are built into Page Builder.
There are also rumors that Magento 2.4 will introduce new APIs, opening the 2.4-develop branch in the Magento2 project repository. As a result, everyone will get access to Magento Community. Besides, community pull requests will be redirected to the new branch. It opens new possibilities for the community members to impact every new release of Magento.
As for Magento Commerce 2.4.0, it contains all the features of Open Source plus B2B and Page Builder improvements.
First of all, you can now leverage the Order Approval Workflow feature. The new improvement is aimed at managers of buying organizations who can configure approval rules for their buyers. With the new Magento version, it is possible to create unique approval conditions per Company account. Rules can incorporate such criteria as order amount, line items, shipment costs, etc. It is also allowed to streamline customizable permissions. Another new enhancement is a quick view of POs that require approval. Purchase Orders, in their turn, have a full history log of actions that have been performed on them. Enhanced email notifications are also a part of the B2B update of Magento 2.4.0. They are sent for relevant parties during all steps in the approval process.
The second valuable enhancement of Magento 2.4.0 B2B is the ability to log in as a customer. The feature is compatible with multiple customer account scopes. You can view the storefront on behalf of your client as an administrator. There is a per-website access-control list to define who can log in to customer accounts. Note that orders placed on behalf of your prospects are available on both storefront and admin. Another notable feature is that the system destroys all sessions, following administrator logout. Another safety measure prevents administrative users from accessing customer passwords.
There are also several unconfirmed improvements. Firstly, it is a new workflow for quote and order approvals in the frontend that incorporates limit values. Secondly, it is rumored that Magento 2 will enable the transfer of quotes between company users.
From Magento 2.4.0, Page Builder starts supporting PHP 7.4.
Magento 2.4 Backward Incompatible Changes
Since we’ve mentioned the repeal of MySQL as a search engine in Magento 2.4, let’s explore other backward incompatibility issues. The following chapter highlights the major changes between releases that cause entanglements requiring detailed explanation and instructions.
Inventory asynchronous reindex
Magento 2.4 users will no longer suffer from unexpected index table collisions. The latest platform version incorporates a new Stock/Source reindex strategy configuration setting option. It provides the ability to implement either Synchronous or Asynchronous approach. What was changed?
Initially, Magento users experienced a “burst” of activity that spiralled into contention of the indexing process. Even batching and deferring individual updates were among possible trouble spots. They were triggering the indexer, leading to an index table collision caused by “other” activity.
Manual replenishment that happened through the Admin or order interaction, considering the indexer was running following a schedule, was enough to trigger indexing, resulting in two processes attempting to index. Consequently, merchants got stuck with a deadlocked/stale index due to one of those that “lost.”
Although files are API class/interface, they experienced different alterations. In the first one, _constructor argument type was changed. As for the second file, you will find its declared return type modified. These shifts will be solved dynamically during runtime. However, you need to follow the recommended guidelines.
MediaContent & MediaContentApi
The ‘MediaContent’ and ‘MediaContentApi’ modules play an important role in managing relationships between content and media assets. It is also necessary to mention the addition of observers. The CMS and Catalog modules have been enhanced with them, saving the relationship of the corresponding entities to the ‘MediaContent’ storage.
Method parameter typing changed
Method parameter typing is subject to change. The primary goal of the enhancement is to leverage PHP 7+ Throwables so that catching all errors that might expose confidential information (e.g., passwords) is possible. You can find the refinement under Level Target/Location Code/Reason:
You can find two new interfaces in Magento 2.4 under Magento\InventorySalesApi\Api\:
They enable support for bulk check for products scalability, allowing performance optimizations. The latter are based on an implementation for bulk services.
Magento 2.4.0 works with PHP 7.4. With that, 7.3 is the lowest compatible version, resulting in the update of some Composer libraries.
The new behavior of the setcookie function looks as follows:
Magento 2.4 also took hold of the current PHPUnit framework. The platform incorporates its 9th version, resulting in the necessity to refactor most PHPUnit-based tests. Let’s take a look at the most critical changes.
The following methods contain a void return type declaration:
Also, be mindful of the changes related to the signature of these elements:
It is necessary to incorporate more specific methods instead. According to the official documentation, you should also use \PHPUnit\Framework\Assert::assertEqualsCanonicalizing() as a replacement for assertEquals() to compare two entities with a different order of elements. For non-strict parameters, use \PHPUnit\Framework\Assert::assertEqualsWithDelta(). It is another renewal that jostle assertEquals().
Size field in media_gallery_asset table
Don’t miss a new dependency for the Adobe Stock integration, which a size field in the media_gallery_asset table represents. It enables storing and using the media asset size. The new change affects both the Media Gallery Asset entity model and interface.
It is also worth mentioning that the Magento\MediaGalleryApi\Api\Data\AssetInterface was updated with a new public method in the scope of the changes. However, it is not a part of Magento API.
getDefaultLimitPerPageValue no longer returns a value that is not available, if you accidentally set the default value to be one of the unavailable options. To prevent the issue, all new PHP files must have strict type mode enabled. It is recommended starting as follows:
Also, you should enable strict type mode for all updated PHP files.
Note that strict typing was added to the following file:
Magento 2.4 introduces a renewed approach to the Admin grid in the UrlRewrite module. Now, it is an element of UI components with all the unused blocks removed. Mass delete and inline edit actions are a part of the game.
Here at Firebear, we think that Magento 2.4 will get improvements in the following areas:
Adobe products integration
PWA for B2B and B2C;
Magento 2 Cloud-specific improvements;
Page Builder and other extensions;
Magento 2 inventory (MSI);
Automated upgrades and security patches;
Bugfixing and tests.
Let’s take a look at the official Magento 2 Backlog since it illustrates the current Magento 2 vector for the next updates. Of course, features mentioned there may be released via further minor updates and none of them will be added as a part of Magento 2.4. However, there is always a chance to see the improvements listed below as a part of Magento 2.4 Open Source, Commerce, and Cloud. You can find the following features in the Official Magento 2 backlog:
B2B 2.0 – we expect some minor improvements in 2.3.x and more valuable changes in Magento 2.4;
Search: basic + advanced – new features in this area will be probably released through some minor updates;
Integrations with Adobe Products – it doesn’t seem that such an important step is planned for a minor update; therefore, we are waiting for the Adobe integrations in Magento 2.4 Open Source, Commerce, and Cloud;
Modularity – this feature also looks like a part of a major update but small enhancements in this area may be provided via 2.3.x;
Magento Payments – additional improvements in this direction will probably be a part of a minor update;
Staging and Preview – the same is about this feature, but there is always a chance that some ground-breaking enhancements are planned for Magento 2.4;
Personalization – Magento 2.4 may introduce an absolutely new approach to personalization providing more engaging shopping experience;
Product Recommendations – more advanced product recommendations may be submitted as a part of personalization changes of Magento 2.4. Magento 2.3 already provides personalized product display on the basis of Adobe Sensei.
Advanced Promotions – the same is about promotions;
Admin UX – we also expect that the current admin experience will be dramatically improved in Magento 2.4.
As you can see, the official backlog contains lots of features that will simplify the life of merchants, marketers, and developers. It is unknown whether they are a part of the next minor release or we will see them in Magento 2.4, but you can find everything here: Magento 2 Backlog.
Magento 2 GraphQL
You can utilize GraphQL– a data query language – in the Magento 2 frontend development as an alternative to REST and SOAP web APIs. Besides, it powers the Magento 2 PWA Studio!
Last year, it was announced that Magento 2.3.x and 2.4 would get the following improvements in this direction:
Mutations to support checkout and payments;
Storefront GraphQL API for checkout, orders, my account;
Other enhancements in the GraphQL framework.
Therefore, we expect full GraphQL coverage in Magento 2.4 Open Source, Commerce, and Cloud. You can see the current status of the project and monitor planned updates in the official Magento 2 GraphQL backlog. Follow this link for further information: Magento 2 GraphQL Backlog.
Another feature that will be probably added to the next major update is Asynchronous Import. Even with the latest updates in this area, the import/export functionality of our favorite e-commerce platform is still weak, especially if you compare it with our Improved Import & Export extension.
We hope that both import and export features will be improved in Magento 2.4. And the Asynchronous Import module is the proof of the upcoming changes. Magento may replace the current Import solution with this new module. As a result, store administrators will be able to import objects via the Asynchronous approach:
You upload a file of any format;
The extension receives, validates, and returns it as File UUID;
Next, you use File UUID to import data with customer parameters;
The module parses the file;
Then, it splits it into single messages and sends to the Asynchronous API;
You request the status of import and resubmit objects which were failed during the data transfer.
It seems that such a noticeable improvement may become a part of the next major update – Magento 2.4. You can find more information about the project here: Asynchronous Import. And don’t forget to check our extension – Improved Import & Export for Magento 2 – since it already includes the features mentioned above as well as adds a bunch of new improvements to the default import and export processes that are not even planned for further Magento updates.
Integration with other Adobe products is evident for Magento 2.4. More built-in connections are planned for the next updates, so we’d like to draw your attention to the most notable community projects that illustrate probable improvements.
Adobe Stock Integration
The Magento 2 Adobe Stock Integration adds a searchable interface to the Magento 2 Admin providing administrators with the extended use of stock images inside PageBuilder and WYSIWYG editor. We hope to see this feature in Magento 2.4, getting the ability to explore, preview, and use visual content more efficiently.
Just imagine how cool it would be to access Adobe Stock from Media Gallery searching for images and saving watermarked previews that are further replaced with high-resolution photos with no need to leave the Magento admin. The implementation of this feature will help store administrators save tons of time and effort!
Thus, we hope to see the ability to license the right fit image through Adobe immediately replacing watermarked previews in media storage and across all CMS content in Magento 2.4! For further information, follow this link: Magento 2 Adobe Stock Integration.
Magento 2.4 & CIF
Adobe recommends merchants to streamline Commerce Integration Framework (CIF) as an official pattern aimed at integration and extend commerce purposes for Magento 2 and the Experience Cloud. The tool is developed to provide Adobe customers with a more powerful and personalized omnichannel shopping experience. It simplifies various Magento 2 integrations with core Adobe products. You can check the project here: Adobe Commerce Integration Framework (CIF) Magento 2 Integration. Although it is developed for demo purposes only, we expect that a similar solution will be available in Magento 2.4.
Adobe Experience Platform
Some community projects already span both Magento and Adobe Experience Platforms. One of them is based Launch by Adobe. It enables the integration with Adobe Analytics and Adobe Target, providing merchants with in-depth customer insights and the ability to deliver more personalized experiences.
If a similar improvement is added to Magento 2.4, we will get excellent opportunities in terms of personalization mentioned above. Thus, the integration with AEP looks real, especially with such community initiatives as Adobe Experience Platform Launch extension and Magento GraphQL data models and query builders for AEM. The purpose of both projects is to reduce the complexity of the integration with Magento 2 Adobe Experience Cloud products, replacing a problematic procedure with a few clicks
Magento 2 PWA
We expect that PWA will soon become the leading way to create e-commerce websites since it combines the best features of native apps and web. From the perspective of further Magento updates, we’d like to draw your attention to the planned features which may become a part of Magento 2.4. For additional information about PWA, read this article: PWA & Headless Magento 2.
Let’s take a look at the official Magento 2 PWA roadmap. It includes the following features:
Peregrine Hooks library;
Extended GraphQL support;
Extensibility Discovery with Marketplace support;
Peregrine Hooks and Venia Components will enhance the shopping experience associated with PWA. The Modular Component Library (Peregrine Hooks) will be improved in the following areas: Product and Category Details, Navigation, Checkout, Payment and Shipping Methods, Gallery, Faceting, etc. Venia Component enhancements include Toast Notifications and Category Filters.
We also expect additional shopper experience enhancements, Page Builder support, integration with Adobe services, B2B Theming, etc. Some of these features will be introduced in Magento 2.4. You can find more information here: Magento 2 PWA Studio Roadmap.
Another feature that is worth your attention is a proof-of-concept B2B Magento theme. PWA – B2B Theme (Brentmill+) is based on the PWA Studio and Peregrine components. Although it is a concept, we expect something similar in Magento 2.4 or other updates. Follow this link to discover the project: PWA – B2B Theme (Brentmill+).
Headless Magento 2.4
In addition to the official PWA tool aimed at developers, Adobe also wants to improve the existing experience of merchants and their clients. The company has announced a robust and highly flexible infrastructure developed to provide continuous integration and delivery processes. Besides, the new infrastructure will empower Magento users to create quick and agile iterations of their codebase.
It means that merchants of all sizes will soon be able to deploy new features to production with much faster speed. The new flexibility level will dramatically enhance the shopping experience. The full article is available here: Adobe Commerce Cloud Headless Offering. Will Adobe introduce these features with Magento 2.4 or earlier?
Magento 2 MSI Roadmap
Of course, we expect to see lots of MSI improvements in Magento 2.4. The Multi-Source Inventory project is designed to enable stock management in multiple locations, but you still need to use third-party extensions to leverage its functionality for one hundred percent.
We hope that with Magento 2.4, the project will eliminate the use of third-party modules or customizations. According to the official roadmap, the following improvements and fixes are planned:
Inventory Stock Index for the default stock issue;
Extension Attributes class generation issue;
Slow Inventory save via Web API;
Unique Stock Name field;
‘Select all’ mass action issue;
Saga to compensate Inventory deduction;
Salability status in-object caching;
Reservations clean up improvements;
Low stock reports improvements;
Quantity of virtual or downloadable products wrong calculation improvements.
In addition to these enhancements, the Magento 2 MSI Roadmap includes new features and integrations in such areas as B2B, PWA, GraphQL API, etc. Check the corresponding roadmap here: Magento 2 MSI Roadmap. It doesn’t seem that most of these features and improvements are planned for Magento 2.4. We hope that they will be released with minor updates. As for 2.4, it will introduce more essential enhancements for the current MSI functionality.
To increase the Magento 2 security, Adobe is going to present an auto-patcher. It means that all security updates will be installed automatically. Such a critical enhancement may become an integral part of Magento 2.4.
Had a great calls today with @StevenZurek from @adobe and @_Talesh about building an auto-patcher for M2 security updates (similar to WP). We would potentially work with @MagentoEngCom and in future into the core. Please like / retweet if you want this. Comment if you'd help.
If you explored the Magento 2 roadmap in more detail, you might have noticed that it contains various updates and enhancements related to the platform’s functional testing framework (MFTF). We expect to see essential improvements in this area with Magento 2.4. For further information about Magento 2 Functional Testing Framework, follow this link: Magento2 Functional Testing Framework.
As soon as any new information about Magento 2.4 is available, we will update this article with new facts, features, and the most probable expectations.