Jamersan | Magento and BigCommerce Elite Partner Agency

Magento 2.4.4: Technical Changes and Upgrades

Magento 2.4.4: What It Is and What to Do About It

Adobe Commerce rolled out the latest Magento release complete with new Magento features. In this article, we’ll cover some of the cutting edge Magento features and then try to answer this key question:

Magento 2.4.4 is here. What should you do about it?

When is the Magento 2.4.4 release date?

Adobe Commerce should roll out the Magento 2.4.4 release on March 29th, 2022. The latest pre-release version should be available to Magento store owners and Magento retailers on this date. The full release is scheduled for April 12th.

Because this is such a big change, Adobe also ran a Magento 2.4.4 beta program that featured four monthly beta versions. These are still open for feedback. However, if you weren’t taking part in them, then you could move straight to Adobe Commerce 2.4.4 and skip the beta testing phase.

Magento 2.4.4 Release Highlights

The biggest news for Adobe Commerce users is the fact that this update works with PHP 8.1. This will improve performance, which should cause cost savings and higher conversion rates through faster store pages.

Besides the PHP 8.1 support, the new version offers better B2B and B2C capabilities and more support for headless Magento stores and websites.

We’re going to take a thorough analysis into the new features, so skim through this section if you just want an overview.

At the end of the article, we’ll give you some tips on what to do next to prepare for the latest Magento version.

By the way, if you want to look through the official Magento release notes, you can find them here:

Now, let’s get into the specific changes.

Platform Enhancements

Adobe Commerce now supports PHP 8.1 and so all the Magento project libraries and system dependencies have been upgraded to be compatible.

This includes:

  • Support for latest Elasticsearch 7.16 and OpenSearch 1.2
  • They have upgraded the JQuery library to v3.6.
  • The jquery-ui library has been upgraded to v1.13.0.
  • TinyMCE 5.8.1 is now supported.
  • RequireJS library has been upgraded to v2.3.6.
  • PHPUnit is upgraded to 9.5.x
  • Laminas upgraded to the latest versions. These are compatible with PHP 8.1

Security Enhancements

Three security fixes and platform security improvements are included in this release. Several were backported to Adobe Commerce 2.4.3-p2 and 2.3.7-p3.

There have been no confirmed attacks related to these issues to date. Possible exploits that have been imagined all center on gaining access to Admin. So, please take every precaution to protect Admin access.

Here are some of the specific security highlights:

  • Token-based access has been improved. A standalone token can create a never-expiring access. It can lead to security issues, so the option has been disabled.
  • Session IDs are not stored in the database.
  • OAuth access tokens and password reset tokens are now encrypted.
  • Validation has been improved. It will prevent the upload of non-alphanumeric file extensions.
  • Swagger is disabled by default. It will be disabled when the version is in production mode.
  • ReCAPTCHA support has been added to coupon codes.
  • Improved API security

New Features for the latest version of Adobe Commerce

Now, let’s get into the exciting new features available for Magento merchants. We’ve tried to pick out the best. If you want to read the entire list of features, then you can visit the official links we included above.

PHP 8.1 Support

PHP 8.1 is the latest PHP version and is kind of a big deal for those who are interested in the coding language. For the rest of us, we can simplify everything by saying the new PHP updates give performance enhancements by making the entire language simpler and more streamlined.

If you want a far more technical explanation, then check out more PHP 8.1. resources.

PHP 8.1 is a major update for the language with new features such as:

  • Readonly properties
  •  Enums
  • First-class callable syntax
  •  Fibers
  • Intersection types

Two significant points to note:

  1. All project libraries and dependencies are compatible with the latest PHP version.
  2.  Support for PHP 7.3 is discontinued for Magento 2.4.4 version.

JS Library Upgrades and Removals

JS libraries updated

  • script.aculo.us
  • Chart. js
  • moment.js
  • Moment-timezone-with-data.js
  • matchMedia.js
  •  underscore.js
  • Prototype JS
  • Require JS
  • LessCSS

JS libraries Removed

  • es6-collections.js
  • MutationObserver. js
  • Modernizr
  • FormData. js

Performance Improvements

  • In the 2.4.4. version, there is support for high throughput order processing and an optimized message queue.
  • The AsyncOrder feature is added in this release. It supports around 60,000 orders per hour.
  • The 2.4.4 version also offers a multiple consumers feature.
  • The new multiple_ processes support running parallel consumers in multiple processes.
  • Cart operations for carts with 750 configurable products have been improved.
  • The memory limit is increased by max_input_vars in the php.ini file.
  • Sales rules processing during checkout has been optimized.

