Magento is one of the prominent eCommerce platforms and often the preferred choice for many B2B/B2C brands worldwide. The platform's ability to scale and grow with your business needs is why Magento is the ideal brand to establish your virtual storefront.
The powerful ecosystem of unique technological solutions and global partners certifies Magento as a one-stop solution for all things eCommerce. The beautiful blend of inherent features alongside the dynamic themes, community and support - makes Magento the most robust engine for e-selling.
Now, the beta version of Magento 2.4 is about to be released this year. All store owners and developers around the world can get their hands on the same and test it out. The 2.4 version comprises feature upgrades, improvements, component updates and overall product stability.
What’s New in Commerce and Open Source 2.4?
Here’s a list of all the main improvements introduced in the Magento 2.4.0 beta version.
Two-factor authentication is enabled by default for the Magento Admin. It’s not possible to disable Two-factor authentication. The extra authentication makes it harder for malicious users to access the Admin Panel without authorization.
Magento 2.4 brings the support for PHP 7.4. All testing of Magento 2.4 has been performed on PHP 7.4. PHP 7.1 and PHP 7.2 are deprecated.
PHP 7.4 needs the latest PHPUnit testing framework, which is PHPUnit 9.x. All extension vendors on the Magento Marketplace must ensure that new extension versions are compatible with PHP 7.4. Besides this, ensure that all integration tests have been configured to run with PHPUnit 9.
Magento 2.4 supports MySQL 8.x. Merchants should look to migrate their deployments to this. This is to utilize its improved performance, security, and reliability. MySQL 5.7 is still supported, but Magento 2.4 revokes the support for MySQL 5.6. It's not possible to host Magento 2.4 with MySQL 5.6.
Also, Magento 2.4 introduces MariaDB 10.4. MariaDB 10.4 provides improved performance and reliability. The support for MySQL 8.0 makes it possible to deploy MariaDB 10.4. Since MySQL 5.6 is out - Magento 2.4 removes the support for MariaDB 10.0 and 10.1.
Composer plugin improves the upgrade process by fixing changes needed to be made to the "root project composer.json" file before it updates to a new product requirement. The said plugin protects against overwriting customizations.
Magento 2.4 sees improvements to the "customer data section invalidation logic." This release gives a new way of invalidating all customer sections data that avoids a known issue with the local storage when custom sections.xml invalidations are active.
Another improvement in Magento 2.4 is the optimization of Redis Performance. The enhancements vastly reduce the number of queries to Redis that are performed on each Magento request. These optimizations include the following.
- The decrease in the size of network data transfers between Redis and Magento.
- Reduction in Redis's consumption of CPU cycles by improving the adapter's ability to determine what needs to be loaded automatically.
- Reduction in race conditions on the Redis write operations.
Beyond this, other enhancements include - improved caching of the results of SQL queries to inventory tables. And then improvement of up to 25-30% to Quick Order add-to-cart performance.
In the Magento 2.4 release, inventory enhancements include in-store pickup support and bundle product support. The In-Store Pickup functionality triggers an endpoint that retrieves a list of pickup locations, and another endpoint notifies the customer that their order is ready for pickup.
Media Gallery and Adobe Stock Integration v2.0
The brand new searchable interface of the media gallery gives the admins the ability to search, filter, and sort images up to 30x faster. Magento 2.4 also offers the ability to license stock image previews from the Media Gallery. In other words, Merchants can find any Adobe Stock preview image in the Media Gallery, reducing the number of steps it takes to license stock preview images. Get the ability to explore, preview, and use visual content more efficiently
The following GraphQL enhancements have been included in Magento 2.4.
- “PickupLocations“ query supports the Inventory In-store pickup functionality.
- "Categories" query returns a list of categories that match the specified filter. This differs from the "categoryList" query. Since it supports pagination.
- “ReorderItems” mutation allows a logged-in user to add all the products from one of their previous orders into the cart.
With Magento 2.4, it is possible to save and duplicate all CMS pages. Earlier, Magento threw an error "Unique constraint violation found" - when you attempted to copy particular pages. Magento 2.4 also lets you create CMS blocks with identical names if the blocks are assigned to different store views.
In Magento 2.4, you no longer see an error when you save a CMS page that has been assigned to multiple stores. Earlier, when you created/edited a CMS page, Magento saved the page but also threw an error.
In Magento 2.4, child products of a configurable product can now be successfully disabled through an API. When it comes to Cart Price rules - a condition set as Category (Parent only) now works consistently.
Also, it is possible to add a configurable product to the cart from the Cross-Sells tab. When you select a product and click on "Add to Cart" from this tab, you are taken to the product's details page. On the page, you can select specific product options. Earlier, this action would give a 404 error page.
Wishlists are enabled at the store-view level and disabled at the global level. Earlier, when these settings were in place, adding a product to a wishlist gave a 404 error.
The shipping rates and prices are updated when a customer changes the destination country for an order during checkout. Also, the cart price rules account for taxes for calculating whether an order meets the criteria for free shipping. Admins can no longer manually enter a tax class for a bundle product. This is when the bundle product’s Tax Class and Dynamic Price settings are disabled.
As per the latest version, you can use REST to update YouTube videos. Up till now, Magento displayed a thumbnail for a video. But, the video player wouldn't load when you clicked the Play button.
Email and Product Alerts
The authorization email sent to the customer upon a return request now contains the Return Merchandise Authorization (RMA) status. Earlier, this email displayed an empty string instead of a return status.
In a multi-site deployment scenario, where customer accounts are shared globally, they will not get redirected away from the current website when they register a forgotten password. Earlier, customers were getting redirected to the site on which the account was created.
Magento now displays a message when a product in the mini cart becomes OOS before checkout. Once the user has removed the OOS SKU, Magento displays the “Proceed to Checkout” button. Earlier, Magento did not show this button. Also, “Product Stock Alert” unsubscribe works properly when a user’s session has expired.
Sales and Sales Rule
Considerable changes have been made in the sales section as well. For instance, all the completed orders will now appear in the payment system and Magento. Earlier, the orders appeared only in the payment system and not in Magento.
The “Same as Billing Address” was not enabled automatically. But now Magento honors the default billing and default shipping addresses in the settings. Also, Administrators with restricted permission can view orders – without being prompted with the “Something went wrong” message.
Magento 2.4 displays product images in the mini cart without distortion. Earlier, Magento stretched the image in the mini cart to fill the entire width and height of the image container.
Images are saved in pub/media/catalog/category when you save category images. Earlier, Magento saved these images in pub/media/catalog/tmp/category. Watermark images no longer make the overlapped product image vague and unclear. Earlier, the product image's visibility would be affected if the watermark image was more significant than the product image.
Also, Magento 2.4 allows you to save an image to a category from the Admin successfully. Earlier, after you saved the image, part of the URL would go missing. Due to this, you couldn't re-open the said image. Since this, Magento displays .png images as expected after an upload.
In Magento 2.4, you no longer get an error during import when imported data includes a swatch_image store-view key with no_selection value. Also, now images are updated when you use the hide_from_product_page setting when importing products in deployments with multiple store views.
Images associated with configurable products are now correctly uploaded during import. These images are available for viewing as expected from the Product edit page. Exported .csv files now reflect filter settings for including in-stock or OOS products. Earlier, Magento would export all products, no matter which stock setting you selected.
Now it is possible to import or update customers successfully. All you'd have to do is use the "Customer and address" single file option of the import workflow.
Also, import all custom options for a configurable product's child products when store_view_code is specified. This would work regardless of whether you choose to import configurable products individually or collectively.
Magento provides merchants the option to resolve conflicts during product imports. As of now, it sends a message that identifies which products in the imported CSV file have duplicate keys. Also, CSV files generated during product import now contain group titles for downloadable products. The CSV file contains the correct links for downloadable products and is appropriately formatted.
Magento even deletes temporary files from <Magento_home>/var after completing the product import.
Magento now displays a more informative error message and does not show a download link when you try to delete a directory from the System > Export list. Earlier, Magento continued to display a download link for non-downloadable files and showed an uninformative error message.
Admins with limited permissions to their Catalog can now create a downloadable product. Earlier, admins could not create a downloadable product as Magento would show an error. It’s also possible to use an import file to update downloadable products in bulk by SKU and description. Earlier, validation errors occurred, and the import failed.
Changes on the Customer End
Customers subscribed to newsletters in the capacity of a guest are not unsubscribed after registering for a new account. Beyond this, Magento uses a new PHPSession for each change of password.
In a multisite deployment, you can now successfully create a customer and associate it with a particular website using the “Associate to Website” dropdown menu. Earlier, attempting the same resulted in Magento displaying this error: “The store view is not in the associated website.”
Magento saves the info a buyer enters in the default billing and shipping fields during checkout when the transaction is initially declined due to an invalid credit card but accepted later. Earlier, Magento created the order when the customer entered valid payment information, but it didn’t update the default billing or shipping addresses in the “My Account” section of the checkout.
Magento 2.4 acknowledges a customer’s default shipping address.
Earlier, Magento did not honor the default billing and shipping addresses with regards to the settings. Within this, the "Same As Billing Address" setting was not enabled automatically.
Also, now Magento correctly calculates refunds for orders that come with discounts. Earlier, in Magento, the shipping tax and shipping discount were miscalculated, and the refunded total did not match the total paid.
Magento now applies fixed-amount, whole-cart discounts correctly for orders that are getting shipped to multiple addresses. In the earlier versions, this type of discount was applied numerous times when a customer checked out an order with multiple addresses.
Not only that, but even the dropdown list available for selecting shipping methods during the process of creating a Cart Price Rule now also contains only valid values. Earlier, this dropdown list contained empty or extra values.
Magento 2.4 allows for the printing of shipping labels as a .pdf file. This applies when you select "Print Shipping Label" from the Action dropdown list of orders in the order archive list.
Free Shipping Price rules now only affect the products that are eligible for free shipping. Earlier, when a shopping cart included products from categories that came under the Free Shipping Price rule and products from categories that are not included in the rule - free shipping wasn't applied to any of the products.
With the 2.4 release, Magento disables the Submit Review button after the user clicks the button once. Earlier, Magento didn’t disable the button after the first click. Hence, if the user attempted to click the “Submit Review” button multiple times, it’d create various reviews.
The Admin > Reports > Reviews > By Products filter list now displays all the product review results as expected. Earlier, when you tried to filter this list, Magento did not display any results at all.
The integration of 3rd party payment methods into the core Magento code has been removed. As such, integrations of Authorize.Net, eWay, CyberSource and Worldpay are no longer available.
These core features will be removed in the next minor release. Merchants should migrate to the official extensions available on the Magento Marketplace.
Also, the core implementation of Signifyd fraud protection is no longer supported. Merchants must migrate to the Signifyd Fraud and Chargeback Protection extension available on Magento Marketplace.
It is now possible via Magento 2.4 to create an order from the Admin using Authorize.net as the payment method. Earlier, the order creation resulted in an error - "Transaction has been declined. Please try again later."
Now, if the buyer enters an invalid shipping address and decides to pay through PayPal in the checkout workflow - Magento displays an informative error message. This was missing earlier as the error would only pop-up on the first click and not on subsequent clicks.
Also, successfully process orders placed with PayPal Express Checkout where the country region in the shipping address for the order is manually entered into the text field rather than selected from the drop-down menu on the Shipping page.
Also, when it comes to PayPal Express Checkout, it is now possible to use any supported credit card. Earlier, upon clicking on a credit card button while using PayPal Express Checkout, Magento hung. And you couldn't enter any credit card information.
Other payment specific changes in Magento 2.4 are the following.
- When a payment with PayPal fails - Magento no longer changes an order's status to processing in the Payment Review section of checkout.
- When fraud filters are triggered - Orders placed within PayPal Payflow Pro are set to Suspected Fraud status.
- When paying with Braintree - The Place order button on the checkout workflow is disabled until the customer updates the billing address.
- The PayPal Pro payment method works perfectly well in the Chrome 80 browser.
The Elasticsearch 7.x version is now the default catalog search engine on Magento 2.4. Elasticsearch provides superior search capabilities and catalog performance optimizations. In the latest release, Elasticsearch replaces the MySQL search engine.
This change is valid for both Magento Commerce and Open Source. But, Elasticsearch v6.8 is still supported in Magento 2.4. Also, an upgrade/install to Magento 2.4 is NOT possible without installing Elasticsearch. All merchants need to have Elasticsearch to install and deploy Magento 2.4.0.
Using quick search – it’s possible to do a partial word search for product names and SKUs. Also, selecting “All products” from the products list page now displays all products in the search results. Before, Magento displayed no search results. Currently, Magento doesn’t need a full search re-index for a new product attribute to be searchable on the storefront.
Exclusive to the Commerce Edition
Managers can configure approval rules for their buyers. They do so through the Order Approval Workflow feature. It is possible to create unique approval conditions for each Company account. The conditions include order amount, line items, shipment costs, etc.
Another new enhancement is a quick view of Purchase Orders that need approval. Plus, you get to view the full history log of all the performed actions on these PO's. Enhanced email notifications are also a part of the B2B update of Magento 2.4. They are sent to relevant parties during all steps in the approval process.
The other useful enhancement of Magento 2.4 is the ability to log in as a customer. The feature is compatible with many websites and customer account scopes. You can view the storefront on behalf of your client as an administrator. Besides this, log any order placed on behalf of the customer in the storefront and admin.
Destroy all sessions, once one of the sessions is over and following a logout from the administrator. Administrative users cannot access customer passwords.
Add Gift wrapping to the cart when the same is enabled on the product level. Earlier, gift-wrapping could be added to a product on the storefront. But Magento wouldn't include gift wrapping in the order summary.
Also, calculate the correct cost of gift wrapping. Since it depends on the number of products for which you've ordered gift wrap. Earlier, the cost of gift wrap for only one product was calculated.
In Magento 2.4, an expired gift card becomes active when its end date gets changed to a future date. Earlier, the gift card remained expired.