最近のMagento Quality Patch〜2024第1四半期編

以前の記事「Magento Quality Patchesを使ってパッチ適用をする」では、Magento Quality Patchの適用方法について紹介しました。
今回は、2024年になってからリリースされたパッチについて紹介していきたいと思います。

2024年になってからリリースされたパッチの整理

まず最初に、2024年になってからリリースされたパッチのバージョンについて確認しておきましょう。
Experience LeagueGithubをみると、以下のパッチがリリースされていることがわかります。

  • v1.1.44(1/22リリース)
  • v1.1.45(1/30リリース)
  • v1.1.46(2/16リリース)
  • v1.1.47(2/26リリース)

なんと4回もパッチリリースが行われています。
セキュリティリリースは2月の1回だけですが、こちらは1〜2週間に1回の頻度でリリースされていることになります。
では、各パッチの詳細を見ていくことにしましょう。

なおリリースノート上では以下の区分けしかありません。

  • Magento Open SourceとAdobe Commerce共用
  • Adobe Commerce専用

実際にはリリースノートをよく読むと、Adobe Commerce B2B向けのパッチが含まれていることがわかるため、本記事ではB2B向けを分けてカウントしています。

v1.1.44(1/22リリース)

このリリースでは、新たに10個のパッチが追加され、3個のパッチがアップデートされました。
追加分の内訳としては、

  • Magento Open Source向けのパッチは6件
  • Adobe Commerce向けのパッチは2件
  • Adobe Commerce B2B向けのパッチは2件

となっています。

v1.1.45(1/30リリース)

このリリースでは、新たに7個のパッチが追加され、1個のパッチがアップデートされました。
追加分の内訳としては、

  • Magento Open Source向けのパッチは4件
  • Adobe Commerce向けのパッチは2件
  • Adobe Commerce B2B向けのパッチは1件

となっています。

v1.1.46(2/16リリース)

このリリースでは、新たに6個のパッチが追加され、2個のパッチがアップデートされました。
追加分の内訳としては、

  • Magento Open Source向けのパッチは3件
  • Adobe Commerce向けのパッチは2件
  • Adobe Commerce B2B向けのパッチは1件

となっています。

v1.1.47(2/26リリース)

このリリースでは、新たに4個のパッチが追加され、2個のパッチがアップデートされました。
追加分の内訳としては、

  • Magento Open Source向けのパッチは2件
  • Adobe Commerce向けのパッチは1件
  • Adobe Commerce B2B向けのパッチは1件

となっています。

注目したいQuality Patch

さて、2024年に入ってからリリースされたパッチの中で、私が注目したいものを取り上げたいと思います。
ユースケースによってはより重要度の高いパッチが存在する可能性がありますが、リリースノートをみる限り該当するケースが多そうなものを取り上げています。

ACSD-54656

このパッチは、Adobe Commerce 2.4.5系を対象としています。Magento Open Sourceは対象外です。
リリースノートでは

Fixes the issue where the invisible Recaptcha fails during checkout, preventing an order from being placed.

となっており、購入画面におけるInvisible ReCaptchaが失敗する不具合の修正です。
機会損失に繋がりかねない不具合なので、ReCaptchaを有効にしている対象バージョンの環境には適用したほうが良いでしょう。

あるいは、2.4.6以上にアップデートすることでも解決可能です。

ACSD-56842

このパッチはMagento Open SourceとAdobe Commerceの両方が対象で、2.4.2以上2.4.7未満のバージョンが対象です。
リリースノートでは、

Fixes the issue where the deferred proxies and the deferred proxy factories are missing after running setup:di:compile.

となっており、setup:di:compileコマンドの実行時に、遅延実行させるProxyやProxy Factoryが欠落するという問題を修正するものです。
di.xmlで定義している内容が欠落するという現象のようなので、Proxyなどを多用している場合は適用しておいたほうが良いでしょう。

ACSD-57003

このパッチはMagento Open SourceとAdobe Commerceの両方が対象で、2.4.6以上2.4.7未満のバージョンが対象です。
リリースノートでは、

Fixes the issue where the order status is changed to Complete instead of being changed to Processing when an order is partially refunded and partially shipped.

となっており、部分的に返金や出荷が行われた注文のステータスが「Processing」ではなく「Complete」になってしまう問題を修正するものです。
注文ステータスが適切でない場合は後続する処理ができなくなる恐れがあります。2.4.6系の場合にはあてておいたほうが良いかもしれません。

ACSD-57074

このパッチはMagento Open SourceとAdobe Commerceの両方が対象で、2.4.6以上2.4.7未満のバージョンが対象です。
リリースノートでは、

Fixes the issue where the Yes/No custom attribute with attrbute_code starting with price_ does not work properly with indexing, and products with such attributes are not available on the front end.

となっており、商品属性コードが「price_」で始まる「Yes/No」型の属性が適切にインデックス化されないため、フロントエンドで利用できないという問題を修正するものです。
このパッチが対象となるケースはかなり限定的ですが、当てはまる場合には困った事態(例えば絞り込みや検索で使えないなど)が発生する恐れがあります。

まとめ

Magento Quality Patchesは、定期的なAdobe Commerce / Magento Open Sourceのアップデートとは独立して提供されています。
本体アプリケーションのアップデートはリリーススケジュールに沿って行われていますが、Quality Patchesのリリースについては特にアナウンスもされていません。Githubリポジトリをウオッチしていないと簡単に見落としてしまいます。

とはいえ、Quality Patchの一覧ページでも以下のように警告されている通り、多くのパッチを適用することは避けるべきです。

We do not recommend using the Quality Patches Tool to apply large numbers of patches, because it increases the complexity of your code, which makes upgrading to a new version of Adobe Commerce or Magento Open Source more difficult.

まず本体アプリケーションのアップデートが優先であって、それでも直っていない事案に関してだけパッチを適用するのがセオリーです。
さらに、パッチを適用した場合は「どのパッチを適用したか」を必ず管理するようにしましょう。アップデート時にはすべてのパッチがリセットされてしまうため、再度適用し直しになります。
(アップデートと同時に修正されているものは再適用しなくても構いません)