B2B

Adobe’s changes make the B2B interface and operations simpler to use. They improved upgrade time, search results, and how customer and company information is updated.

Here are some specific details:

  • The time to upgrade from Magento 2.3.5 (x) to 2.4.x is reduced. You can add more than 100,000 company roles a lot faster.
  • The POST V1/order/:orderId/invoice request will support creating partial invoices.
    It works when the Payment on Account payment method is enabled.
  • Pagination is now displayed on the catalog search result page.
  • Customer custom attributes are saved as expected. They are saved when you create a company customer account or user in the Admin.
  • Quick Order search by SKU is now case insensitive.
  • The Submit button on the Create New Company form is now disabled after one click. It helps prevent multiple form submissions.

Vendor Bundled Extensions

Adobe has removed all vendor-bundled extensions in the 2.4.4 version. The only exception is the Braintree plugin, which is native to the platform. You can manually reinstall the removed extensions from the Magento Marketplace. Official alternatives for more VBEs may be available in the near future.

The reason for this change is to move the vendor bundled extensions out of the core of the code. This is to reduce third party dependencies in the code and help merchants use the marketplace to find the best functions for their websites.

GraphQL

Specific improvements for the GraphQL function should improve life for B2B owners. Here’s a quick list:

  • GraphQL negotiable quotes
  • Storefront related Admin config settings
  • Updated core GraphQL library
  • Translation issues in GraphQ
  • GraphQL with New Relic
  • GraphQL Performance Improvements

Storefront performance has also been improved. Changes are made to how GraphQL requests are cached. Fastly and Varnish will now cache GraphQL requests sent with auth tokens.

Backward Incompatible Changes (BIC)

Because of the move to PHP 8.1, some changes will not be backwards compatible. This is especially true for extensions. Of course, we expect major vendors to roll out new extensions, and some already have. However, you should check the extensions you are relying on to ensure your store will continue to function correctly after the update.

Cross-check your installed extensions with the new changes.

The Magento 2.4.4 release has three major BIC updates:

  1. Changes to naming conventions for language package filenames
  2. New configuration option for “Inventory Check on Cart Load”
  3.  Significant changes for TinyMCE

For a thorough explanation of each one of these at both the high-level and detailed view, the best reference is Adobe’s own website detailing the backward incompatible changes in Adobe Commerce 2.4.4.

Magento 2.4.4 Fixed Issues

Before we talk about what to do next, it’s worth mentioning the issues fixed in the “final Magento” release. We say final because the software will keep getting better. However, this is a major change with the move to PHP 8.1, and we expect the codebase and platform to remain stable for a significant time before another big change.

We’re going to show you twelve of the major fixes, but the full list is well over 40 items long. Once again, the best information here is on the Adobe Commerce 2.4.4 release notes page.

So, here’s a list of the known issues the Adobe Commerce team fixed for the new release.

Cart and Checkout

  • Enhanced user experience for guest checkouts.
  • The Order Summary section of the checkout page is improved. It displays the correct currency and amount for the selected country.
  • Improved free shipping threshold.
  • Checkout no longer fails when the billing address is missing the street field values. The error message is not shown during checkout.
  • For large-scale businesses, there is a new & optional asynchronous order processing. It will offer checkout support for higher traffic.
  • Minimum advertised price – link issue fixed.
  • Support for the guest shopper to checkout with several types of customer address attributes.
  • Improved free shipping threshold for table rates.

Catalog

  • Daily catalog rules updates will not degrade performance.
  • Magento will not remove catalog and cart price rules on configurable products.
  •  The mass attribute update action on the product grid is improved.
  • Magento no longer modifies related product prices. It was previously done when the product attributes changed.
  • You can now re-assign the final product remaining in a category.
  •  You can use GraphQL queries to get scheduled updates for categories.

Bundle Products

  • You can now add a bundle product with Fixed Product Tax.
  • Currency conversion bug fixes for bundled products.
  • The cache cleaning algorithm during re indexing has been optimized.
  • Bundled products are displayed as expected when a category is cached.
  • Support to add bundle products with fixed product tax.
  •  Fixed cron to clear product category cache for bundle products.
  • Optimized cache cleaning algorithm for bundle products.

