Atwix MageNews – July 2019

Welcome back to Atwix MageNews!
We’ve collected hot summer Magento updates from new releases to upcoming architectural changes and experience from conferences for you. Don’t wait, enjoy the post and don’t forget to share it with your friends!
We are starting 🙌

Not to Miss

Magento 2.3.2 Available

Magento has released a new patch version 2.3.2 including fixes and improvements to previous versions: 2.2.9 and 2.1.18.

Magento 2.3.2 started to depend on crypto library Libsodium version 1.0.13 and higher. Now, it’s needed to make sure that the server has the right version of the library before installing the new version of Magento.

This release includes 75 security improvements. Starting from 2.3.2 these issues will be assigned by indexed Common Vulnerabilities and Exposures (CVE) numbers.

Performance improvements are also included and here are some of them:
– Magento finally has a store configuration option that enables deferred loading and parsing of storefront JavaScript by moving unnecessary JS components to the website footer
– after refactoring the way of concurrent access to the block cache storage, page response time under high load has been improved by 20%

Besides that, version 2.3.2 is packed with a huge number of quality improvements and fixes. Here are just a few of them highlighted:
– Braintree payment method became available for Magento one page checkout with multiple addresses
– Amazon Pay integration complies with the PSD2 directive
– The Magento one page checkout page now provides the ability to search addresses instead of listing addresses only on the Select shipping and billing address steps, which is extremely helpful if the customer has hundreds of saved addresses
– Module list in config.php became more determined and stopped showing a lot of changes when the module list is changed
– Magento supports Zookeeper as a Cron lock provider to prevent duplication of job executions

More Info:
[Magento DevDocs] Magento Open Source 2.3.2 Release Notes
[Magento] Magento 2.3.2, 2.2.9 and 2.1.18 Security Update 1/3
[Magento] Magento 2.3.2, 2.2.9 and 2.1.18 Security Update 2/3
[Magento] Magento 2.3.2, 2.2.9 and 2.1.18 Security Update 3/3
[Github] Make the module list more deterministic
[Nexus] PSD2 (the second Payment Services Directive) explained in 3 minutes
[Magento DevDocs] Configure the lock provider

New Magento Merchant Docs

Magento has rebuilt the MerchantDocs using the same stack technologies which are currently used for DevDocs (Jekyll-based static website generation). The new resource stores guidelines for Magento Open Source, Magento Commerce and B2B modules. The MerchantDocs will be also opened for community contributions soon.

More Info:
[Magento MerchantDocs] Magento Open Source 2.3 User Guide
[Magento MerchantDocs] Magento Commerce 2.3 User Guide
[Magento MerchantDocs] Magento Commerce for B2B 2.3 User Guide

Magento Coding Standards on Marketplace

Magento is going to use Magento Coding Standards version 3 in Magento Marketplace Extension Quality Program starting from July. These standards will affect automatic static code checks that are applied on Magento Marketplace modules and bring two different levels of sniffs: warnings and errors which will be updated with different frequency. Check out new standards below and make sure your modules are compatible with them.

More Info:
[Magento DevBlog] Code Sniff Test Updates for the Extension Quality Program
[Github] Magento Marketplace Extensions Verification
[Github] Magento Coding Standard Releases

Magento Glossary

Magento kicked off a brand new glossary project where you can find list of terms and words that are used in Magento products. Magento powered the Glossary by GatsbyJs, using it as a JS static-website generator. And now this project is officially open for community contributions.

More Info:
[Magento] Magento Glossary Project
[Magento DevBlog] New Magento Glossary is live!
[Github] How to Contribute to Magento Glossary?

Goodbye, Magento 2.1

Magento 2.1 has reached its End-of-Support. Make sure you are updated.

Community Experience

Conferences

There were three big conferences in the Magento Community: Meet Magento Germany, Meet Magento UK, MageTitans NL and ES. We’ve collected all publicly accessible presentations for those who could not make it to the events.

MM19DE:
[thephp.cc] Stefan Priebsch – Personalization and Performance
[SlideShare] AOE – Flamingo – Inspiring Commerce Frontend made in Go
[Yireo] Jisse Reitsma – How Magento extensions will fit into PWA
[SlideShare] Divante – How is Possible to Grow from On Site to Worldwide Ecommerce (Senetic Case Study)

MM19UK:
[Dropbox] Antonija Tadic – 10 tips to get the most of your dev team
[SlideShare] Dan Coleman – From Bigamy to Polyamory: Managing Complex Agency Relationships
[GoogleDocs] John Hughes – Stop refreshing the indexes

MT19NL:
[GoogleDocs] Willem Wigman – Building a React checkout for M2
[Github] Ivan Chepurnyi – Building Cluster Application in Pure PHP for Magento 2
[Yireo] Jisse Reitsma – How can we enforce better Magento extensions?
[GoogleDrive] Michiel Gerritsen – Getting started with testing in Magento 2

MT19ES:
[SlideShare] Alessandro Ronchi – Awesome architectures in Magento 2.3

PWA on Magento Commerce Cloud

Magento added a detailed instruction on how to install Magento PWA for the existing Magento Commerce Cloud projects.
More Info:
[Magento PWA Docs] Magento Cloud deployment

Open Source

Replaced Unused Modules

Jisse Reitsma created a composer metapackage that can automatically disable Magento Open Source bundled modules which are rarely used. The approach is based on the integer_net investigation in that topic that we’ve reviewed in our MageNews April edition.
More Info:
[Github] Magento 2 removal of all optional modules

Architecture

Storefront API

Magento has announced a technical vision for a new Storefront API. Performance is the main reason for this proposal. New API should support batch operations and should be stateless. In the near future, we will have Storefront API separated from Magento Admin APIs, they also may rely on different databases according to the current technical vision. Below you can find how the implementation of a new API can look like for Product Search API and other.

More Info:
[Github] Storefront API Technical Vision
[Github] Storefront API (implementation details)
[Github] Lightweight GraphQL resolvers

New Checkout Architecture

Magento Architecture team has started working on a new design for checkout workflow in GraphQl API. The idea is to try to separate the concerns of Shopping Cart, Quote and Order.

The Shopping Cart is going to be a container for products that the customer wants to buy and it will be dependent on the Catalog.
The Quote is going to know everything about totals and will be dependent on Shopping Cart. The Quote is going to still be used to create the Order. The Order is going to be dependent on the Quote.

This is how Magento design direction looks like. Find more information below:

More Info:
[Github] Alternative Checkout Flow
[Youtube] Magento Architectural Discussion – June, 19, 2019

Cron Should be Improved!

Cron feature also got its proposal to be improved. The proposal includes “out of the box” Cron job multi-threading which should increase the reliability of business-critical operations and make them less dependent on each other. The proposal also takes care of Cron user experience including job visualization, improved logging and alerting and more control over job executing like the ability to stop or retry failed jobs.

Find the proposal link below and don’t hesitate to jump into the discussion.

More Info:
[Github] Cron proposal

Upcoming Events. Don’t Miss!

– July 24-25th – Online Retailer Australia, Sydney, Australia
– September 27-28 – MageCONF 2019, Kyiv, Ukraine

Want more?

Need help with Magento 2 maintenance services? Atwix would be happy to help!

Make sure to be the first for our August MageNews digest – subscribe to our blog to not miss a thing.

See you in a month!

Other Digests:
Atwix MageNews – May 2019
Atwix MageNews – June 2019