現在のMagentoの最新版は2.3.5-p1ですが、次期メジャーパージョンである2.4のbeta版が公開されました。
今回は2.4系で何が変わるのかについてリリースノートから抜粋して紹介したいと思います。

セキュリティ面の改良

まず最初は、セキュリティ面の改良です。

  • 2要素認証が管理画面に対し「デフォルト有効」に
  • CMSやブロック、メールテンプレートの「strict mode」が「デフォルトで有効」に
  • UI data providerへの描画処理が「デフォルトで無効」に
  • Content Security Policy(CSP)の改良

と、4つの改良が含まれています。

2要素認証が管理画面に対し「デフォルトで有効」に

2要素認証は管理画面への不正ログイン対策としては有効です。これまでも導入はされていましたが、デフォルトでは有効になっていませんでした。
管理画面に対してIPアドレスやネットワークレベルでのアクセス制限を掛けられない環境では、どうしても管理画面へのログイン総当り攻撃のリスクがあります。
2要素認証を利用することで、そういった環境における不正ログインのリスクを低減できるのではないでしょうか。

CMSやブロック、メールテンプレートの「strict mode」が「デフォルトで有効」に

CMSページやブロック、メールテンプレートを処理する際の処理モードが2.4系からはデフォルトで「strict mode」になります。
strict modeではリモートコード実行などができなくなり、より安全性が高まるとされています。

UI data providerへの描画処理が「デフォルトで無効」に

2.4系ではUI data providerを介した不正なJavaScriptをクライアントブラウザに送信できなくなります。

Content Security Policy(CSP)の改良

2.3.5から導入されている「CSP」。2.4系ではインラインCSSやJavaScriptをホワイトリスト定義できるようになります。

プラットフォームのアップデート

続いてはプラットフォームのアップデートです。

  • 対応PHPバージョンの変更
  • 対応MySQL/MariaDBバージョンの変更
  • Elasticsearchによる検索が標準になり、MySQL検索が廃止
  • 対応Elasticsearchバージョンの変更
  • Zend FrameworkからLaminas projectへの移行
  • Signifyd連携の削除
  • Braintree連携の削除

といった内容が予定されています。

対応PHPバージョンの変更

PHP7.1/7.2が非対応になります。代わりにPHP7.4が対応バージョンに入ります。

対応MySQL/MariaDBバージョンの変更

MySQL 5.6とMariaDB 10.0/10.1が非対応になります。代わりにMySQL 8.0とMariaDB 10.4が対応バージョンに入ります。

対応Elasticsearchバージョンの変更

Elasticsearch5.xが非対応になり、代わりに7.xが対応バージョンに入ります。

Elasticsearchによる検索が標準になり、MySQL検索が廃止

長らくMagentoではMySQLに対する直接検索が標準でしたが、2.4系からはElasticsearchが標準の検索エンジンとなり、MySQLに対する検索機能は廃止されます。
この変更はカタログ検索に対して行われます。独自に実装した検索機能については対象外です。

Zend FrameworkからLaminas projectへの移行

2.3.5でも既に含まれていますが、Zend FrameworkからLaminas projectへの移行が進められます。2.3.5で除去しきれなかった実装の移行が行われています。

Signifyd連携の削除

不正利用検知サービス「Signifyd」の連携機能が標準インストールから削除されます。引き続きSignifydを利用したい場合は、Marketplaceからエクステンションを入手する必要があります。

Braintree連携の削除

Signifyd連携と同様に、Braintree連携も標準インストールから削除されます。引き続き利用したい場合は、Marketplaceからエクステンションを入手する必要があります。

基本機能の改良

以下の改良が予定されています。

  • サードパーティ製決済連携の削除
  • Elasticsearchによる部分一致検索の実装
  • PayPal JavaScript SDKのアップグレード
  • Webセットアップウィザードの非推奨・削除
  • Composerアップデートの改良


サードパーティ製決済連携の削除

以下のサードパーティ製決先連携が標準インストールから削除されます。

  • Authorize.net
  • eWay
  • CyberSource
  • Worldpay

引き続きこれらの決済サービスを利用したい場合は、Marketplaceからエクステンションを入手する必要があります。

Elasticsearchによる部分一致検索の実装

ページにヘッダー部分にある検索フォームから検索を行った場合に、Elasticsearchでの部分一致検索ができるようになります。

PayPal JavaScript SDKのアップグレード

PayPal Express Checkout連携が最新のJavaScript SDKを使用して実装し直されました。より強固なセキュリティと新しい機能が利用できるようになっています。

Webセットアップウィザードの非推奨・削除

Magentoのインストールはコマンドライン経由が必須になりました。

Composerアップデートの改良

Magentoをアップデートする際には、Composerによるアップデートが推奨されています。
Composer update pluginが新たにリリースされ、アップデートの際に発生しやすい依存関係の問題に対処しやすくなっています。

パフォーマンスの向上

2.4系では以下のパフォーマンス改善が行われています。

  • Customer data sectionの期限切れロジックの改良
  • Redis連携のパフォーマンス改善
  • 在庫管理処理におけるデータベース問い合わせ結果キャッシュ処理の改良

その他の改良

その他、非常に多くの改良が施されています。
もちろん以下のサブプロジェクトも改良が行われています。

  • PWA Studio
  • GraphQL
  • Inventory Management

終わりに

Magenrto2.4.0は現在beta版です。
まだ正式版ではないので、あくまでも開発者の評価版という位置づけです。絶対に本番サービスで使用しないでください。

2.4系のリリース後、現在の2.3系は1年ほどでメンテナンス終了になる予定です(期限は明確に示されていません)。
2.4系ではElasticsearchが必須になるため、現時点でLightsailなどのサービスを用いて運用されている方は、構成の見直しが必要になるでしょう。