Magento 2.3 was announced at the Magento Imagine in april 2018 conference. This next major release has significant and exiting new functionality and improvements.
This article will outline the most exciting features which this new release, scheduled later this year..
- Progressive Web App (PWA)
- GraphQL support
- Declarative DB Schema
- Asynchronous and Bulk Web API
- Elasticsearch Updates (Moved to Magento Open Source)
- Complete PHP 7.2 Support
- Multi Source Inventory (MSI)
- WYSIWYG Upgrade
- Page Builder
- Cache-Management ACL
- Google reCAPTCHA and Two Factor Authentication
Progressive Web App (PWA)
Magento has been forging ahead with the development of PWA Studio -- a suite of tools that allow you to develop, deploy and maintain a PWA storefront on top of Magento 2.
At the moment, the beta is out already, and you can work around with following Magento PWA guide here. Once Magento PWA solution is stable, it is going to be the go-for-option for merchants over native apps. It allows to build fast and simple front-end with app-like experiences on mobile devices.
Core features of Magento’s PWA Studio include:
- Tools to personalize content and add local preferences;
- Build and manage all channels and experiences via one code base, one deployment and app;
- Intuitive user experience with innovative commerce and CMS theming;
- Modularized component architecture to help drive opportunities for extension resellers;
- Purpose-built developer tools for fast prototyping, helpful debugging, rich feedback, and increased productivity
Please note PWA Studio requires GraphQL capabilities which is only available in Magento 2.3 releases. For more information, you can read about Magento PWA Studio here.
Introducing the new GraphQL API language is one of the biggest moves in Magento 2.3.
GraphQL is a data query language developed by Facebook and publicly released in 2015. Magento 2.3 implements GraphQL as an alternative API endpoint in addition to REST and SOAP.
GraphQL opens up data retrieval possibilities for PWAs by allowing to request exactly the data that you need and also giving the ability to join data in a single request. To put it another way, you can efficiently get smaller amounts of data and to make fewer API requests. This is an advantage over a traditional SOAP / REST request which always returns all data associated with an endpoint, and needs at least one request per resource.
So, using GraphQL allows a Magento PWA to be quick even on slow mobile network connections. You can take a closer look into a whole host of other GraphQL’s benefits on this post.
Declarative DB Schema
Magento 2.3 introduces a new approach -- declarative database schema, allowing developers to define database structures and changes in XML files, instead of defining with install scripts. Magento will convert the XML schema files into SQL statements and perform them.
The new declarative schema provides a big advantage: rollback support. This means you can roll back database changes you implement on a module or functionality to a previous version. It also simplifies the Magento installation and upgrade processes.
Asynchronous and Bulk Web API
Asynchronous API in Magento 2.3 is an important community contribution by @comwrap, @balanceinternet and @buskamuza. It enables to process a large number of API requests asynchronously without waiting for the response from the server.
In the traditional API approach, Magento may take a while to process the response and the client will be waiting a significant amount of time for a response. And the bigger the number of changes and products are, the longer it takes.
In contrary, the asynchronous API in Magento 2.3 works over message queue (previously, reserved for Magento Commerce only) that allows to execute Web API asynchronously and complete tasks in the background. It gives you the ability to make batch processing with ease which is a huge advantage for big sites with daily bulk API requests i.e. inventory import, order status updated from ERP system etc.,
The below video will explain in more details about how asynchronous API in Magento 2.3 helps to ease strain on your application.
Elasticsearch Updates (Moved to Magento Open Source)
Finally, ElasticSearch will be made available to Magento Open Source users while previously reserved for Magento Commerce only. This gives merchants the opportunity to integrate a powerful search capabilities in their shops, including faceted search -- filtering by attributes.
Elasticsearch may become a default search engine in the future. For now, Magento 2.3 will support the latest Elasticsearch v5.
Complete PHP 7.2 Support
Support for PHP 7.2 will be added in Magento 2.3. This allows Magento 2 stores to stay on top of the latest supported technologies.
PHP 7.2 will bring new development features, enhance performance and security. Especially, since PHP 7.2 ultimately removes PHP encryption module ‘mcrypt’, Magento 2.3.x will migrate from mcrypt to libsodium for password hashing.
Multi Source Inventory (MSI)
Another vital improvement introduced in Magento 2.3 is Multi Source Inventory (MSI).
MSI allows merchant to manage all inventory sources without any third-party extensions or platforms. This functionality enables stock management in multiple locations so that merchants can properly reflect their physical warehouses in Magento system for fulfillment.
Additionally, MSI helps to improve checkout performance by incorporating a reservation system.
Reservation refers to a mechanism that reserves some product quantity in stock instead of automatically decrementing inventory when the order is placed. This keeps inventory amount (product quantity) up-to-date without locking at the time of checkout and eliminates re-indexing and performance issues during peak order times.
Besides, it also introduces better import/export process for inventory to speed up integration with an external ERP system.
The WYSIWYG editor -- TinyMCE -- is upgraded from version 3 to version 4 in Magento 2.3. It brings new enhancements for a highly customizable WYSIWYG: Widgets, variables and media gallery are implemented as plugins and can be defined globally or on per shop instance.
TinyMCE 3 will be deprecated and planned for removal in Magento 2.4.
A much requested addition to the Magento core is the Page Builder functionality that enables merchants to create customized pages without having to write code. The tool uses a simple drag-and-drop interface based on the revised Bluefoot CMS extension which Magento bought a long time ago. You can check out this post from Alan Kent for a detailed look at the technical side of the Bluefoot integration.
The Page Builder will be a part of core code in the Magento Commerce. For Magento Open Source, there will be an option to purchase, however the price is not known yet.
Another useful improvement in Magento 2.3 is a granular cache management ACL. You can control exactly which user roles can view and delete the Magento caches.
This feature is handy when you have new team members who might need time to fully interact with the system cache. Under this circumstance, you can control what level of Cache management a given team member can perform.
Google reCAPTCHA and Two Factor Authentication
Magento 2.3 incorporates reCAPTCHA, a free Google service that protects your website -- login, register, contact form pages, for example -- from spam and abuse. Google reCAPTCHA doesn’t solely prompts shoppers to check a box to prove that they’re not a robot before they complete a task. Rather it uses advanced risk analysis techniques, evaluates a broad range of cues that distinguish humans from bots.
Magento 2.3 also adds two-factor authentication to protect against malicious attempts to access your Magento admin panel. This additional layer of security has become standard practice among many web applications.
Try Magento 2.3 beta
Now that we know what’s included in Magento 2.3’s release, to try Magento 2.3 beta, you can download it from HERE.
Of course our Best4Mage team will make sure all Magento 2 extensions will work seamlessly with this new version.