Magentoはこのところ概ね3ヶ月ごとに新バージョンをリリースしています。
今回は2.1/2.2/2.3系全てでアップデートが行われています。

重要なお知らせ

Magento2.1系については今回のアップデートが最後となり、2.1.18をもってメンテナンス終了となります。
2.2系は今年いっぱいはメンテナンスされる予定となっているため、あと2回ほどアップデートが行われる予定となっています。
2.3系は5月のImagine2019でメンテナンスポリシーの変更が告知されたため、2021年9月末までセキュリティFixが継続されます。

Magento2.1系をお使いの方は、2.3系にアップデートされることを強くおすすめします。Magento2.1/2.2系から2.3系へのアップデートについては、Magento内部の実装にかなり差がある部分があるため注意が必要です。

Magento2.3.2のハイライト

ここでは主にMagento2.3.2で行われた改良点について取り上げたいと思います。
セキュリティFixについては別記事を参照してください。

パフォーマンス改善

チェックアウト画面の住所選択UIに対する改良

非常に多くの住所データを登録している顧客が住所を選択しやすいように、住所検索機能が追加されました。
この機能はデフォルトで無効化されているため、有効にする場合は管理画面から有効にする必要があります。

フロントエンドページのレスポンスタイム改善

商品一覧、キーワード検索、詳細検索のパフォーマンスが向上し、より多くのアクセスに耐えられるようになりました。

ブロックキャッシュストレージに対する並列アクセス性能の改善

ブロックキャッシュに対するアクセス方法が改善され、並列性処理性能が向上しました。
その結果、高負荷時のページ読み込み性能が20%ほど改善しています。

商品ページのギャラリー表示に対する最適化

商品詳細ページのギャラリー表示が従来のバージョンより高速化されました。
従来バージョンではページ読み込み完了後、1〜2秒程度かかっていました。

フロントエンドでのJavaScript遅延読み込みによる描画パフォーマンスの改善

ページの描画に必須ではないJavaScriptコードの読み込みが改善され、ページHTMLの先頭部分から下部に移設されました。
この改良はページ読み込み・描画最適化でよくみられる方法です。

なお、この設定は標準で無効になっています。有効にする場合は、

店舗>設定>開発者向け>JavaScript設定

で「Move JS code to the bottom of the page」を有効にする必要があります。

フレームワークの改良

コアフレームワークの以下のモジュールに対し、130件の改良が行われています。

  • Catalog
  • Sales
  • Checkout/One Page Checkout
  • UrlRewrite
  • Customer
  • UI

また、以下の変更も行われています。

  • Braintree決済が複数アドレスチェックアウトに対応
  • UPSモジュールのゲートウェイURL変更
  • Google chart APIがImage-Chartsに変更

管理者機能の改善

以下の処理が非同期処理化され、管理者は処理の完了を待たずに他の操作を行えるようになりました。
なお、処理の完了は別途管理画面上のメッセージとして通知されます。

  • クーポンコードの生成
  • 商品の一括更新
  • データエクスポート

在庫管理機能の改善

Magento2.3系の目玉機能であるInventoryですが、2.3.1での改良に続き、2.3.2でも様々な改良が加えられています。

新コマンドの追加

販売可能数量の不整合を検出するための以下のコマンドが追加されました。

  • inventory:reservation:list-inconsistencies
  • inventory:reservation:create-compensations

倉庫と商品を関連付けるUIの改良

在庫のある倉庫と商品を関連付けるユーザーインターフェイスが改良されました。また、以下のUIリデザインも行われています。

  • 注文数量で小数点以下をサポート
  • クレジットメモに関するテストシナリオが追加
  • InventoryGraphQlモジュールで商品在庫数に対する正確な情報を提供するように改良
  • 単独商品の更新(旧在庫管理機能を用いた非同期更新)
  • 複数商品の一括更新
  • 一括在庫更新

一括更新用APIエンドポイントの新設

一括更新で倉庫間の在庫移動を行うAPIが新設されました。

その他不具合修正

その他多くの不具合修正が行われています。詳しくは専用のリリースノートを参照ください

GraphQLの改善

PWA対応や外部システムからMagento上のデータを従来のWebAPIより高速かつ柔軟に取り出せるGraphQLですが、今回のいくつかアップデートが行われています。

キャッシュ機能の追加

以下のデータに対するキャッシュ機能が追加されました。

  • カテゴリ
  • CMSブロック
  • CMSページ
  • 商品
  • URL書き換え

なお、これらのデータに対するキャッシュを有効にしたい場合、GraphQLエンドポイントへGETでアクセスする必要があります。
POSTでアクセスするとキャッシュされないので注意が必要です。

GraphQL利用可能領域の拡充

2.3.2でGraphQLの利用できる領域が拡充されました。

  • シンプル及び仮想商品
  • カート商品の追加・更新・削除
  • 配送先住所の設定(アドレス帳サポートあり)
  • 請求先住所の設定(アドレス帳サポートあり)
  • 配送方法の設定
  • 支払方法の設定(オフライン決済のみ)
  • 注文の確定

GraphQLに対するパフォーマンステストシナリオの拡充

GraphQLに対するテストシナリオが追加され、購入や商品閲覧時のパフォーマンス測定ができるようになりました。

PWA Studioの改善

実装内容の整理が行われ、モジュール構造の見直しが行われています。Peregrineライブラリを用いた構造にシフトし、機能の再利用がしやすい形に段階的に移行する予定となっています。

その他

Amazon Pay連携がイギリスとドイツむけにPSD2対応となりました。

また、それ以外にも多くの不具合修正が行われていますので、気になる方はリリースノート全文を見られることをおすすめします。