Page Builder

  • Page Builder is now compatible with PHP 8.1
  • The phpgt/dom Composer dependency for the magento/magento2-page-builder extension is upgraded to the latest versions.
  • The menu for Page Builder Table Properties is improved.
  • The font size to display the Page Builder Table menu and default store view is optimized.
  • Magento will not convert all dynamic blocks to one language during an upgrade.
  • Improved positioning of Insert/Edit Image and Insert/Edit Link pop-up windows.
  • Fixed issues regarding Text Editor for a banner in Page Builder.
  • Adobe Commerce will no longer convert all dynamic blocks to one language during the upgrade.

GraphQL fixes

  • The set BillingAddressToCart mutation is now fixed. It correctly uses the same_as_ shipping parameter to set the billing address.
  • The Configurable CartItem mutation is fixed. It now returns the requested data as expected.
  • MySQL queries are optimized for GraphQL products queries. It uses search parameters to refine search results.
  • GraphQL now returns configurable child products as expected. It is done despite being turned off at the website level.
  • The MDVA-39935 patch will be compatible with Magento 2.4.1 – 2.4.3
  • The addProductsToCompareList mutation can now be used to compare configurable products.

Payment methods

  • The Venmo payment method is now supported.
  • The correct store ID is now used to retrieve saved credit cards on orders.
  • Anomalies with PayPal Credit display of gift cards are resolved.

Tests

  •  WebAPI tests are now compatible with PHP 8.1
  • You can test the shopper experience for a specific country. It need not be the merchant’s location.
  • New tests to verify custom date attribute format for the storefront and Admin.
  • Functional tests are stabilized for PHP 8.x
  • Unit tests have been upgraded to use PHPUnit instead of AspectMock

Email fixes

  • Magento has fixed the error message in the shipment details.
  • Region and country ID values are properly converted in email templates. Previously, it did not display the values correctly.
  •  Order and shipment notification emails are fixed.
  • Email field validation errors on the checkout are fixed.

Magento Coding Standards

  • Updated phpunit/ phpunit to the latest version for the magento-coding-standard repository.
  • The webonyx/graphql-php dependency is updated to version ^14.9
  • Magento2.PHP.ArrayAutovivification is added to identify the auto creation of arrays from a false value.

PayPal fixes

Display of error during checkout with PayPal Express is fixed.

Installation, upgrade, and deployment

  • The new version can log an issue or static content deployment errors in build log files.
  • Initially, patches could insert duplicate values, which corrupted the database.
  • Data patches can no longer ignore a table’s unique constraints. It will not add duplicate values into a MySQL database table.

General fixes

  • After a second failed login attempt, shoppers are redirected to the login page. Previously, Magento displayed a 404 error page.
  • Data migration tool can be used to migrate Magento 1. x store data to Magento 2.4.4
  • Administrators can retry operations that are running over the max processing time. The default maximum is 12 hours.
  • Adobe Commerce no longer duplicates an existing CMS page. Initially, it created a new node in the CMS hierarchy.

What Should You Do Next?

So, now you have seen at least some of the big changes coming through with Magento 2.4.4. What should you do about it?

Let’s look at some options:

  1. Do nothing, or wait for the code to stabilize. With the changes to vendor bundled extensions, PHP 8.1, and the known backward incompatibility issues, doing nothing isn’t really a good option. However, if your store is already humming along on a previous version of Magento, then creating an updated version in a sandbox to test the features may be a good choice.
  2.  Do a DIY upgrade quickly. You could make a quick upgrade and see what breaks. Okay, that sounds disastrous. Really, Magento store owners can work through the release notes themselves and try to resolve any of the known issues with extensions and older versions they may be using.
  3.  Hire a professional to get it done right. Of course this is a plug for our services. But Magento friends can be genuinely helpful. The changes are complex, there are many dependencies to verify, and the potential for something to need extra attention is really high. Unless you’re a certified expert or a glutton for punishment, we strongly recommend hiring professional devs to work through these changes on your behalf so you can focus on running your business.

Here’s what we think you cannot do:

Refuse to update.

Deciding to not update is, eventually, going to cause major problems. Older versions of PHP will stop being supported, new vendor functions will not be backward compatible, and the list of problems will probably grow by the week and month.

So, if you’re ready to start planning your update, then let’s have a chat. Book a call with one of our experts and we can help you assess how to plan the update process to ensure your store stays operational and continues to make money.

Chat with an Expert Today

Our Leadership

TJ Gamble

CEO

Shane Rodgers

Director, Operations

Alex Schreck

Director, Sales & Partnerships

Dave Christy BigCommerce & Adobe Expert

Dave Christy

Director, Delivery