[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

Magento Open Source 2.4.2 リリースノート

Magento Open Source 2.4.2 では、パフォーマンスとセキュリティの強化に加えて、プラットフォームが大幅に改善されました。 セキュリティの強化には、すべての cookie に対する SameSite 属性のサポートの拡張が含まれます。 Elasticsearch 7.9.x と Redis 6.x がサポートされるようになりました。

このリリースには、コアコードに対する 280 を超える新しい修正と、35 を超えるセキュリティ機能強化が含まれています。 コミュニティメンバーによる約 290 件の GitHub 問題の解決が含まれています。 これらのコミュニティの貢献度は、コアコードの小規模なクリーンアップから、GraphQLでの大幅な機能強化まで多岐にわたります。

2.4.1 で特定された既知の問題はすべて、このリリースで修正されました。

NOTE
Adobe Commerce リリースには、後方互換性のない変更(BIC)が含まれている場合があります。 後方互換性のない変更を確認するには、BIC リファレンス ​ を参照してください。 後方互換性のない主な問題については、BIC ハイライト ​ で説明しています。 すべてのリリースで主要な BIC が導入されるわけではありません。

AC-3022.patch を適用して、引き続き配送業者として DHL を提供します

DHL ではスキーマバージョン 6.2 を導入しており、近い将来、スキーマバージョン 6.0 を廃止する予定です。 DHL 統合をサポートするAdobe Commerce 2.4.4 以前のバージョンは、バージョン 6.0 のみをサポートしています。これらのリリースをデプロイするマーチャントは、DHL を配送業者として引き続き提供するために、できるだけ早い時期に AC-3022.patch を適用する必要があります。 パッチのダウンロードとインストールについては、ナレッジベースの記事 DHL を引き続き配送業者として提供するためのパッチを適用する ​ を参照してください。

セキュリティパッチを利用できます

マーチャントは、完全な四半期リリースが提供する何百もの機能修正や機能強化(たとえば 2.4.1-p1)を適用することなく、時間に依存するセキュリティ修正をインストールできるようになりました。 パッチ 2.4.0.12 (Composer パッケージ 2.4.1-p1)は、以前の四半期リリース 2.4.1 で特定された脆弱性の修正を提供するセキュリティパッチです。2.4.1 リリースに適用されたすべてのホットフィックスが、このセキュリティパッチに含まれています。 (ホットフィックス は、特定の問題やバグに対処するリリースバージョンの修正を提供します。)

セキュリティパッチの一般的な情報については、​ 新しいセキュリティパッチリリースの概要 ​ を参照してください。 セキュリティパッチ(パッチ 2.4.1-p1 を含む)のダウンロードと適用の手順については、​ オンプレミスでのクイックスタートのインストール ​ を参照してください。 セキュリティパッチには、セキュリティバグ修正のみが含まれ、完全なパッチに含まれる追加のセキュリティ機能強化は含まれません。

その他のリリース情報

これらの機能のコードは四半期ごとのリリースにバンドルされていますが、これらのプロジェクトのいくつか(例:Progressive Web Applications (PWA) Studio)も独立してリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。

ハイライト

このリリースのハイライトは次のとおりです。

セキュリティの大幅な強化

このリリースには、35 を超えるセキュリティ修正と platform セキュリティの改善が含まれています。 すべてのセキュリティ修正は 2.4.1-p1 および 2.3.6-p1 に移植されています。

リモートコード実行(RCE)およびクロスサイトスクリプティング(XSS)の脆弱性を閉じるのに役立つ 35 を超えるセキュリティ強化

これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、IP許可リストに加える、​ 二要素認証 ​、VPN の使用、/admin ではなく一意の場所の使用、適切なパスワードハイジーンなど、管理者を守るために必要なすべての手順を実行してください。 修正された問題の詳細については、Adobe セキュリティ速報 ​ を参照してください。

その他のセキュリティ機能強化

このリリースのセキュリティの改善点は次のとおりです。

  • すべてのコア cookie で SameSite 属性がサポートされるようになりました。

  • ユーザーがこれらのフィールドに値を保存しようとすると、製品およびカテゴリの説明フィールドに、悪意のあるコンテンツを特定するメッセージが表示されるようになりました。

  • 悪意のあるアップロードを防ぐために、コンポーネント間のファイルシステム操作が標準化および強化されています。

  • コアコンテンツセキュリティポリシー(CSP)の違反が修正されました。

NOTE
2.3.2 リリース以降、アドビは、外部関係者からアドビに報告された各セキュリティバグに対して、インデックス付きの Common Vulnerability and Exposures (CVE)番号を割り当て、公開します。 これにより、ユーザーはデプロイメント内の対処されていない脆弱性をより簡単に特定できます。 CVE 識別子について詳しくは、CVE を参照してください。

インフラストラクチャの改善

このリリースには、フレームワークと次の機能領域の品質を向上させるコア品質の機能強化が含まれています:顧客アカウント、カタログ、CMS、OMS、インポート/エクスポート、プロモーションとターゲティング、買い物かごとチェックアウト。

プラットフォームの機能強化

このリリースでは、分割データベースを使用するようにインストールを設定する機能は廃止されました。 現在、分割データベースを使用しているマーチャントは、単一データベースに戻す、単一データベースに移行する、または別の方法を使用する計画を開始する必要があります。 この問題の概要については、Magento Open Sourceでの分割データベース機能の廃止 ​DevBlog の投稿を参照してください。 移行手順については、​ 分割されたデータベースから単一のデータベースへの復帰 ​ を参照してください。

パフォーマンスの強化

このリリースには、大規模なカタログを含むデプロイメントの API パフォーマンスと管理者の応答時間を向上させるコード機能強化が含まれています。 複数のスケーラビリティの強化により、2.4.2 では、以前のリリースの最大 20 倍も大きい複雑なカタログをネイティブにサポートできます。

Adobe Stockの統合

このリリースにはAdobe Stock Integration v2.1.1 が含まれています。

GraphQL

このリリースでは、次の機能に対するGraphQLのサポートが追加されました。

  • ​ 比較リスト ​ のサポートを追加しました。 買い物客は、比較リストを ​ 作成 ​ および ​ 削除 ​ したり、比較リストに項目を ​ 追加 ​ および ​ 削除 ​ したりできます。 さらに、ゲストとして比較リストを作成した買い物客は、顧客としてログインし、比較リストを ​ 保持 ​ できます。

  • リモート購入の支援をサポートするために、generateCustomerTokenAsAdmin のミューテーションを追加し、Customer オブジェクトを更新しました。

  • 言語、買い物かご、通貨の変更などのタスクをサポートするために、ストア全体でローカライゼーションサポートを追加しました。

  • GraphQLでの和集合のサポートを追加しました。 GitHub-29425

  • GraphQL スキーマが強化され、多くのバリアントを含む設定可能な商品の商品データ取得を最適化しました。

  • 整数タイプのオブジェクト ID は、タイプ ID の uid 属性に置き換わり、非推奨になりました。

  • 製品がステージングされているかどうかを判断し、関連するキャンペーン情報を表示するために、stagingProductInterface と ​ CategoryInterface に ​ 属性を追加しました。

これらの機能強化について詳しくは、GraphQL開発者ガイド ​ を参照してください。

PWA Studio

このリリースのPWA Studioには、次が含まれます。

  • 国際化とローカリゼーション。 Venia では、複数の言語と通貨をサポートするようになりました。

  • 拡張機能を通じてコードの変更をサポートする拡張フレームワークを改善しました。

  • ウィッシュリスト、保存済みの支払い、アドレス帳、注文履歴など、マイアカウント関連の機能の初期コンポーネント。

  • 様々なパフォーマンスの最適化とバグ修正。

機能強化とバグ修正について詳しくは、PWA Studio リリース ​ を参照してください。 PWA Studioのバージョンと互換性のあるバージョンのリストについては、​ 互換性 ​ を参照してください。

メディアギャラリー

メディアギャラリーの新しい役割リソース。 このリリースでは、マーチャントは、管理者アクセスをメディアギャラリーのみに制限したり、これらのアクションを実行できるユーザーを制御したりできます。

  • コンテンツへのメディアアセットの挿入

  • アセットのアップロード

  • アセットの詳細を編集

  • メディアギャラリーからのアセットの削除

  • フォルダー構造を管理する。

コンテンツ内の web に最適化された画像。 マーチャントは、高解像度の画像ではなく、コンテンツで web に最適化された画像レンディション ​ を使用できるようになりました。 元の画像はメディアギャラリー内で変更されずに残り、画像がコンテンツに挿入される際に画像レンディションが動的に生成されます。

機能テストフレームワーク(MFTF)

MFTF 3.2.1 が利用可能になりました。 このリリースでは、テストとテストスイートの生成の両方でエラー許容値が導入されています。 その他の機能強化とバグ修正については、​ 機能テストフレームワークの変更ログ ​ を参照してください。

ベンダーが開発した拡張機能

このリリースの機能および変更点については、以下の記事を参照してください。

AWS S3 のサポートの強化

Amazon Simple Storage Service (AWS S3)のサポートが強化され、次のサポートが含まれるようになりました。

修正された問題

2.4.2 コアコードの何百もの問題を修正しました。

インストール,アップグレード,デプロイメント

  • マーチャントは、MySQL 8.x を実行する Open Source デプロイメントをCommerce デプロイメントに正常にアップグレードできるようになりました。 以前は、アップグレード中に AUTO_INCREMENT が追加されたすべてのテーブルで row_id 値が初期値に戻った場合、アプリケーションで例外がスローされていました。
  • bin/magento/setup:db:generate-patch の実行時にエラーが発生した場合、パッチの作成に使用されたパスを識別するエラーメッセージが表示されるようになりました。 GitHub-27523
  • block_htmlfull_pagelayout のキャッシュは、実 bin/magento/setup:upgrade 行後、期待どおりに無効になりました。 GitHub-28186
  • bootstrap.php で最低限必要な PHP バージョンが更新されました。 GitHub-30004
  • サンプルデータをインストールした後で bin/magento/setup:upgrade を実行できるようになりました。 以前は、bin/magento/setup:upgrade を実行しようとすると、アプリケーションに「unable to apply data patch magento\catalogrulesampledata\setup\patch\data\installcatalogrulesampledata for module magento_catalogrulesampledata」というエラーが表示されていました。 アプリケーションのシステム ログにも次のエラーが表示されました:main.ERROR: Sample Data error: Unable to unserialize value. Error: Syntax errorGitHub-30685
  • コマンドラインからYouTube API キーを期待どおりに設定できるようになりました。 以前は、bin/magento config:sensitive:set catalog/product_video/youtube_api_key: There are no sensitive configurations to fill を実行しようとすると、アプリケーションによってこのエラーが返されていました。
  • アプリケーションは、maxMessages で定義された queue_consumer.xml の値に従うようになりました。 以前は、アプリケーションはデプロイメント設定値のみを使用していました。 GitHub-29522
  • bin/magento setup:config:import を使用してストアを作成する際に、新しいストアの URL 生成が期待どおりに動作するようになりました。 以前は、実稼動環境で URL の書き換えが生成されていませんでした。 GitHub-30025
  • Magento Open Sourceをインストールした後に backend-frontname コンテナを使用して ssh を変更しようとすると、アプリケーションがエラーをスローしなくなりました。 GitHub-26762
  • bin/magento setup:install を実行して既存のデータベースに接続する場合に、この質問がアプリケーションに表示されなくなりました:Overwrite the existing configuration for db-ssl-verify?[Y/n]GitHub-29612

Adobe Stockの統合

  • exif_image.png または exif-image.jpeg メタデータの読み取りがサポートされるようになりました。 GitHub-1449
  • メディアギャラリーのデフォルト表示ブックマークをクリックしたときに表示されるコンテンツがフィルタリングされなくなりました。 以前は、アプライアから適用されたフィルタがデフォルトビュー url-filter 含まれていました。 GitHub-1813GitHub-1789GitHub-1780
  • ロジックがWYSIWYG OnInsert コントローラー(Magento\Cms\Controller\Adminhtml\Wysiwyg\Images\OnInsert::execute())から削除され、Model\Wysiwyg\Images\PrepareImage::execute() モデルに追加されました。 GitHub-1504
  • エリア エミュレーションが media-content:sync コマンドから削除されました(\Magento\MediaContentSynchronization\Console\Command\Synchronize::execute)。 GitHub-1784

Analytics

  • 高度なレポートが、同じドメイン内の複数の環境で期待どおりに機能するようになりました。 以前は、高度なレポートで生成された CSV ファイルは、CSV 標準 RFC4180 で必要とされる別の二重引用符ではなく、バックスラッシュで二重引用符がエスケープされているので失敗しました。
  • デフォルトまたはデフォルト以外のポートを使用して analytics_collect_data で MySQL に接続する場合、env.php ジョブは正常に実行されるようになりました。 以前は、デフォルト以外のポートを使用した場合、analytics_collect_data がエラーをスローしていました。
  • analytics_collect_data で生成される CSV ファイルが適切にエスケープされるようになりました。 以前は、これらのファイルは正しいエスケープで生成されていなかったので、在庫レポートを生成できませんでした。

Braintree

  • 買い物客はApple Pay を使用して、バーチャル商品を正常に注文できるようになりました。 以前は、アプリケーションは次のエラーをスローしていました:There are no shipping methods available for you right now. Please try again or use an alternative payment method

  • デフォルトの PayPal Express Checkout の支払い方法は、Braintreeのクレジットカード支払い方法で期待どおりに機能するようになりました。 以前は、Braintreeのクレジットカードによる支払いが有効になっている場合は、「PayPal」ボタンが表示されていませんでした。

バンドル製品

  • 固定価格のバンドル製品の子品目の価格が見積もりで設定されなくなりました。
  • バンドル製品に在庫切れ製品が含まれる場合、価格の並べ替えが期待どおりに機能するようになりました。 以前は、価格を降順で並べ替えても、価格が下がる順に製品が表示されていませんでした。
  • 多くのオプションが存在する場合、アプリケーションはバンドル製品オプションにデフォルトの数量 1 を自動的に適用するようになりました。 以前は、マーチャントは、各オプションにデフォルトの数量を手動で割り当てる必要がありました。
  • 注文請求書の作成ページに、バンドル製品の子製品が期待どおりに表示されるようになりました。 GitHub-27350
  • バンドル製品の一部であるシンプルな製品をカスタム価格で再注文すると、アプリケーションによって正しい製品価格が割り当てられるようになりました。 以前は、バンドル製品にカスタム価格を設定すると、並べ替え時に添付されたシンプルな製品の価格が誤って表示されていました。 GitHub-30343
  • バンドル製品を含む注文を出荷するために POST /V1/order/{orderId}/ship を呼び出すと、注文が期待どおりに完了したとマークされるようになりました。 以前は、アプリケーションで「You can't create a shipment without products」というエラーメッセージが表示されていました。 GitHub-9762

買い物かごとチェックアウト

  • チェックアウトワークフローの出荷手順にカスタム住所属性が存在する場合、出荷方法見積もりが期待どおりに機能するようになりました。 以前は、アプリケーションで「{"message":"Error occurred during \"custom_attributes\" processing. A custom attribute is specified with a missing attribute code. Verify the code and try again."}」というエラーメッセージが表示されていました GitHub-27505
  • 買い物客が買い物かごにある唯一の項目を削除すると、アプリケーションは、ミニ買い物かごに You have no items in your shopping cart メッセージを期待どおりに表示するようになりました。 以前は、買い物客が 1 つの項目を削除した際に checkout/cart/removeFailed の買い物かごデータが更新されず、アプリケーションに「1 product requires your attention」というメッセージが表示されていました。
  • 適用外の出荷方法に対する受注の出荷原価が表示されなくなります。 以前は、アプリケーションは、チェックアウトワークフローで適用されない発送方法の価格が 0 と表示されていました。
  • チェックアウトワークフローの 請求先と配送先住所が同じ チェックボックスの選択が解除されている場合、顧客のデフォルトの請求先住所が選択されるようになりました。
  • 買い物客が別のドメインのストアから別のストアに切り替えても、買い物かごの中身が失われなくなりました。
  • 買い物客は、複数の配送方法を使用する場合、「複数のアドレスを使用してチェックアウト」を使用して、注文を正常に完了できるようになりました。 以前は、アプリケーションに「There has been an error processing your request」というエラーが表示されていました。 GitHub-30197
  • 買い物客が買い物かごからストア表示を変更すると、チェックアウトワークフローの出荷ページに、正しいデフォルトの国が表示されるようになりました。
  • ゲストの買い物客がログインしたときにログアウト後のパスワードがリセットされた後に、顧客セッションをクリーンアップする際に、アプリケーションは現在のセッションを除外するようになりました。 以前は、買い物客がパスワードをリセットすると、アプリケーションは買い物かごを空にしていました。
  • 買い物客が買い物かごのストア表示を変更すると、アプリケーションには、ストア表示の正しいデフォルトの国が表示されるようになりました。 以前は、買い物かごでストア表示を変更すると、デフォルトの国が正しく表示されていませんでした。
  • 買い物かごの /rest/V1/guest-carts/cart_id/totals-information エンドポイントへの冗長な呼び出しが削除され、買い物かごのパフォーマンスが向上しました。 以前は、買い物客が買い物かごに製品を追加し、その後その買い物かごを表示すると、アプリケーションは collectAddressTotals メソッドを複数回呼び出していました。
  • 国でオプションの場合は状態を選択することを許可 設定が無効になっている場合、チェックアウトワークフローで国の 地域 フィールドが表示されなくなりました。 GitHub-30747
  • 注文が管理者から再注文されると、ストアフロントのチェックアウトワークフローで配送先住所が繰り返されなくなりました。
  • AdminMediaGalleryInsertLargeImageFileSizeTest の設計の問題を修正しました。
  • ゲストの quote テーブルのすべての新しいレコードに、customer_is_guest field で 1 の値が割り当てられました。 以前は、買い物かごに製品を追加した新規ゲストごとに、quote.customer_is_guest フィールドに 0 がレコードに割り当てられていました。
  • チェックアウトワークフローの「確認と支払い」セクションの 送信 ボタンが <form id="purchaseorder-form"...></form> 内に移動され、JavaScriptを変更せずに暗黙的にフォームを送信できるようになりました。 GitHub-27925
  • 国のオプションの場合は状態の選択を許可 設定が無効になっている場合に、チェックアウトワークフローに 地域 フィールドが表示されなくなりました。 GitHub-30747
  • 複数のアドレスをチェックアウト中に買い物客が 買い物かごを更新 をクリックしても、アプリケーションによって買い物かごの項目の小計が正しく更新されるようになりました。 GitHub-30408
  • 現在インストールされていない支払い方法にノードが存在する場合 config.xml アプリケーションが例外をスローしなくなりました。 以前は、チェックアウト中にアプリケーションが例外をスローしていました。 GitHub-29555
  • 特殊文字を含む製品名がミニカートに正しくレンダリングされるようになりました。 GitHub-29075
  • アプリケーションで、表レートに対する正しい割引パッケージが設定されるようになりました。 以前は、アプリケーションは、計算済テーブル・レートの場合にカートに割引を設定するカート・ルールを適用していませんでした。 GitHub-30169

買い物かご価格ルール

  • 税金を組み込まずに注文の小計を計算する際に、買い物かご価格ルールが期待どおりに適用されるようになりました。 新しい「Subtotal (Incl. Tax)」オプションが買い物かご価格ルール条件として追加されました。
  • 買い物かご全体に対する固定金額割引 アクションを使用した場合、GraphQLを使用してクーポンに価格ルールを適用すると、期待どおりに機能するようになりました。

カタログ

  • アプリケーションは、ストアフロントで再有効化されたすべての製品を期待どおりに表示するようになりました。 以前は、製品を無効化してから再度有効にすると、製品を再度有効にした後にページキャッシュが無効化されなかったので、Varnish ページキャッシュがクリアされるか、ストアが再インデックス化されるまで、アプリケーションに製品が表示されませんでした。
  • 大きなカタログの部分的なインデックス再作成が期待どおりに動作するようになりました。 以前は、catalogsearch_fulltext 部分インデクサーを使用したインデックス再作成中に、製品がストアフロントのカテゴリページからランダムに表示されなくなりました。
  • 買い物客は、カスタマイズ可能なオプションを使用して、商品の請求済み注文を期待どおりに並べ替えることができるようになりました。 以前は、買い物客が並べ替えようとした際に、アプリケーションがこのエラーをスローしていました。{"0":"The product's required option(s) weren't entered. Make sure the options are entered and try again
  • これで、カテゴリデザインページの レイアウト 設定が正常に レイアウトの更新なし に設定されました。 以前は、レイアウトの更新なし の値を割り当てたときに、アプリケーションが Category - FullWidth に戻っていました。
  • ストアフロントの商品の並べ替え順に関する問題を解決しました。 以前は、アプリケーションで製品の価格のインデックスを作成する際に、min_price テーブルで設定可能な製品の max_pricecatalog_product_index_price を 0 に設定することがありました。これが、ストアフロントの価格の並べ替え順に影響を与えました。
  • アプリケーションは、Product Type というラベルが付いた属性を正常に更新するようになりました。 以前は、コード内で product_type 属性が予約されているので、Product Type 属性を更新しようとすると、アプリケーションにこのメッセージが表示されていました。An attribute with the same code (product_type) already exists.
  • 製品を保存しても、製品詳細ページの「画像とビデオ」セクションでアップロードされたビデオの位置が変更されなくなりました。 以前は、新しい画像の位置にインデックス値(リスト内の位置)が割り当てられ、既存の画像の位置がインデックス値と揃っていなかった場合は、新しい画像がリスト内で誤って配置されていました。
  • この 買い物かごに追加 機能は、「買い物かごに追加 ボタンをクリックできる場合は常に期待どおりに動作するようになりました。 以前は、製品ページの読み込みを待っている間にこのボタンを複数回クリックした場合、アプリケーションは次のエラーをスローしていました。Invalid Form Key. Please refresh the page
  • マーチャントが無効な商品をカテゴリに追加またはカテゴリから削除しても、アプリケーションがカテゴリキャッシュをフラッシュしなくなりました。 以前は、製品ステータスに関わらず、アプリケーションは関連カテゴリのキャッシュをフラッシュしました。 また、カテゴリが保存されたときにカテゴリの割り当ても解除され、カテゴリキャッシュのフラッシュが発生していました。
  • すべてのストア表示 範囲内のカタログ製品フィルタリングが正しく機能するようになりました。 以前は、ステータスが Enabled または Disabled の製品は、有効な製品または無効な製品のみをフィルタリングする際にグリッドに表示されていました。
  • 部分的なインデックス再作成によって、製品が欠落したりカテゴリが空になったりすることがなくなりました。
  • JavaScript カレンダーを使用 が有効になっている場合(ストア/設定/カタログ/日時カスタムオプション)に、並べ替えが期待どおりに動作するようになりました。 以前は、この設定が有効になっている場合、以前に注文した注文を管理者:Please specify date required option(s) から再度注文しようとすると、アプリケーションにこのエラーが表示されていました。
  • 階層価格作成時に、マルチサイト展開で正しい通貨が表示されるようになりました。
  • 製品画像のカスタム属性が正しくエスケープされるようになりました。 data-src 属性の値は、期待どおり src 属性と同じです。 以前は、URL の特殊文字はエスケープされていました。
  • REST API を使用してカテゴリを更新しても、「カテゴリを有効にする」、「メニューに含める」、および「URL キー」属性の デフォルト値を使用 設定が無効にならなくなりました。
  • カテゴリを保存すると、このカテゴリに関連するブロックキャッシュのみがフラッシュされるようになりました。 以前は、アプリケーションは、すべてのカテゴリブロックのキャッシュをフラッシュしました。
  • パーセント価格のカスタムオプションの価格が、マルチストアデプロイメントで、アクティブストアの基本通貨に期待どおりに変換されるようになりました。 以前は、パーセント価格のカスタムオプションの価格が誤って変換されていました。 GitHub-26432
  • アプリケーションで画像が正常に再作成され、マーチャントが POST rest/all/V1/products を使用してメディアギャラリーデータを送信するたびに、これらの画像が管理者に期待どおりに表示されるようになりました。 以前は、マーチャントが POST 経由でメディアギャラリーデータを送信した際に、画像が rest/all/V1/products で削除されたにもかかわらず、メディアにまだ画像のレコードが含まれている場合、アプリケーションは画像を再作成し pub/media がそれらを削除していました。 その結果、更新プロセス中に画像が作成および削除されたので、マーチャントには Admin のプレースホルダーのみが表示されました。
  • Web サイトから項目の割り当てを解除した際に、レコードが期待どおりに削除されるようになりました。 以前は、POST rest/all/V1/products の実行時に画像が複製されていました。
  • /V1/categories/{categoryId}/products 呼び出しで、親カテゴリに属するすべての製品のリストが期待どおりに返されるようになりました。 以前は、製品が親カテゴリの複数のサブカテゴリに属していた場合、アプリケーションは次のタイプのエラーをスローしていました。Internal Error. Details are available in the application log file. Report ID: webapi-5f8579e37db54 GitHub-30461
  • /V1/products/attributes/:attributeCode/options REST エンドポイントで、既存の属性オプションの更新がサポートされるようになりました。
  • パーセント価格のカスタムオプションの価格が、マルチストアデプロイメントで、アクティブストアの基本通貨に期待どおりに変換されるようになりました。 以前は、パーセント価格のカスタムオプションの価格が誤って変換されていました。 GitHub-26432
  • マーチャントは、製品の作成中に新しい属性を正常に保存できるようになりました。 以前は、アプリケーションは属性を保存せず、属性を保存しようとすると、マーチャントをストアビューホームページにリダイレクトしていました。 GitHub-30362
  • Sales/Orders ページと Catalog/Products ページの商品グリッドには、最近作成されたストアだけでなく、関連するすべてのストアが一覧表示されるようになりました。 GitHub-29267
  • 製品リポジトリーで、使用可能な場合、既存の製品の属性値を保存するために store_id を使用するようになりました。 以前は、製品リポジトリクラスは製品ストア ID を上書きし、常にデフォルトのストア ID が割り当てられていました。 GitHub-29933

カタログルール

  • カタログ価格ルールが、製品詳細ページのカスタムオプションで期待どおりに機能するようになりました。 以前は、そのページの製品価格には、該当するカタログ価格ルールが反映されていませんでした。 GitHub-22856
  • 製品およびカタログのキャッシュが、スケジュールに従って期限切れになりました。 以前は、сroncatalogrule_apply_all タスクを 1 日に 1 回実行し、すべてのカタログルールおよび依存インデクサーのインデックスを再作成し、すべての製品とカテゴリのキャッシュをクリアしたので、キャッシュは毎日期限切れになりました。

Cleanup

誤字と文法のクリーンアップ

  • 注文失敗ページのタイトルが正確になるように修正されました。 以前は、このページのタイトルは We received your order!GitHub-29416
  • app/code/Magento/Contact/view/frontend/templates/form.phtml の不要なスペースを削除しました。 GitHub-29779
  • bin/magento/setup:config:set サブコマンドのヘルプメッセージの誤字を修正しました。 GitHub-28802
  • framework/Registry.php ファイルの PHPDoc の文法を修正しました。 GitHub-29661
  • app/code/Magento/Catalog/Helper/Product/View.php から不要な空白を削除しました。 GitHub-30601
  • app/code/Magento/Ui/view/base/web/js/form/element/ui-select.js の関数名の誤字を修正しました。 GitHub-29987
  • ミニ買い物かごとチェックアウト注文の概要の「品目」の複数表示を修正しました。 GitHub-29920
  • マークアップのレイヤー化されたナビゲーションフィルターのインライン要素の空白を削除しました。 GitHub-30448
  • rlurl\Magento\Framework\Filter\Template\Tokenizer\Parameter に修正されました。 GitHub-29185

コードのクリーンアップ

  • <br> システム / インポート ページのデータチェックメッセージ領域から、不要なHTML タグが削除されました。
  • ChangeQuoteControl はリファクタリングされています。 GitHub-29673
  • AccessChangeQuoteControl とその単体テストはリファクタリングされています。 GitHub-29672
  • app/code/Magento/Captcha/CustomerData/Captcha.php の戻り値タイプ宣言のコードスタイルを修正しました。 GitHub-29712
  • 新規属性ページのボタンリストの位置を修正しました。
  • フロントエンドクラスの正しいブロッククラス viewModel、フロントエンドクラスの参照例を追加 \Magento\Framework\View\Element\Template ました。 GitHub-30450
  • 販売ルールフォームの冗長なフィールドセットが削除されました。 GitHub-29599
  • hierarchy/edit.phtml テンプレートから不要なコードが削除されました。
  • app/code/Magento/CatalogImportExport/Model/Export/Product.php の PHPdoc コメントを修正しました。 GitHub-30833
  • PublisherInterface メッセージの docblock 注釈が修正されました。 GitHub-30190
  • getStatusByState メソッドの引数を修正しました。 GitHub-30173
  • app/code/Magento/Quote/Model/Cart/Totals/ItemConverter.php でメソッドの説明を修正しました。 GitHub-30125
  • 複数のファイルの同じ行にある冗長な変数割り当てを削除しました。 GitHub-30133
  • @param string $attribute@param AbstractAttribute|string[]|string $attributeEntityAbstract.php に変更しました。 GitHub-30191
  • 無効なタグ(@package@subpackage など)は、コードベース全体でドックブロックから削除されています。 GitHub-30061
  • AdvancedPricing クラスの構成内の未使用のパラメーターが削除されました。 GitHub-29531

設定可能な製品

  • 在庫切れの設定可能な製品を価格別にフィルタリングすると、正しい価格範囲内の結果が表示されるようになりました。
  • バーチャル製品のステータスが有効から無効(またはその逆)に変更されても、タイプが変更されなくなりました。 以前は、ステータスが変更されると、アプリケーションによって製品のタイプが virtual から simple に変更されていました。
  • getValue() メソッドでは、買い物かごの更新時に致命的なエラーがトリガーされなくなりました。
  • 複数の web サイトで使用できる設定可能な製品で、特定の web サイトに割り当てられていない単純な子製品が表示されなくなりました。 GitHub-28291
  • ストアフロントの製品ページに、予期したとおりに税金なしの階層価格が表示されるようになりました。 GitHub-12225
  • 設定可能な製品の MSRP 価格が、選択した通貨に正しく変換されるようになりました。 以前は、アプリケーションは誤った通貨で価格を表示し、次のエラーをスローしました:Call to a member function setAppliedTaxes() on nullGitHub-26526, GitHub-29603
  • マーチャントは、値が 0 (ゼロ)のストア固有のテキストスウォッチ属性オプションラベルを保存できるようになりました。 以前は、値 0 は、管理ラベルオプションの値に置き換えられました。 GitHub-30073

cron

  • システム メッセージ リストに、cron の実行後にアプリケーションがスケジュールどおりに製品を更新した場合でも、製品の更新が正確に反映されるようになりました。
  • schedule_id および status に基づくインデックスが cron_schedule テーブルに追加されました。 GitHub-29601

カスタム顧客属性

  • 作成後、「アカウント情報」ページにタイプ file の顧客属性が表示されるようになりました。 以前は、このタイプの新しい属性を保存しようとすると、アプリケーションに The "newAttribute" attribute value is empty. Set the attribute and try againValidation is failed のエラーが表示されていました。
  • 複数行のカスタム顧客属性値がアプリケーションに正しく表示されるようになりました。 以前は、一部のデータが表示されていませんでした。
  • このアプリケーションは、アカウントの作成時に無効な生年月日を入力した場合、買い物客にアラートを表示するようになりました。 以前は、バリデーターはロケール設定を無視し、買い物客は「無効な日付」エラーで新しい顧客アカウントを作成ページにリダイレクトされていました。
  • カスタムアドレス属性が、チェックアウトワークフローの支払い手順に期待どおりに含まれるようになりました。
  • カスタムアドレスの複数選択属性が、ゲストのチェックアウト時および管理者とマイアカウントの注文の詳細ページで正しく表示されるようになりました。
  • Input TypeText に設定され、Input ValidationNumeric Only に設定されている場合、カスタム顧客属性の先頭の 0 を削除できるようになりました。
  • アプリケーションは、カスタムの性別属性値を含む顧客データを正常に書き出すようになりました。

顧客

  • Storefront customer account ページの「生年月日」フィールドのカレンダーウィジェットで、指定されたストアのロケールが使用されるようになりました。
  • 管理者から既存の顧客の再注文をチェックアウトする際に、顧客住所の重複エントリが保存されなくなりました。
  • 管理者から複数の顧客のすべてのアドレスを削除すると、顧客のアドレスリストからすべてのアドレスが削除され、デフォルトの請求先と配送先住所が削除されるようになりました。 以前は、アプリケーションは顧客住所リストから住所を削除しましたが、デフォルトの請求先住所と出荷先住所は削除しませんでした。
  • 管理者がアドレスの一括削除を実行した後、「管理者の顧客アドレス」タブにアドレス数が正しく表示されるようになりました。 以前は、アプリケーションのカウントに削除されたアドレスが含まれていました。
  • 顧客登録ページの 生年月日 フィールドの日時形式が修正されました。 以前は、1 桁の日付の前に先頭のゼロが欠落していました。
  • 買い物客が「アカウントの作成 ボタンをクリックする前に、「生年月日 フィールドの日付形式の検証が機能するよ になりました。 以前は、買い物客が無効な形式で値を入力する可能性があり、「アカウントを作成」ボタンをクリックすると、買い物客は無効な日付エラーで新しい顧客アカウントを作成ページにリダイレクトされていました。
  • 属性に対して無効なデータが含まれる新しい顧客アカウントを管理者が保存しようとすると、アプリケーションで致命的なエラーがスローされなくなりました。
  • Magento Shippingが以前にインストールされ、デフォルトの Luma テーマが現在デプロイされているデプロイメントで、買い物かごにアクセスしようとすると、アプリケーションで 400 エラーがスローされなくなりました。 以前は、アプリケーションは、サーバーにリクエストを送信する前に、管理者でサポートされていない、以前にインストールまたは有効にしたモジュールによって作成されたセクション名を除外していませんでした。これにより、エラーが発生しました。
  • メール確認を必要とする 設定が有効になっており、上書きされている場合、買い物客がゲストアカウントを作成すると、アプリケーションに期待どおりにメッセージが表示される Magento\Customer\Controller\Account\CreatePost うになりました。 以前は、アプリケーションは、このタイプのユーザー登録プロセスのカスタマイズを許可せず、この条件の下で、ユーザーの電子メール確認ステータスが完了と見なされ、新しいユーザーが自動的にログインし、エラーメッセージは表示されませんでした。
  • 顧客グループへの自動割り当てを有効にする が有効になっているストアで、デフォルト以外の顧客グループに買い物客が注文を行った場合、アプリケーションによって買い物客が正しい顧客グループに割り当てられるようになりました。 GitHub-26976
  • インデックスが スケジュールに従って更新 に設定されている場合、マルチサイトデプロイメントでデフォルト以外の web サイトを削除すると、管理者の顧客グリッドを期待どおりに使用できるようになりました。 以前は、アプリケーションでグリッドが表示されず、次のエラーがスローされていました。[2020-12-09 11:31:54] report.CRITICAL: The website with id 2 that was requested wasn't found. Verify the website and try again. \{"exception":"[object] (Magento\\Framework\\Exception\\NoSuchEntityException(code: 0): The website with id 2 that was requested wasn't found. Verify the website and try again. at /var/www/html/magento24ee/vendor/magento/module-store/Model/WebsiteRepository.php:110)"}

dotdigital

  • Dotdigital Engagement Cloud からプログラムのリストを取得する際のエラー処理が改善されました。

  • ゲスト同期中にストア名列で同期される値が、ストア表示名として期待どおりのものになりました。 以前は、この列には web サイト名が含まれていました。

  • 注文を保存した後、注文ステータスの自動化をループする前に配列チェックを追加しました。

  • dotdigital モジュールの magento/module-authorization への依存の結果である Composer のアップグレードに関する問題を解決しました。

ダウンロード可能

  • 所属する注文が一部返金された後、アプリケーションの「マイダウンロード製品」タブにダウンロード可能な製品が表示されなくなりました。 GitHub-28388

EAV

  • \Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend を使用するカスタム属性では、API 呼び出しによって製品が作成される際にペイロードに値が指定されていない場合、デフォルト値を使用するようになりました。

電子メール

  • \Magento\Config\Model\Config\Source\Email\Template::toOptionArray 前に setPath() が呼び出されない場合に、toOptionArray() がエラーをスローしなくなりました。 GitHub-29315
  • メールテンプレートを読み込む際に「Html バージョンを返す」をクリックすると、プレーンテキストがHTMLに正しく変換されるようになりました。
  • 部分請求書を含む顧客に送信されるメールに、正確な品目小計が含まれるようになりました。 以前は、この電子メールの小計は、請求済数量の合計金額ではなく、注文済数量の合計でした。
  • アプリケーションは、有効なメールアドレスを持つすべての関連する顧客にリマインダーを送信するようになりました。 以前は、1 つの無効なアドレスに遭遇すると、アプリケーションは顧客へのリマインダーメールの送信を停止していました。
  • 非同期モードでの販売 E メールの送信が、製品がカタログから削除された後、期待どおりに機能するようになりました。 以前は、非同期メール送信がブロックされ、アプリケーションに「main.ERROR: Cron Job sales_send_order_invoice_emails has an error: Call to a member function getData() on null. Statistics: {"sum":0,"count":1,"realmem":0,"emalloc":0,"realmem_start":73400320,"emalloc_start":37177640} [] []main.CRITICAL: Error when running a cron job {"exception":"[object] (RuntimeException(code: 0): Error when running a cron job at /var/www/html/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php:327, Error(code: 0): Call to a member function getData() on null at /var/www/html/vendor/magento/module-catalog/Helper/Image.php:502)"} []」というエラーが表示されていました。 GitHub-26878
  • sales_email/order_comment/enabled が無効で、sales_email/order_comment/copy_methodbcc に設定されている場合、注文確認メールの顧客はコピーされなくなります。 GitHub-29915

フレームワーク

  • カスタマイズされたフィルターグループが、顧客の検索時に正しく適用されるようになりました。 以前は、afterSearch 関数は、期待どおりに OR フィルターしませんでした。 GitHub-24576
  • ストアのホームページ上の画像が正常にレンダリングされるようになりました。 以前は、画像の base64 コードの 3 つの連続するスラッシュがコメントと誤って解釈されたため、ページソース HTMLが破損していました。
  • アラビア語ロケール(ar_SA - Saudi Arabia)を使用してストアの管理注文リストの注文をフィルタリングする際に、日付選択が正しく機能するようになりました。
  • マーチャントがデプロイメントで買い物かごの価格ルールを保存した後、DatePicker に正しい日付が表示されるようになりました。 GitHub-30382
  • このアプリケーションは、アラビア語の桁区切りとアラビア語の小数点記号を正しく表すようになりました。 以前は、アラビア語の記号がトリミングされていました。 GitHub-26676
  • アプリケーションは、データベースの session テーブルから期限切れのデータベースセッションを期待どおりに削除するようになりました。

一般的な修正点

  • php.ini で定義されているものとは異なるネイティブセッションハンドラーを設定できるようになりました。 以前は、SessionManager は memcache を save_handler として設定せず、代わりにファイルの session_handler を使用していました。 アプリケーションが次のエラーをスローしました:main.CRITICAL: Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 {"exception":"[object] (Exception(code: 0): Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in ../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 at ../vendor/magento/framework/App/ErrorHandler.php:61)"}GitHub-24717
  • LoginAsCustomer のモジュールが次のように改善されました。

    • around プラグインを after に置き換えました

    • 冗長コードを削除しました

    • (bool)->getValue()isSetFlag に置き換えました。 GitHub-29689

  • ワイルドカード(*)を使用してすべての顧客データセクションを再読み込みしても、リクエストが customer/section/load で 400 エラーがスローされなくなりました。 GitHub-28154
  • アプリケーションは、実稼動モードでレイアウトがレンダリングされる際に発生する例外を var/report に渡すようになりました。 GitHub-29606
  • マーチャントは、期待どおりにカテゴリから製品の割り当てを解除できるようになりました。 以前は、アプリケーションは次のようなエラーをスローしていました:Could not save product "4" with position 0 to category 3
  • 存在しないお客様がパスワードのリセットをリクエストした場合、アプリケーションが例外をスローするようになりました。 GitHub-26288
  • 顧客属性に無効な値を含む顧客アカウントを、この属性値を持つファイルのアップロード中に保存しようとすると、情報エラーメッセージが表示されるようになりました。 以前は、アプリケーションは致命的なエラーをスローしました。 GitHub-30295
  • HTMLの印刷表示のロゴ 設定が、期待どおりにストアフロントの請求書 PDF に適用されるようになりました。 GitHub-24730
  • static:: は、プライベート定数にアクセスするために、コードベース全体で self:: に置き換えられました。 GitHub-30781
  • 商品の作成中にマーチャントが「新しい属性を作成」ボタンを 2 回クリックすると、アプリケーションで新規属性ページが期待どおりに開くようになりました。 以前は、アプリケーションで空のページが表示され、エラーがスローされていました。 GitHub-30361
  • クーポンが削除された後、アプリケーションに The coupon code has been accepted メッセージが表示されなくなります。 GitHub-30255
  • 管理者はウィジェットを特定のカテゴリに割り当てることができるようになりました。 GitHub-30009
  • 属性セレクター input[type=datetime] は、あまり具体的でない入力タイプセレクターに置き換えられました。 GitHub-30064
  • アプリケーションは、カスタムカテゴリ属性に関連付けられているストア固有の値を期待どおりに表示するようになりました。 GitHub-13440
  • 店舗住所と出荷先が異なる EU 諸国に属している場合、注文作成ページの VAT 番号を検証 ボタンをクリックすると、顧客グループを変更する必要があるかどうかを尋ねるプロンプトが表示されるようになりました。 GitHub-29652
  • \Magento\Catalog\Model\ImageUploader クラスは、新しい moveFileFromTmp メソッドを使用するようにリファクタリングされています。 GitHub-29598
  • マーチャントが product_type コードと type_id コードを使用して製品属性を作成しようとしたときに、より詳細なエラーメッセージが表示されるようになりました。 GitHub-28479
  • 管理 ストア/設定/サービス/OAuth ページの 顧客トークンの有効期間(時間) および 管理トークンの有効期間(時間) フィールドの検証ロジックを修正しました。 GitHub-29502
  • アプリケーションは、ウィジェットコンテンツフィールドに }} を含むテキストを正しく解析するようになりました。 GitHub-12087
  • 製品カテゴリページからフィルターを削除できるようになりました。 以前は、フィルターを削除しようとすると、アプリケーションはフィルターを削除できず、次のエラーが表示されていました:Something went wrongGitHub-8538
  • Magento\Framework\MessageQueue\ConfigInterface は、オプションのモジュール Magento_MessageQueue が無効な場合でもインスタンス化できるようになりました。 以前は、アプリケーションは次のエラーをスローしていました:PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\MessageQueue\ConfigInterface in /var/www/magento2/magento2/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php:121GitHub-26080
  • アプリケーションが永続ストレージからメール値を取得できるタイミングを決定するロジックが改善されました。 以前は、未登録ユーザーがメールフィールドを最初に完了した後にチェックアウトページに戻ると、アプリケーションはチェックアウトページに入力されたパスワードフィールドを表示していました。 GitHub-26903
  • 見つからない aclResource 属性が Admin ヘッダー AdminNotification ツールバーブロックに追加されました。 以前は、管理者ユーザーがロールリソース権限を持っていない場合でも、管理者通知ツールバーエントリが表示されていました。 GitHub-29067
  • framework/database/select where 関数が type を正しく処理するようになりました。 GitHub-29590
  • ループ内での array_merge の非効率的な使用がコードベース全体で改善されました。コードベースは、静的コンテンツのデプロイメントプロセスを含む複数の場所でパフォーマンスを向上させました。 GitHub-30183
  • 既定の管理者セッションの有効期間は、暗号化モジュールからセキュリティ モジュールに移動されました。 GitHub-30859
  • クラス内のプライベート定数がチェックされ、static:: 呼び出しがある場合は警告が表示されるようになりました。 以前は、アプリケーションは次のエラーをスローしていました:Undefined class constant
  • エラーページとメンテナンスモードでのシンボリックリンクされた root のサポートを追加しました。 以前は、root または magento/pub が別のディレクトリにシンボリックリンクされている場合、エラープロセッサー(Magento\Framework\Error\Processor)は正しい表示ファイル URL を生成しませんでした。 GitHub-30296
  • 不足している order_data 配列を EmailSender クラスに追加しました。 これにより、これらのクラスは、メールテンプレート内のオブジェクトの代わりにスカラー変数を使用することがMagentoの推奨事項に準拠するようになります。 GitHub-29604

GraphQL

  • GraphQL URL リゾルバーでクエリパラメーターが正しく処理されるようになりました。 以前は、パラメーターを使用して SEO に対応する URL を処理する場合に NULL が返されていました。
  • GraphQL URL リゾルバーでCMS ページ階層が正しく処理されるようになりました。 以前は NULL を返していました。 GitHub-30474
  • 製品の categories.breadcrumbs データのクエリで、親カテゴリが無効になっているカテゴリのパンくずデータが返されなくなりました。 GitHub-30468
  • URL の書き換えが無効な場合に、カテゴリ画像へのパスが正しく返されるようになりました。
  • GraphQLのパスワードのリセット中にでエラーが発生した場合、より詳細なメッセージを返すようになりました。 GitHub-30179
  • 商品のポジションは、クエリ結果がキャッシュされる際に、GraphQLのクエリ結果で期待どおりに更新されるようになりました。
  • products の場合、category_id クエリは期待される結果を返すようになりました。 filter は in キーワードで指定します。 GitHub-30349
  • JSON ファイルと YAML ファイルの 2 つのスペースへのインデントをサポートするルールを editorconfig に追加しました。 GitHub-30066, GitHub-30063
  • FlushCacheByTags クラスが更新されて、プラグインの周囲ではなくアフタープラグインを使用するようになりました。 GitHub-29558
  • checkout_index_index.xml ファイルのコードは、sortOrdermessagesauthenticationprogressBar および estimation のコンポーネントから sidebar checkout が削除されたことにより強化されました。 GitHub-30550
  • calc のコンテンツがエスケープされるようになり、CSS 出力ファイルの calc 値が正しくなります。 以前は、アプリケーションが誤った calc 値を返していました。 GitHub-30542
  • URL 書き換えジェネレーターで、グローバルスコープのカテゴリ URL 書き換えを保存する際に、カテゴリオブジェクト url_keyurl_pathstore_id をデフォルトのストア値に設定するようになりました。 以前は、最後に処理されたストア ID の値を使用して、url_keyurl_pathstore_id が保存されていました。 GitHub-29585## グループ化された製品
  • 製品クエリは、グループ化された製品に必要なすべてのデータを返すようになりました。 以前は、product_links は空の配列でした。
  • すべての子のシンプル製品が在庫切れになった場合、グループ化された製品が製品編集ページに在庫切れとリストされるようになりました。
  • 子のシンプル製品のステータスが在庫切れに変更された場合、グループ化された製品のステータスが製品編集ページで正しく更新されるようになりました。 以前は、グループ化された製品の親の在庫品目が、その子が在庫ステータスを変更した後で更新されませんでした。
  • \Magento\Widget\Controller\Adminhtml\Widget\Instance\Validate は、フレーズの結果値をエラーメッセージとして認識し、ウィジェットの検証中にユーザーに出力するようになりました。 GitHub-27397
  • Magento\Catalog\Model\Category\DataProvider::getFieldsMap() のカテゴリ属性のハードコーディングされたリストは、キャッシュから生成された属性のリストに置き換えられました。 GitHub-13440
  • req.http.host/client.ip の冗長なハッシュは削除され、ハッシュは Varnish 組み込み VCL によって処理されます。 GitHub-29988
  • Magento_Ui ファイルアップローダに失敗コールバックを追加しました。 GitHub-29557
  • acl.xml が有効になっていたが、Magento_LoginAsCustomerAssistance または Magento_LoginAsCustomerAdminUi が無効になっていたときに発生した Magento_LoginAsCustomerLog の不整合が修正されました。 以前は、これらの資格情報を持つ管理者が管理者にログインしようとすると、アプリケーションで空白のページが表示され、Exception #0 (LogicException): Could not create an acl object: Invalid Document Element 'resource': The attribute 'title' is required but missing. Line: 13 の際にエラーがスローされていました。 GitHub-30680
  • プラグインの作成中に Undefined class constant が生成されると、アプリケーションが Interceptor エラーをスローしなくなりました。 GitHub-28981, GitHub-29879
  • アプリケーションは、非同期の一括操作のメッセージングとログを正しく処理できるようになりました。 以前は、製品は更新されましたが、magento_operation テーブルと queue_message_status テーブルが正しく更新されず、システムメッセージが正しくありませんでした。 GitHub-29718
  • 買い物客は、ストアで メール確認を要求 が有効になっている場合に、パスワードリセットメールで 新しいパスワードを設定 をクリックすると、期待どおりに新しいパスワードを設定ページにリダイレクトされるようになりました。 以前は、買い物客はログインページの パスワードを忘れた場合 ボタンにリダイレクトされていました。 GitHub-27954
  • デフォルト値を使用して行システム設定を保存する際の、配列から文字列への変換エラーを修正しました。 GitHub-30314
  • メッセージキューの引数を設定できるようになりました。 GitHub-30216
  • ベースファイルコレクターは AppState->emulateAreaCode() を尊重するようになりました。 GitHub-39656
  • 新しい BlockByIdentifier クラスは、CMS ブロック識別子に基づくレイアウトブロックの取得をサポートしています。 その結果、CMS ブロックがキャッシュから削除されると、レイアウトブロックのキャッシュもクリアされます。 GitHub-28309
  • キュー内の数値引数の変換に関する問題を修正しました。 以前は、type で数値 queue_topology.xml 引数を持つキューを宣言した場合、引数の値は string にキャストされていました。 GitHub-29615

GraphQL

  • urlResolver クエリでクエリパラメーターが正しく処理されるようになりました。
  • カスタム CMS ノードとページを入力として指定した場合に、urlResolver クエリが NULL を返さなくなりました。 GitHub-30474
  • category クエリは、無効になった親カテゴリの子カテゴリを返さなくなりました。 GitHub-30468
  • URL の書き換えが無効な場合、category クエリがカテゴリ画像の正しいパスを返すようになりました。
  • エラーが発生した場合に、resetPassword のミューテーションが、より詳細なメッセージを返すようになりました。 GitHub-30179
  • products クエリのキャッシュされた結果は、製品の位置が変更されると、期待どおりに無効になります。 GitHub-30467
  • products フィルターが category_id キーワードで指定されている場合、in クエリは期待される結果を返すようになりました。 GitHub-30349
  • categories クエリと categoryList クエリでは、カテゴリ権限設定と親カテゴリ ID に基づいてカテゴリの可用性を考慮するようになりました。 GitHub-29880, GitHub-30624
  • updateProductsInWishList ミューテーションは、ウィッシュリスト項目を正しく検証するようになりました。 GitHub-30467
  • ストアフロントでの使用を防ぐため、ProductInterface および CategoryInterface のいくつかの属性を非推奨(廃止予定)にしました。 GitHub-30625

  • カテゴリ権限が非表示に設定されている場合、価格が製品クエリ結果に表示されなくなりました。 GitHub-29926

  • addProductsToWishList のミューテーションを使用して、数量がユーザー定義のバンドル製品をウィッシュリストに追加できるようになりました。
  • 「買い物かごに追加」操作に対するGraphQLの応答時間が改善されました。
  • products クエリは、期待どおりに階層価格値を返すようになりました。 GitHub-29168
  • getMappedNums のループから冗長 lib/internal/Magento/Framework/GraphQl/Query/EnumLookup.php を削除しました。 GitHub-30031
  • クエリされた製品に無効な関連製品がある場合、products クエリがエラーを返さなくなりました。 GitHub-28892
  • cart クエリでは、正しい通貨(デフォルトの表示通貨)に変換された価格を返すようになりました。 以前は、クエリは基本通貨で項目価格の値を返し、通貨コードはデフォルトの表示通貨として返されていました。
  • GraphQLは、カタログ権限に従うようになりました。 アプリケーションは、買い物客の顧客グループに基づいて、products クエリに対して返される項目を制限します。
  • customizable_option を実装する複数のデータタイプに CartItemInterface 属性を追加しました。
  • storeConfig クエリの属性を追加して、ストア、ストアグループ、web サイト情報を返すようにしました。
  • SelectedCustomizableOption.type 属性を元に戻しました。 さらに、customizable_options の様々な実装内の CartItemInterface 属性が null 以外になりました。
  • products クエリの検索機能で、カテゴリ権限が有効になっている項目を返さなくなりました。
  • products クエリは、複数通貨を持つストアビューに対して正しい通貨を返します。
  • デフォルト以外のストアビューに適用できる場合、products クエリフィルターのラベルが翻訳済みの値を返すようになりました。
  • カート内のギフト カードの店舗の固定通貨金額。
  • 商品の選択可能な設定可能なオプションに対応するメタデータを含む、ConfigurableProductOptionsSelection データタイプを追加しました。 このオブジェクトを products クエリで使用すると、買い物客が設定可能な製品オプションを選択したときに表示されるメディアギャラリー項目の数を最小限に抑えることができます。

画像

  • ストアのホームページ上の画像が正常にレンダリングされるようになりました。 以前は、画像の base64 コードの 3 つの連続するスラッシュがコメントと誤って解釈されたため、ページソース HTMLが破損していました。
  • fileinfo 拡張機能の依存関係がCMS モジュールから削除されました。 以前は、画像アップローダを使用して画像をアップロードしようとすると、アプリケーションがエラーをスローしていました。このエラーは、コンテンツを追加する際に「画像を挿入」ボタンをクリックすると起動されます。 GitHub-24332, GitHub-16531, GitHub-29852
  • exif_image.png または exif-image.jpeg メタデータの読み取りがサポートされるようになりました。 GitHub-1449
  • CMYK イメージのカラーが正しくレンダリングされるようになりました。 Imagick アダプターが、開かれた画像に CMYK カラースペースがあることを検出すると、カラースペースは SRGB に変換されます。 以前は、これらのイメージは反転カラーでレンダリングされていました。 GitHub-22375
  • image_with_border.phtml ではブール値は設定されなくなりました。 冗長な max-widthheight の設定が .product-image-photo から削除されました。 (これらの値は、リセットスタイルを使用して画像上で既にグローバルに設定されています。) GitHub-30186

インポート/エクスポート

  • 特定のフィールド値が削除されている CSV ファイル(region_id および NULL)を使用して顧客アドレスを読み込むと、顧客アドレス entity type = "customer address"import behavior = "add/update" しい値が割り当てられなくなりました。
  • 読み込み時にストアフロントで製品画像を非表示にできるようになりました。
  • 読み込ま qty た商品が CSV ファイルで 0 に設定されていて、1 に is_in_stock set 定されている場合、その商品はカテゴリページにリストされず、商品詳細ページに在庫切れと表示されます。 以前は、これらの値を持つ製品は、読み込み後にストアフロントに表示されていました。
  • CSV の読み込みで、追加の属性の dropdowntextarea の値が無視されなくなりました。 以前は、読み込み時にこれらの属性値が更新されていませんでした。
  • 製品の書き出し CSV ファイルが、管理者リストに、期待どおりに書き出し CSV ファイルとして表示されるようになりました。 以前は、次のコマンドを実行すると、アプリケーションがエラーをスローしていました:bin/magento queue:consumers:start exportProcessor --single-thread --max-messages=10000
  • ベンガル語(バングラ)のアルファベット文字を含む CSV データを読み込むと、アプリケーションでエラーがスローされなくなりました。
  • Chromeで作業している場合に、書き出し後に変更されたファイルを読み込む際に、管理者が データを確認 をクリックすると、情報エラーメッセージが表示されるようになりました。 以前は、アプリケーションでコンソールエラーが表示されましたが、続行方法はユーザーに伝えられていませんでした。
  • 同じ製品の CSV データを 2 回以上読み込んでも、製品画像が重複しなくなりました。 GitHub-21885
  • vendor/magento/framework/File/Uploader.php の画像ファイル名の上限である 90 文字が削除されました。 以前は、ディレクトリとファイル名の長さは 255 文字以下でした。 ファイル名がこの制限を超える画像を含む製品がインポートされましたが、画像ファイルはインポートされませんでした。 GitHub-29377
  • クーポンコードを CSV または XML に正常に書き出せるようになりました。 以前は、クーポンを書き出そうとした際に「CSV を書き出し」または「XML を書き出し をクリックすると、アプリケーションに 404 エラーが表示されていました。 GitHub-29277
  • 画像を含む CSV ファイルを読み込んだ後、重複した製品画像が削除されるようになりました。 GitHub-14398, GitHub-21885

索引

  • 部分インデクサーのパフォーマンスを向上しました。 1000 ID のバッチイテレーションごとに変更されたキャッシュ ID をクリアするようになりました。 キャッシュコンテキストに ID が蓄積されなくなりました。 以前は、キャッシュコンテキストは、1000 ID のバッチの反復ごとにキャッシュ ID を蓄積し、各反復で同じ ID のセットをクリアしていました。
  • 部分再インデックス化システムと完全再インデックス化システムの間の不整合が修正されました。 両方のインデックス作成システムで同じコードが使用されるようになり、正しく機能します。 以前は、両方のインデックスシステムは、共有インデクサーに関して異なるロジックを使用していました。これにより、部分的なインデックス再作成システムの実行ごとにインデクサーが無効化される可能性がありました。 GitHub-29478, GitHub-29297
  • 手動インデクサーの問題を解決しました。この問題により、カテゴリページが空になったり、カテゴリページの製品数が減ったりしていました。 次の場合に、不完全なカテゴリページまたは製品数に関する問題が発生しました。

    • catalogsearch_fulltext および catalog_product_price の部分インデクサーは、これらのインデクサーの実行が完了するまで、大きなカタログで実行されました。

    • 部分インデクサーは、catalog_category_product または catalog_product_category のいずれかのインデックスで実行され、同時にそれらのインデックスのいずれかに対して完全な再インデックスが実行されました。 これらの 2 つのインデックス作成プロセスが競合し、その結果、製品がカテゴリページに見つからない可能性があります。

    • bin/magento indexer:reindex inventory は大規模なカタログで実行されました。 catalogsearch_fulltext 部分インデクサーの実行が完了するまで、カテゴリページに製品が表示されませんでした。

  • Magento_Bulk MySQL テーブルにインデクサーが追加され、一括操作のパフォーマンスが向上しました。
  • データベーステーブルのコメントに、インデックス再作成後のテーブルのステータスが正確に反映されるようになりました(bin/magento indexer:reindex)。 以前は、再インデックス後のテーブルコメントには、新規インストール後のコメントと同じ値が含まれていました。
  • SELECT entity_id IN ステートメントは、MariaDB v.10.3.18 を実装するデプロイメントで改善され、カタログカテゴリインデックス作成のパフォーマンスが向上しました。 GitHub-25199
  • Magento Open Sourceでは、インデクサーインスタンスごとのタグの複数回のフラッシュが排除されるようになり、キャッシュパフォーマンスが向上しました。 GitHub-29890

インフラストラクチャ

  • app/etc/env.php を使用して、メッセージブローカーを MYSQL から AMQP に変更できるようになりました。
  • 関連するJavaScript ライブラリで、商品の数量の小数値の残数の計算に関する問題が修正されました。 アプリケーションは、以前に計算した 2 桁を超える小数点以下の桁数が正しく計算されず、その後、誤ったメッセージが表示されていました。
  • \Magento\Authorization\Model\Rules::update メソッドは非推奨(廃止予定)になりました。 GitHub-29128
  • 日付オブジェクトを UTC から変換する際に、アプリケーションで致命的なエラーがスローされなくなりました。 以前は、特定の条件下で、convertConfigTimeToUtc メソッドが例外をスローしていました。 GitHub-29525
  • DataObject\Magento\MediaGalleryCatalogUi\Ui\Component\Listing\Columns\Thumbnail::prepareDataSource の製品モデルに置き換えられました。GitHub-1711
  • RequireJS リゾルバーは、ブロックされたリソースを検出できなくなりました。 以前は、リゾルバーは、ページ上のすべてのリソースが適切に読み込まれているか処理されているかを正しく検出せず、ページの読み込みを続行していました。 GitHub-28116
  • 属性リポジトリコードの検証で、ハードコードされた値ではなく Magento\Eav\Model\Entity\Attribute::ATTRIBUTE_CODE_MAX_LENGTH が考慮されるようになりました。 GitHub-29017
  • HTMLの縮小で、PHTML ファイルのHTML文字列から 3 つのスラッシュ(//)が削除されなくなりました。 以前は、縮小時にトリプルスラッシュがコメントとして解釈され、残りの行は展開時に生成された PHTML ファイルで完全に削除されていました。
  • マーチャントは、テーブルレベルではなくテーブル列レベルでインデクサー購読を設定できるようになりました。 \Magento\Framework\Mview\View\Subscription に新しい引数が追加され、特定のビューまたはテーブルの組み合わせで列を無視できるようになりました。 GitHub-30243
  • 製品ページ JavaScriptが完全に初期化される前に「買い物かごに追加」ボタンをクリックしても、form_key 値が重複しなくなりました。 以前は、例外をトリガーしたキャッシュされた form_key 値を使用して、製品を買い物かごに追加することができました。 JavaScriptが完全に初期化される前に 買い物かごに追加 をクリックすると、フォームデータで送信された form_key 値がユーザーセッションと一致せず、商品が買い物かごに追加されませんでした。 GitHub-13746
  • 現在の cURL クライアントは、大文字と小文字を区別しないヘッダー名を尊重するようになりました。 以前は、Set-Cookie の比較では大文字と小文字が区別され、一部の HTTP サーバーで問題が発生する可能性がありました。 GitHub-29524
  • api-functional およびテストケース XML ファイルの XSD URN 形式を更新しました。 GitHub-30552
  • イベントのプレフィックスとイベントオブジェクトがカタログ製品オプションの値のコレクションに追加され、\Magento\Catalog\Model\ResourceModel\Product\Option\Value\Collection のコレクション読み込みのカスタマイズが改善されました。 GitHub-29621
  • array_merge のすべての出現箇所は、コーディング標準で推奨されている形式を使用するようにリファクタリングされています。 GitHub-30005
  • タイプ head.additional\Magento\Framework\View\Element\Text\ListText ブロックが(adminhtml によって) default magento2/module-base レイアウトに追加されました。 GitHub-29165
  • レイアウトテンプレートモジュールウィジェットに、欠落しているエスケープ URL メソッドを追加しました。 GitHub-30036
  • \Magento\Framework\Filesystem\Io\File::read() メソッドは、\Magento\Framework\Filesystem\Io\IoInterface::read() と互換性を持つようになりました。 GitHub-27866

クラルナ

  • PayPal モジュールの依存関係を削除しました。 GitHub-29421

ログ

  • Magento_Logging モジュールで、新しい値とそれらの前にある値が正しく登録されるようになりました。 以前は、「変更前の値」列の値には、最初の変更か次の変更か、またはデフォルト値が戻された時点に関係なく、「N/A」の値が表示されていました。 GitHub-26943

メディアギャラリー

  • 管理者 ストア/設定/詳細/システム ページが更新され、正しい製品名(メディアギャラリー)が表示されるようになりました。 ユーザーインターフェイスに対する小規模な再設計が含まれています。 GitHub-1738
  • Media Gallery の画像の説明の「使用されている場所」セクションにあるリンクに、選択した画像によって期待どおりにフィルタリングされたグリッドが表示されるようになりました。 以前は、表示されたグリッドのタイトルが正しくなく、リストエントリが正確ではありませんでした。 GitHub-1694
  • メディアギャラリーで複数の画像を正常に編集できるようになりました。 以前は、1 つの画像にタグを追加した後で、2 番目の画像にタグを追加することはできませんでした。 GitHub-1755
  • メディアギャラリーの画像からタグを削除すると、タグ ドロップダウンメニューが期待どおりに空になります。 GitHub-1703
  • Media Gallery 同期キューメッセージのバッチ処理がサポートされるようになりました。 GitHub-1724
  • 拡張メディアギャラリー が無効になっている場合にメディアギャラリーを開こうとすると、アプリケーションに期待どおりに 404 ページが表示されるようになりました。 GitHub-1760
  • 例外が発生した場合、MediaGalleryMetadata はセグメントリーダーをスキップし、代わりに画像メタデータを期待どおりに解析して表示するようになりました。 以前は、exif_read_data セグメントリーダーの例外により、画像メタデータは空でした。 GitHub-1782
  • フォルダー名の長さを変更しても、画像をメディアギャラリーにアップロードできなくなりました。 Media Gallery では、パス列をタイプ text として設定するようになりました。 GitHub-1778
  • Media Gallery からレンディションが挿入された際に、画像アップローダに正しい画像サイズが表示されるようになりました。 GitHub-1806
  • パスの検証が Mediagallery アップローダプラグインに追加されました。 以前は、検証に失敗し、「古いメディアギャラリーを有効にする が無効になっている場合、アプリケーションで製品が読み込まれませんでしGitHub-30649
  • ACL サブリソース Magento_Cms::media_gallery、新しいメディアギャラリーに追加および適用され、次の個別の操作に対する設定済みの権限をサポートするようになりました。

    • アセットのアップロード
    • コンテンツへのアセットの挿入
    • アセットの削除
    • フォルダーの作成
    • フォルダーの削除。 GitHub-1487
  • 長い Media Gallery のテキスト文字列とフォルダー名が切り抜かれなくなりました。 以前は、アプリケーションはテキストと画像を切り抜いて表示し、次のメッセージを表示していました:We couldn't find any recordsGitHub-1763GitHub-1758
  • 新しいページのコンテンツの編集中に画像が選択されていない場合、「選択項目を追加」ボタンが表示されなくなりました。 GitHub-1769
  • フィルターが、コンテンツ / メディアギャラリー カテゴリグリッドで期待どおりに適用されるようになりました。 GitHub-1763
  • Gallery multiply breakpoint options の設定が期待どおりに動作するようになりました。 以前は、ページの読み込み時にメディアクエリを終了機能がトリガーされ mediaCheck ので、ブレークポイントオプションの設定が正しく機能しませんでした。 GitHub-29933

MFTF

  • 繰り返しアクションが CheckStaticBlocksTest のアクショングループに置き換えられました。 GitHub-30561
  • MFTF のベスト プラクティスに準拠するために、AdminUpdateCategoryAndMakeInactiveTestVerifyChildCategoriesShouldNotIncludeInMenuTest がリファクタリングされています。 GitHub-30058
  • 重複 AdminOpenCMSBlocksGridActionGroup を削除しました。 GitHub-30896
  • AdminOpentCmsBlockActionGroup を AdminOpenCmsBlockActionGroup に置き換えました。 GitHub-29839
  • 非推奨(廃止予定) GoToAttributeGridPageActionGroupGitHub-30103
  • Analytics モジュールにアクショングループを追加しました。 GitHub-29500
  • テストの実行後に作成された注文をキャンセルするように、CheckCheckoutSuccessPageAsRegisterCustomerTestCheckCheckoutSuccessPageAsGuestTest を更新しました。 GitHub-28324
  • 冗長性のために AdminNavigateToPageGridActionGroup を削除しました。 GitHub-29838
  • チェックアウトページに移動するための ActionGroup を実装しました。 GitHub-29843
  • 新しいCMSの作成ページに移動するための AdminOpenCreateNewCMSPageActionGroup を実装しました。 GitHub-29824
  • Media Gallery のCMS ページの MFTF テストでのスキップの問題を修正しました。 GitHub-30164

新しいテスト

  • 管理者の友人にメールを有効にするテストを追加しました。 GitHub-29145
  • 管理者がCMS ブロックをグリッドから削除するテストを追加しました。 GitHub-30372
  • 単一のバンドル項目に買い物かごルールを適用するためのテストを追加しました。 GitHub-28921
  • エンティティが削除された後に、Media Gallery 画像の 使用中 情報が表示されるかどうかを確認するテストを追加しました。 GitHub-1774

新規アクショングループ

ニュースレター

  • 管理者ユーザーは、顧客がキュー内のニュースレターを購読する際に、期待どおりに顧客アカウントを編集できるようになりました。 GitHub-30645
  • 買い物客がニュースレターの購読を確認しなかった場合、アプリケーションはニュースレターの購読確認を再送信するようになりました。 GitHub-28422
  • 顧客がキュー内のニュースレターを購読した際に、顧客アカウントを期待どおりに編集できるようになりました。 GitHub-30645

支払い方法

  • マルチストアデプロイメントで想定どおりに、すべての web サイトの支払い方法が管理者に読み込まれるようになりました。
  • 買い物客の名前にアクセント付きレターが含まれている場合、アプリケーションは Payflow Pro の支払いを正常に完了するようになりました。 以前は、支払いが完了せず、アプリケーションにこのエラーが記録されていました:report.CRITICAL: String to be escaped was not valid UTF-8 or could not be converted

PayPal

  • クレジットカードを使用する支払い方法から、クレジットカード以外の支払い方法に切り替えた後、マーチャントは管理者から正常に注文できるようになりました。 以前は、マーチャントが「注文を送信」ボタンをクリックすると、読み込みプロセスが開始しても完了せず、注文は行われていませんでした。
  • PayPal Express で注文すると、アプリケーションで重複した注文が作成されなくなりました。 以前は、買い物客が PayPal Express で注文の支払いをしようとしたが、PayPal がエラーを返した場合、アプリケーションはまだ注文を作成していました。 その結果、業者のサイトで注文が重複することになりました。 GitHub-13952
  • PayPal 決済レポートは、期待どおりに レポート/営業/PayPal 決済 で使用できるようになりました。 以前は、アプリケーションは PayPal 決済レポートグリッドにこれらのレポートをリストしておらず、次のメッセージが表示されていました:We couldn't find any records
  • チェックアウト中に PayPal ボタンをクリックしても、冗長な web-api 呼び出しがトリガーされなくなりました。 以前は、2 つのリクエストがトリガーされ、製品の料金が 2 倍になりました。
  • 顧客グループへの自動割り当て が有効になっている場合、ゲストの買い物客は PayPal 注文を行えるようになりました。 支払いは PayPal ゲートウェイで処理され、注文はMagentoで作成され、買い物客には注文に関するお礼のページが表示されます。 以前は、注文は PayPal ゲートウェイで正常に処理されていましたが、注文はMagento Open Sourceで作成されませんでした。 買い物客は代わりに、注文の確認ページにリダイレクトされ、アプリケーションには次のエラーが表示されました。Failed address validation: %1" error GitHub-25399

パフォーマンス

  • Magento_Csp/Model/BlockCache は、メモリ消費と、不必要に大きなキャッシュされた文字列の生成の両方を減らすためにリファクタリングされました。 以前は、動的に許可リストに登録されたスクリプトやスタイルを含むページは、パフォーマンスの問題によって発生することが多くありました。 GitHub-29964
  • コンシューマーを使用した 10 万点以上の商品を含むカタログのスケジュールされたエクスポートのパフォーマンスを向上しました。
  • 無効な製品をカテゴリに追加または保存しても、アプリケーションでカテゴリキャッシュがフラッシュされなくなりました。 以前は、製品ステータスに関わらず、アプリケーションは関連カテゴリのキャッシュをフラッシュしていました。これはサーバーのパフォーマンスに影響を与えました。
  • 買い物かごでの製品数量を更新するためのページ読み込み時間が改善されました。 以前は、アプリケーションは買い物かごで製品ごとに複数の個別のクエリを実行したので、ページの読み込み時間が長くなりました。
  • Magento_Bulk MySQL テーブルにインデクサーが追加され、一括操作のパフォーマンスが向上しました。
  • アプリケーションは、設定可能な製品の子 ID をキャッシュするようになりました。 これにより、データベース要求の数が減り、ページ読み込みのパフォーマンスが向上しました。 GitHub-30585
  • 管理ダッシュボードの読み込みが改善されました。 以前は、ページの読み込みが完了する前に、アプリケーションはタブ名をリストとして表示していました。
  • Redis キャッシュ管理は、レイアウトキャッシュの有効期限の制限を追加することで改善されました。 以前は、大規模なデプロイメントで Redis キャッシュが割り当てられた最大メモリにすばやく到達し、アプリケーションが書き込み操作でエラーが発生していました。
  • app/code/Magento/Catalog/Model/CategoryLink.php の冗長データベースクエリの削除により、チェックアウトのパフォーマンスが向上しました。 GitHub-29453
  • パフォ Magento\Framework\DB\Adapter\Pdo\Mysql->isTableExists マンスを向上させるためにリファクタリングが行われました。 テーブルの存在を確認するための SHOW TABLE STATUS への冗長な呼び出しが削減されました。 GitHub-29662
  • getPageLayoutsConfig がキャッシュに保存されるようになり、config builder のパフォーマンスが向上しました。 GitHub-29546

持続

  • 永続カートが有効な場合、買い物客はセッション cookie の有効期限が切れた後は注文できなくなります。 代わりに、買い物客がログインできるようにログインページが表示されます。 以前は、アプリケーションによって注文が行われていました。 有効期限が切れ、永続的な情報から再作成され PHPSESSID ときに、アプリケーションが永続的 customerSession 顧客を正しく検証しませんでした。
  • 永続買い物かごが有効になっているストアに買い物客がログインした後、アプリケーションに「ようこそ」メッセージが期待どおりに表示されるようになりました。 以前は、アプリケーションに Not you?ログイン後に のメッセージが表示されます。
  • 「自分ではない というメッセージが表示されなくなります。永続買い物かごが有効になっているデプロイメントにログインする際に、顧客が この項目を記憶 オプションを選択した場合に表示されるテキストを します。
  • 顧客セッションの有効期限が切れると、アプリケーションには顧客の買い物かごの内容が表示されなくなります。 以前は、永続ショッピングカートが有効な場合にゲストのお客様がチェックアウトしようとすると、アプリケーションにこのエラーが表示されていました。No such entity with cartid = 0

Pricing

  • 非同期の価格アップデートが連続して行われても互いに干渉することはなくなり、各オペレーションに正しいステータスが割り当てられます。 以前は、非同期の価格更新が失敗した場合、対応するキューコンシューマーが再起動されるまで、それ以降の非同期の価格更新はすべて失敗していました。 GitHub-27865

レポート

  • レポート/マーケティング/買い物かごの製品 に、レポートを生成しているユーザーの許可されたスコープ内のレコードのみが表示されるようになりました。 以前は、すべてのスコープですべてのデータを使用できました。
  • 「買い物かごにある製品」レポートに製品通貨を表示する際に、レポートを生成する販売者の役割スコープで指定された通貨が使用されるようになりました。
  • 最近表示された項目および最近比較された項目の製品機能で、マルチストアデプロイメントで期待どおりに、管理画面に様々なストアと web サイトの統計が表示されるようになりました。 以前は、これらの機能はすべてのストアや web サイトを考慮に入れていませんでした。
  • 注文の価格レポートで、正しい通貨記号が使用されるようになりました。
  • ユーザーが管理ダッシュボードの「詳細レポートに移動 ボタンをクリックしたときに、トークンが存在するかどうかをアプリケーションが検証するようにな ました。 トークンが存在する場合は、アプリケーションに「詳細レポート」ページが表示されます。 トークンが設定されていない場合は、アプリケーションによってユーザーガイドに情報ページが表示されます。 GitHub-25411

レビュー

  • 管理者 マーケティング/すべてのレビュー新しいレビュー ボタンをクリックすると、新しいレビューページが期待どおりに読み込まれるようになりました。 このページで製品をクリックすると、その製品に対して期待される新しいレビューフォームが開きます。
  • 管理者 マーケティング/すべてのレビュー から注文を編集しようとすると、アプリケーションがこのエラーをスローしなくなりました:Uncaught TypeError: Event.observe is not a functionGitHub-30388

売上

  • order_created_atsales_shipment_grid 列が、各更新後に期待どおりに更新されるようになりました。
  • カスタムオプションの日付を使用した商品を、JavaScript カレンダーを使用 が有効になっているストアから正常に並べ替えることができるようになりました。 以前は、並べ替えようとした際に、アプリケーションが買い物かごに項目を追加せず、次のエラーが表示されていました。Could not add the product with SKU "simp1" to the shopping cart: Please specify date required option(s).
  • 小計ゼロのチェックアウト方法が有効になっているデプロイメントで、買い物客が合計$0 の仮想製品で構成される注文をチェックアウトしても、アプリケーションはすぐに注文をクローズしなくなりました。
  • アプリケーションは、処理する前にオーダーをアーカイブしなくなりました。 以前は、管理注文グリッドでの複数選択アクションは、未選択の注文に影響を与えていました。
  • サウジアラビア リアル (SAR)が基本通貨として設定されている場合、クレジット メモ グリッドに正しい通貨記号が表示されるようになりました。
  • チェックアウト時に、アプリケーションは配送先住所情報を注文ページで期待どおりに表示するようになりました。
  • total_qty の値が、売上請求書の total_qty_ordered の値と一致するようになりました。
  • 販売メールの非同期送信で、最終更新日以降に作成された注文に対してのみメールを送信するようになりました。 以前は、非同期送信が有効な場合、アプリケーションは日付でメールをフィルタリングしていませんでした。
  • 管理者から注文が行われると、アプリケーションから請求書メールが期待どおりに送信されるようになりました。
  • マーチャントが管理者から顧客の新しい注文を作成する際に、セッション中に既存の注文データがクリアされるようになりました。
  • 顧客グループへの自動割り当てを有効にする が有効になっている場合に、管理注文を通じて作成された新規顧客の顧客グループを変更できるようになりました。 VAT 検証に基づいて顧客グループを割り当てることもできます。 以前は、VAT 番号を検証する際に、リクエストオブジェクトが割り当てられたリクエスト group_id をチェックしていませんでした。 デフォルトでは、デフォルトの group_id が使用されます。
  • マーチャントが REST API を使用して部分出荷を作成した後、Suspected Fraud のステータスを持つカスタム注文ステータスのステータスが Processing に変更されなくなりました。

販売ルール

  • 配送方法に基づいて適用されたクーポンコードは、買い物客が配送方法を変更した場合に適用されなくなりました。 以前は、買い物客が配送方法を切り替えても、アプリケーションでクーポンコードがクリアされていませんでした。
  • 買い物客は、顧客ごとの使用 設定で許可されている頻度を超えてクーポンコードを適用することはできません。 以前は、買い物客が複数のブラウザーウィンドウを開いていて、複数の注文を同時に行った場合、顧客ごとの使用 設定が 1 であっても、各注文は割引を受けました。

検索 search-heading

  • 買い物客が検索同義語を検索すると、Elasticsearchが不明な修飾子エラーをスローしなくなりました。 以前は、エスケープするスラッシュ記号が正規表現に含まれていなかったので、致命的なエラーが発生していました。
  • 子製品の表示が 個別に表示されない に設定されている場合、詳細検索で、設定可能な製品の子が個別の検索結果として返されなくなりました。
  • Elasticsearchの検索結果で表示される製品名では、大文字と小文字が区別されなくなりました。
  • キャッシュする上位の検索結果の数を 0 に設定 設定が、管理者 ストア/設定/カタログ/カタログ/カタログ検索 で有効になっている場合、検索結果ページが期待どおりにキャッシュされるようになりました。
  • Elasticsearchのフィールド制限により、カタログ検索インデクサーがエラーをスローせずに実行されるようになりました。 以前は、アプリケーションは次のエラーをスローしていました:Limit of total fields [xxx] in index [m24dev_product_1_v10] has been exceeded
  • カタログ検索のパフォーマンスが向上しました。 検索候補を有効にするStores/Configuration/Catalog/Catalog Search)の無効化が期待どおりに動作します。 以前は、アプリケーションはオートコンプリート検索候補としてElasticsearchの代わりに MySQL search_query テーブルをクエリしていました。 GitHub-25534
  • Elasticsearchでは、MySQL と同じ製品価格をフィルタリングするようになりました。 Elasticsearch インデックスのフィールドタイプ price_*float から double に変更して、精度を高め、浮動小数点誤差を修正しました。
  • スラッシュが入力されたときにグローバル検索フォームをアクティブ化するキーダウンイベントリスナーが管理者に追加されました。 GitHub-29551
  • string 値を使用して integer または decimal バックエンド型の属性で商品をフィルタリングする場合、Elasticsearchはエラーをスローしなくなりましたが、代わりに商品が期待どおりに表示されなくなりました。 以前は、アプリケーションでは exception.log: number format exception にこのエラーが表示されていました。
  • 検索語句に / が含まれている場合に、Elasticsearchが例外をスローしなくなりました。 GitHub-25886, GitHub-25110

  • 一般的なカテゴリ権限の カタログ検索を許可しない 設定が有効になっている場合、製品クエリから選択した顧客グループに対して、検索が期待どおりに無効になりました。 GitHub-29927

  • 検索結果に、同じ単語の複数の引用が含まれなくなりました。 GitHub-30104

送料

  • ネットワークの中断によって DHL 配送方法への接続が中断された場合でも、チェックアウトプロセスが失敗しなくなりました。 代わりに、使用可能な他の発送方法が表示されます。 以前は、DHL 配送への接続が中断されるとチェックアウトプロセスが停止し、アプリケーションに「Sorry, no quotes are available for this order at this time」というエラーが表示されていました。 GitHub-29902
  • 管理者 ストア/設定/セールス/配信方法 で UPS 配信方法を説明するフィールドが、期待どおりに有効になりました。
  • POST /rest/V1/shipment エンドポイントを通じて作成された出荷で、注文が正しく更新されるようになりました。 以前は、アプリケーションによって出荷が作成されましたが、出荷ステータスは処理状態のままでした。
  • 複数のアドレスに送信してチェックアウトする前に別の製品が買い物かごから削除された場合、アプリケーションは買い物かごから単純な製品を削除しなくなりました。 GitHub-30259
  • 注文の確認ページに、複数の住所に出荷される注文の場合と同様に、出荷金額より前の税額が表示されるようになりました。
  • UPS 出荷の追跡で、パッケージが配達された場合にのみ Delivered On のステータスが示されるようになりました。 GitHub-30032
  • 複数のアドレスを持つ買い物客が、チェックアウトから買い物かごに戻ったときに、仮想製品を含む注文の正しい買い物かごの小計がアプリケーションに表示されるようになりました。
  • JavaScriptのバンドルが有効な場合、FedEx による配送を使用する既存の注文に対して、マーチャントは配送ページから配送ラベルを作成できるようになりました。 以前は、マーチャントが「配送ラベルを作成」ボタンをクリックすると、アプリケーションがエラーをスローしていました。
  • 顧客に送信される出荷確認メールの出荷トラッキングリンクが期待どおりに機能するようになりました。 以前は、このリンクは 404 エラーを返していました。
  • 買い物客が複数のアドレスを使用してチェックアウトすると、アプリケーションに情報エラーメッセージが表示され、仮想製品以外のすべての製品が削除されるようになりました。 GitHub-25595
  • 部分注文で想定どおりに出荷ラベルを作成できるようになりました。 以前は、1 つの注文から 1 つの品目に対してのみ出荷ラベルを作成しようとすると、アプリケーションがすべての製品をパッケージに追加し、検証に失敗していました。 GitHub-29552
  • /V1/guest-carts/:cartId/totals-information を呼び出す際に、発送方法の検証がバイパスされなくなりました。 GitHub-25147

サイトマップ

  • cron で生成されるサイトマップに、正しい画像 URL が含まれるようになりました。 以前は、マルチストアのデプロイメントで、生成されたキャッシュ済み画像のパスが正しくありませんでした。

ストア

  • 管理者とメインのストア切り替えボタンに、管理者のストアの並べ替え順に対する変更が反映されるようになりました。 GitHub-13401
  • アプリケーションは、ストアビューのトップレベル URL キーが変更された後で、カテゴリと製品の正しい URL を作成するようになりました。 以前は、ストア表示のカテゴリツリーに変更された url_keys が含まれていた場合、カテゴリキーは変更しないがカテゴリの親のキーは変更していた場合、URL を作成するときに、元のコードでカテゴリのデフォルトのストア表示が使用されていました。 GitHub-28633

ターゲットルール

  • 製品の詳細ページの読み込みを最適化しました。 多くの場合にターゲットルールの条件クエリを最適化するデータベーステーブルのインデックスを追加しました。

  • ゲストの注文に対する VAT 検証では、アプリケーションで間違った顧客税クラスの見積もりが保存されなくなりました。 GitHub-30018
  • FPT が設定されている場合、チェックアウト時に複数のアドレスに出荷される注文を保存できるようになりました。 以前は、複数のアドレスに対する注文を完了した後、アプリケーションに注文成功ページではなく空白ページが表示されていました。
  • ストアフロントの製品詳細ページに、新旧の価格が期待どおりに表示されるようになりました。 GitHub-27500, GitHub-11998

テスト

  • bin/magento dev:tests:run は、all、unit、integration、integration-all、static、static-all、integrity、legacy、default のテストを期待どおりに開始します。
  • AdminMediaGalleryInsertLargeImageFileSizeTest はリファクタリングされています。
  • 単体テストは PHPUnit 8 に対応するようになりました。 GitHub-29779
  • \Magento\TestFramework\TestCase\WebapiAbstract には、テストでの期待される結果と実際の結果の大きなネストされた配列の比較をサポートする関数が含まれるようになりました。 結果内の無関係なキーを無視できるようになりました。 GitHub-29498
  • AdminMediaGalleryCatalogUiEditCategoryGridPageTest がランダムに失敗しなくなりました。 GitHub-1764
  • dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest が改善されました。 (assert は、XPath ではなく assertStringContainsString セレクターに基づいています。) GitHub-29700
  • AdminAnalytics モジュールのテストカバレッジを追加しました。 GitHub-29500
  • 統合および API 機能テストが PHPUnit 9.3 と互換性を持つようになりました。GitHub-30146
  • GraphQL testRequestCacheTagsForCategoryListOnMultipleIds テストの問題を修正しました。 GitHub-29372
  • URL を含むヘッダー値は、ApiFunctional TestFramework で正しく解析されるようになりました。 GitHub-26425
  • GraphQL testRequestCacheTagsForCategoryListOnMultipleIds テストの問題を修正しました。 GitHub-29372
  • —no-tablespaces のすべてのケースに mysqldump が追加されました。これにより、PROCESS 権限なしで統合テストを実行できます(MySQL 5.7.31/8.0.21 以降は、デフォルトで mysqldump を実行するために必要です)。 GitHub-30566

テーマ

  • テーマの親がコンパイルされないようにする新しい --no-parent フラグが bin/magento setup:static-content:deploy コマンドに追加されました。 この新しいフラグにより、不要なコンパイルを回避して、静的コンテンツのデプロイメントプロセスのパフォーマンスを大幅に向上させることができます。 この新しいフラグは、compact 戦略を使用する場合には機能しません。 GitHub-30184
  • デザイン設定で DDL 操作が生成されなくなりました。 以前は、デザイン設定が更新されると、MySQL エラーをトリガーする可能性のある DDL ステートメントが生成されていました。
  • 管理テーマの Magento_ConfigurableProduct モジュールの冗長コードが削除されました。 GitHub-29857
  • 空白のテーマ内の冗長な LESS スタイルナビゲーションと未使用のプロパティが削除されました。 GitHub-29914
  • モバイル表示の空白のテーマに折りたたみ可能なナビゲーション機能を追加しました。 GitHub-30237
  • テーマの web フォントの読み込みを最適化しました。 GitHub-29526
  • 開発者は、テーマでカスタムフォントを宣言する際に、フォントタイプを指定できるようになりました。 GitHub-29719

翻訳とロケール

  • 管理者ロケールがアラビア語(ar_SA - Saudi Arabia)の場合、管理者による注文グリッドの日付選択が期待どおりに機能するようになりました。
  • 新しいアドレスを登録または追加する際に、買い物客が有効な郵便番号でアルゼンチンのアドレスを入力しても、アプリケーションにエラーメッセージが表示されなくなりました。 以前は、アプリケーションに次のエラーが表示されていました。Provided Zip/Postal Code seems to be invalid. Example: 1234. If you believe it is the right one you can ignore this notice.
  • 買い物客が韓国人住所の 5 桁の郵便番号を入力しても、アプリケーションがエラーをスローしなくなりました。
  • zip_codes.xml は、ブラジルの郵便番号を 8 桁に変換するように更新されました。 GitHub-29984
  • 残りのローカライズされていないフレーズのローカリゼーションを改善しました。 GitHub-11175
  • グリッド検索入力プレースホルダーを翻訳できるようになりました。 GitHub-30510
  • インライン翻訳のJavaScript モジュールが有効な場合にのみダウンロードされるようになりました。 GitHub-29553

UI

  • 新規アカウントを作成ページの アカウントを作成 ボタンは、買い物客が無効なデータを入力してもアクティブなままです。 以前は、このボタンは無効になっていたため、買い物客はエラーを起こした後にアカウントを作成し直すことができませんでした。 これは 2.4.1 の既知の問題でした。GitHub-30513
  • 管理注文の編集ページの配送グリッドの読み込みを改善しました。
  • SKU によって製品が買い物かごに追加された場合、アプリケーションには、注文ページで期待どおりに 請求先住所と同じ チェックボックスが表示されるようになりました。
  • 制限付きの幅を定義した CSS クラスが、管理 ストア/設定/カタログ/XML サイトマップ/生成設定開始時刻 フィールドに正常に適用されるようになりました。 GitHub-29496
  • 利用条件チェックボックスラベルの表示の問題を修正しました。 GitHub-24060
  • 階層価格が使用できない場合、製品ページの階層価格ブロックの CSS コードがアプリケーションに表示されなくなりました。 GitHub-29194
  • 画像ビューの詳細ページのボタンの位置が、ユーザーインターフェイスのガイドラインに従って並べ替えられました。 GitHub-1783
  • Internet Explorer/EDGEのブラウザーで、クーポンコードのテキストフィールドが適切な幅で表示されるようになりました。
  • これで、@button__border-radius 変数が lib/web/css/source/lib/variables/_buttons.less ライブラリで定義されました。 border-radius のデフォルト値は 3px です。 以前は、border-radius はハードコードされていました。 GitHub-28674
  • ミニ検索フィールドの「検索文字列の長さが検索文字列の最小値に達するまで」検索ボタン(虫眼鏡)が無効になりました。 GitHub-29704
  • テンプレートをプレビュー」ボタンが、キューの編集ページで期待どおりに動作するようになりました。
  • あるグループから別のグループに属性を移動しても、アプリケーションで属性の値が保持されるようになりました。
  • lib/web/css/source/lib/variables/_typography.less にフォントウェイト(太い)変数を追加しました。 GitHub-29778
  • フィルター表示が、管理グリッドで期待どおりに列の表示と連携するようになりました。 GitHub-30345
  • this.disabled(true) を設定すると、UI 選択コンポーネントオプションが表示されなくなりました。 GitHub-29098
  • @font-family-name__base 変数は、Open Sans フォントを読み込む際には使用されなくなりました。 GitHub-29515
  • WAI-ARIA 属性 aria-atomic="true" がエラーコンテナタグに追加されました。 GitHub-29560
  • UI コンポーネントグリッドに、選択した項目の正確な数が表示されるようになりました。 以前は、キーワードで検索がすべてのグリッド項目を選択し、その後、買い物客がヘッダーチェックボックスを選択する前に一部の項目を選択解除すると、グリッドが誤った選択数を示していました。 GitHub-29968
  • 請求書および出荷概要ページに、レンダリングされていないHTMLが表示されなくなりました。 GitHub-29958
  • 管理 ストア/通貨レート で「オプション」をクリックすると、システム設定ページの展開された通貨オプション セクションに移動するようになりました。 GitHub-29336
  • ウィジェットのタイプを選択を使用する際に、adminhtml のウィジェットの別の条件に応じてウィジェットを表示するサポートが改善されました。 GitHub-13316GitHub-7252GitHub-6868
  • Luma テーマの確認ポップアップダイアログでのテキストのパディングを改善しました。 GitHub-30452

Vault

  • Vault モジュールは、支払い情報管理サービスの要求から支払い方法コードを認識するようになりました。 以前は、保存済みのBraintree クレジットカードを使用して買い物客が注文した場合、有効な支払い方法が使用されていても、アプリケーションがこのエラーをスローしていました(The requested Payment Method is not available)。
  • 管理者ログインの顧客ページにアプリケーションによって表示されるバナーは、ユーザーがスクロールしてもページの上部に残るようになりました。 GitHub-29354

頂点

  • アドレスの修正時に、アドレス候補が期待どおりに削除されるようになりました。

  • 一部のお客様がアカウントパネルにアドレスを保存できなかった競合状態が解決されました。

  • 頂点アドレス検証では、特定の条件でアドレス編集ページがフルページキャッシュに追加されなくなりました。

  • 頂点計算税は、送料無料が税を含む金額で設定されている場合に考慮されるようになりました。

Web API フレームワーク

  • POST V1/invoice/:invoiceId/refund を使用して、数量がゼロで送料がゼロの請求書を払戻せるようになりました(例:{"items": [{"qty": 0, "orderItemId": 6, "extensionAttributes": {}}], "appendComment": false, "notify": true, "isOnline": true, "arguments": {"adjustment_negative": 0.0, "adjustment_positive": 0.99, "shipping_amount": 0}}.)。以前は、アプリケーションによって次のエラーがスローされていました。You can't create a creditmemo without products GitHub-23069
  • POST V1/categories を使用してカテゴリを作成または更新できるようになりました。 以前は、default_sort_by の値が配列として設定されている場合、アプリケーションは値を保存しませんでした。 default_sort_by の値が文字列として設定された場合、アプリケーションは次のエラーをスローしました:Error occurred during \"custom_attributes\" processing. Attribute \"default_sort_by\" has invalid value. The \"string\" value's type is invalid. The \"string[]\" type was expected. Verify and try again.
  • POST V1/invoices/:id/capture を使用して支払い情報をキャプチャすると、期待どおりに動作するようになりました。 以前は、アプリケーションは注文を承認しましたが、支払いゲートウェイのサイトでのみ注文をキャプチャしました。
  • POST V1/order/:orderId/ship を使用して部分出荷を作成すると、エンドポイントは正しい出荷済製品数を返します。
  • POST V1/order/:orderID/invoice を使用して作成された請求書に、店舗クレジットによる一部支払が正確に反映されるようになりました。 以前は、注文の一部がストアクレジットで支払われた場合、ストアクレジットを考慮せずに請求書が作成されていました。
  • GET rest/all/V1/categories およびGET rest/all/V1/categories?rootCategoryId=2 呼び出しで、入力された name フィールドと product_count フィールドがツリー内のすべてのカテゴリで期待どおりに返されるようになりました。 以前は、カテゴリフィールドの値は空でした。 テーブル名リゾルバープラグインが、カテゴリ別の製品数を取得するために誤ったテーブル名を返しました。
  • V1/categories/:id カスタム属性が指定されている場合、カテゴリ URL キーの 301 リダイレクトの作成に必要なデータがPUT save_rewrites_history エンドポイントに保存されるようになりました。 GitHub-29174, GitHub-30240

ウィッシュリスト

  • 買い物客は、商品がカスタムのインベントリソースに割り当てられている場合、ウィッシュリストに商品を追加できるようになりました。 GitHub-3018
  • 管理者は、顧客がストアフロントからウィッシュリストに製品を追加した後、管理者の顧客ページから「買い物かごを管理」ページにアクセスできるようになりました。 以前は、管理者が 買い物かごを管理 ボタンをクリックすると、アプリケーションに次のエラーが表示されていました:An error has occurred. See error log for details
  • 共有ウィッシュリストページの 買い物かごに追加 ボタンが、ログインしていない匿名、ゲスト、ユーザーに対して期待どおりに動作するようになりました。
  • ウィッシュリストページで、選択した設定可能な製品属性オプションが、期待どおりに表示されるようになりました。 GitHub-24091, GitHub-22503
  • ActionInterface\Magento\Wishlist\Controller\Shared\Allcart を実装しました。 GitHub-29537

既知の問題

問題:[magento_root]/index.php ファイルが削除され、Apache 設定のデフォルトでアプリケーションが /pub から実行されるようになりました。 サブフォルダーから提供されるストアは期待どおりに動作せず、404 エラーが表示される場合があります。 回避策:シンボリックリンクを使用して、サブフォルダーへのインストールをエミュレートします。 次の例では、https://shop01.com/shop/ を使用して、シンボリックリンクを使用してサブフォルダーのインストールをエミュレートする方法を示します。

  1. https://shop01.com/shop/ のサブディレクトリを作成します。

    code language-bash
    mkdir magento_root/pub/shop01
    
    code language-bash
    cd magento_root/pub/shop01
    
  2. 新しく作成したディレクトリに、ストアの親ディレクトリのシンボリックリンクを作成します。

    code language-bash
    ln -s ../media media
    
    code language-bash
    ln -s ../static static
    
    code language-bash
    ln -s ../../../pub pub
    
    code language-bash
    ln -s ../.htaccess .htaccess
    
    code language-bash
    ln -s ../health_check.php health_check.php
    
  3. 新しいディレクトリ(index.php)内に magento_root/pub/shop01/index.php ファイルを作成し、次のコンテンツを追加します。

   <?php
   require realpath(__DIR__) . '/../../../app/bootstrap.php';

   switch ($_SERVER['HTTP_HOST']) {
       case 'shop01.com':
       case 'www.shop01.com':
           $params = $_SERVER;
           $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'shop01';
           $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
           $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
           $app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
           $bootstrap->run($app);
           break;

       default:
           $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
           /** @var \Magento\Framework\App\Http $app */
           $app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
           $bootstrap->run($app);
       break;
   }
  1. 新しいサブディレクトリを指すように Apache サーバーを設定します。 デプロイメントの設定は、大きく異なる場合があります。 サーバー設定の例を次に示します。
   <VirtualHost *:80>
       DocumentRoot "magento_root/pub/shop1"
       ServerName shop01.com
   </VirtualHost>

問題:買い物客が最初に支払いページの CAPTCHA フィールドに正しいコードを入力したが、次のエラーが表示される場合、アプリケーションが支払い情報を期待どおりに送信しません。There has been an error processing your request これは、買い物客が CAPTCHA コードを入力せずに、または誤って入力して注文を行おうとした場合にのみ発生します。 回避策:ページを更新します。

問題:買い物客が Venmo で支払う をクリックすると、Braintreeで想定どおりに注文が作成されますが、管理者では注文が作成されません。 2.4.2 の既知の問題:Braintree Venmo の支払いが機能しない ​ ナレッジベースの記事を参照してください。

問題:Inventory を実行するマルチストアデプロイメントのデフォルト以外のストア表示では、addConfigurableProductToCart GraphQL ミューテーションを使用して、設定可能な商品を買い物かごに追加できません。 (Luma ストアフロントは影響を受けません。)アプリケーションに「Could not add item to cart. Please check required options and try again」というエラーが表示されます。 回避策:代わりに、addProductsToCart のミューテーションを使用します。 GitHub-31660

コミュニティの投稿

Magento Open Sourceの皆さまには深く感謝申し上げるとともに、今回のリリースに対する皆さまのご尽力を心より感謝申し上げます。

コミュニティエンジニアリングチーム Magentoのコントリビューター ​ は、月、四半期、年ごとに、貢献した上位の個人とパートナーのリストを管理します。 その投稿者ページから、GitHub の結合された PR へのリンクをフォローできます。

パートナーの投稿

次の表に、パートナー様のコントリビューションを示します。 この表は、プルリクエストを行ったパートナー、外部プルリクエスト、それに関連付けられた GitHub 問題番号(利用可能な場合)の一覧です。

パートナー
プルリクエスト
関連する GitHub の問題
Atwix
magento/magento2#29630magento/magento2#29459magento/magento2#29703magento/magento2#29460magento/magento2#29042magento/magento2#29482magento/magento2#28821magento/partners-magento2ee#260magento/magento2#29148magento/magento2#29634 ​ 29832 ​ 29830 ​ 29829 ​ 29828 ​ 29821 ​ 29820 ​ 29836 ​ 29831 ​ 29822 ​ 28653 ​ 27391 ​ 29833 ​ 29904 🔗 🔗 🔗 ​ 29929 ​ 29962 🔗 ​ 29931 🔗 ​ 29835 ​ 29834 ​ 30081 ​ 30030 ​ 29827 ​ 30049 ​ 30217 ​ 27939 🔗 ​ 30222 🔗 ​ 29868 🔗 ​ 30079 ​ 30317 ​ 30633 ​ 30619 ​ 30359 ​ 30223 ​ 30630 ​ 29675 ​ 30777 ​ 30528 ​ 30525 ​ 30779 ​ 30529 ​ 30694 🔗 🔗、magento/magento2#MAGENTO, magento/magento2#MAGENTO, magentomagento/magento2#MAGENTO, magento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTO magento/magento2#, magento/partners-magento2ee#2644, magento/partners-magento2ee#31663, magentomagento/magento2#MAGENTO, magento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#2, magentomagento/magento2#2799, magento/partners-magento2ee#3499, magento/magento2#MAGENTO, magento/magento2#MAGENTO, magentomagento/magento2#MAGENTO, magentomagento/magento2#MAGENTO, MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTOmagento/magento2ee#4000 以上
magento/magento2#29649magento/magento2#29712magento/magento2#29501magento/magento2#29145magento/magento2#29500magento/magento2#28520magento/magento2#28558magento/magento2#29648magento/magento2#29843magento/magento2#29845magento/magento/magento2#29846 ​ 29847 ​ 29824 ​ 29823 ​ 29841 ​ 29844 ​ 29825 ​ 29531 ​ 29601 ​ 29839 ​ 28551 ​ 29940 ​ 29982 ​ 29941 ​ 29842 ​ 29838 ​ 30103 ​ 30032 ​ 29848 ​ 30058 ​ 30031 ​ 30061 ​ 30561 ​ 30469 ​ 30468 ​ 30372 ​ 30683 ​ 30624 ​ 29168 ​ 30783 ​ 30916 ​ 30917 ​ 30782 ​ 30926 ​ 30625 ​ 30474 🔗、magento/magento2#MAGENTO, magento/magento2#MAGENTO, MAGENTOmagento/magento2#MAGENTO, magento/magento2#MAGENTOmagento/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTO magento/magento2#MAGENTO, magento/magento2#MAGENTO, magentomagento/magento2#MAGENTO, magento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTO magento/magento2#MAGENTO, magento/magento2#MAGENTO, magentomagento/magento2#MAGENTO, magento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTOmagento/magento2#MAGENTO/magento2#MAGENTO magento/partners-magento2ee#magento は、magento2ee#410
ブルーエイコーン iCi
magento/magento2#29670magento/magento2#29669magento/magento2#29564magento/magento2#27494magento/magento2#29269magento/magento2#27609magento/magento2#29688magento/magento2#29081magento/magento2#28379magento/magento2#29722magento/magento/magento2#27077 ​ 30318 ​ 30010、magento/magento2#MAGENTO, magentomagento2#Magento
magento/magento2#29672magento/magento2#29673magento/magento2#29679magento/magento2#29537magento/magento2#25595magento/magento2#29689magento/magento2#28154magento/magento2#28428magento/magento2#27397magento/magento2#29729magento/magento/magento2#29558 ​ 25110 ​ 25886 ​ 28286 ​ 30009、magento/magento2#MAGENTO, magentomagento/magento2#MAGENTO, MAGENTOmagento/magento2#MAGENTO, MAGENTOmagento/magento2#MAGENTO, MAGENTOmagento/magento2#MAGENTO
Comwrap
magento/magento2#29814magento/magento2#29751magento/partners-magento2ee#337magento/partners-magento2ee#328magento/partners-magento2ee#319magento/magento2#30118magento/magento2#30019magento/magento2#29998magento/magento2#29883
magento/magento2#29718, magento/magento2#29372, magento/magento2#29927, magento/magento2#29930, magento/magento2#29926, magento/magento2#29880
速い白い猫
magento/magento2#29413, magento/magento2#28163, magento/magento2#30320, magento/magento2#30355, magento/magento2#28157, magento/magento2#30114
magento/magento2#24060, magento/magento2#13401, magento/magento2#11175, magento/magento2#30296, magento/magento2#22503, magento/magento2#24091, magento/magento2#30073
ヴァイモ
magento/magento2#29339, magento/magento2#28676, magento/magento2#29885
magento/magento2#28633, magento/magento2#29890
Cedcommerce
magento/magento2#27602, magento/magento2#30400, magento/magento2#30391
magento/magento2#27350, magento/magento2#30361, magento/magento2#30362, magento/magento2#30255
MRM COMMERCE
magento/magento2#30120, magento/partners-magento2ee#175
magento/magento2#30133, magento/partners-magento2ee#26943
EY
magento/magento2#30130
ピンポイント
magento/magento2#28687, magento/magento2#28663, magento/magento2#28491
magento/magento2#8538, magento/magento2#28479, magento/magento2#28186
creativestyle
magento/magento2#27696, magento/magento2#25405
magento/magento2#29553, magento/magento2#25399
魚眼
magento/magento2#27940, magento/partners-magento2ee#267, magento/magento2#28216
magento/magento2#29555, magento/magento2#13440
SNOW.DOG
magento/magento2#29934
magento/magento2#29933
integer_net GmbH
magento/magento2#28164
magento/magento2#29585
ジフティー
magento/magento2#29353, magento/magento2#27896, magento/magento2#28349
magento/magento2#29194, magento/magento2#29098
ブルーバードの日
magento/magento2#27832
magento/magento2#11998, magento/magento2#27500
Krish TechnoLabs
magento/magento2#29923
magento/magento2#29920
生まれたグループ
magento/magento2#30109, magento/magento2#30421
magento/magento2#30125
ガイダンスソリューション
magento/magento2#28818
magento/magento2#29546
ル サイト
magento/magento2#25412
magento/magento2#25411
ケンシウム・ソリューションズ合同会社
magento/magento2#30230
magento/magento2#30179
Webjump
magento/magento2#27869
magento/magento2#27866
適切なコンサルティング
magento/magento2#29692
magento/magento2#30243
ワジェント
magento/magento2#30411
magento/magento2#30408
MediaCT
magento/magento2#29210
magento/magento2#29515
コメロ
magento/magento2#28917
magento/magento2#29656

個々のコントリビューターの投稿

次の表に、コミュニティメンバーからの投稿を示します。 この表は、外部プルリクエスト、それに関連付けられた GitHub 問題番号(利用可能な場合)、プルリクエストを行ったコミュニティメンバーの一覧です。

コミュニティメンバーの投稿
プルリクエスト
関連する GitHub の問題
ナザール クロバニチ
#29576
1449
シャンカル コナール
#29511
29496
ヘーゼルジョイカクイクラ
#29494
ヘーゼルジョイカクイクラ
#29491
コス・ラファウ
#29483
29525
ヘーゼルジョイカクイクラ
#29461
Jekabs
#29458
29498
ナザール クロバニチ
#29452
jmonteros422
#29435
1711
シャンカル コナール
#29433
1738
ナザール クロバニチ
#29429
17551694
バルトマイエイ スズベール
#29413
24060
アンジェロ・ロマーノ
#29410
29416
ハネマイ ルイーズ イグナシオ
#29400
1703
フランシゼク ワールザク
#27478
29606
Lukasz Bajsarowicz
#29670
29672
Lukasz Bajsarowicz
#29669
29673
ナザール クロバニチ
#29636
1764
オレ ウシク
#29630
29649
Lukasz Bajsarowicz
#29564
29679
イホル スヴィジエフ
#29518
29653
オレ ウシク
#29459
オレクサンドル クラフチュク
#29339
ウィル ライト
#29316
29315
ヴァディム マレシュ
#29693
29700
ヴァディム マレシュ
#29682
アンドレイ ベジアーズィチニ
#29703
29712
シャンカル コナール
#29510
28422
ヴァディム マレシュ
#29474
29267
オレ ウシク
#29460
29501
ドミトリー・トシンバル
#29042
29145
サヴァス ラデヴィク
#28816
28802
サシャ
#28548
28674
ヤン・ナソノフ
#28512
29661
ルドルフ ヴィンス
#27494
29537
ナザール クロバニチ
#29684
1769
ナザール クロバニチ
#29633
1763
ヘーゼルジョイカクイクラ
#29639
jmonteros422
#29632
1760
オレ ウシク
#29482
29500
イスラム教のスブラマニア人
#29353
29194
ラッセル・アルビン
#29269
25595
バルトマイエイ スズベール
#28163
13401
マテウス・クルゼゾウィーク
#27696
29553
ヴィタリー・プロコポフ
#27691
26903
コロスティイ
#26081
26080
ナザール クロバニチ
#29711
1774
ヘーゼルジョイカクイクラ
#29411
ウォウト・クレイマー
#29210
29515
エドゥアルド・チトラガ
#29148
オレ ウシク
#28821
28558, 28520
ナザール クロバニチ
#29783
1780
jmonteros422
#29774
1783
ヘーゼルジョイカクイクラ
#29772
セルジイ イワシチェンコ
#29761
jmonteros422
#29753
1784
ナザール クロバニチ
#29743
1782
ナザール クロバニチ
#29742
1778
ヘーゼルジョイカクイクラ
#29705
jmonteros422
#29677
1504
イホル スヴィジエフ
#29799
オレ ウシク
#29634
29648
アレクサンドル・スクラシュク
#29348
28921
ヴィタリー・プロコポフ
#28413
28388
Lukasz Bajsarowicz
#27609
コロスティイ
#27579
27523
クリスティアン パーティカ
#29426
29425
ミハウ・デルラトカ
#28915
26425
オレ ウシク
#29832
29843
オレ ウシク
#29830
29845
オレ ウシク
#29829
29846
オレ ウシク
#29828
29847
オレ ウシク
#29821
29824
オレ ウシク
#29820
29823
デニス・バベンコ
#28343
29067
バル
#27269
26288
アンドリー・カシア
#27129
25199
ヘーゼルジョイカクイクラ
#29875
ヘーゼルジョイカクイクラ
#29869
オレ ウシク
#29836
29841
オレ ウシク
#29831
29844
オレ ウシク
#29822
29825
トゥグエン
#29044
29526
ビノス
#28349
bradleybrecher
#27386
29560
セルジイ イワシチェンコ
#29921
ヘーゼルジョイカクイクラ
#29896
シャンカル コナール
#29724
29704
オレ ウシク
#28653
29531
トゥグエン
#29913
29914
ナザール クロバニチ
#29861
1789
トゥグエン
#29856
29857
トゥグエン
#29771
29779
エデン ドゥオン
#29278
29277
エデン ドゥオン
#29276
29336
モハメド・アサル
#27896
29098
ハネマイ ルイーズ イグナシオ
#29947
toxix
#29925
28981, 29879
ビクトル コピン
#29906
オルガ ザハルチュク
#29863
29958
ニコラジ・マレバネツ
#29006
12087
アブドゥル・ラーマン・アブザイド
#28687
8538
KrielkipNL
#27832
11998, 27500
ガウラブ アガワル
#27602
27350
アレクサンダー・タラノフスキー
#27391
29601
スタニスラフ・イルニツキー
#26877
26876
セルジイ イワシチェンコ
#29889
ナザール クロバニチ
#29715
1487
ハネマイ ルイーズ イグナシオ
#29543
1724
オレ ウシク
#29833
29839
ポーラビット チュアスク
#28896
28892
ヴィタリー・プロコポフ
#27857
26976
エドゥアルド・チトラガ
#29904
ヘーゼルジョイカクイクラ
#30006
イホル スヴィジエフ
#29993
30004
ビクトル コピン
#29959
1813
ヘーゼルジョイカクイクラ
#29909
Lukasz Bajsarowicz
#29688
29689
シャンカル コナール
#29415
29354
ヘーゼルジョイカクイクラ
#29967
オレ ウシク
#29929
29940
ヘーゼルジョイカクイクラ
#29895
アショカデウィット
#27446
29603
パスカル ブルワー
#26527
26526
セルジイ イワシチェンコ
#30076
ヘーゼルジョイカクイクラ
#30044
ビクトル コピン
#29979
1806
ジャヌシュ・ジャンジー
#29934
29933
マーヴィン・ヒンツ
#29542
29185
ピエター・ザンドベルゲン
#29274
29524
ジョー・ホッブス
#25510
25147
ブノワ キシロ
#25405
25399
ビクトル コピン
#30074
ヘーゼルジョイカクイクラ
#30042
オレ ウシク
#29962
29982
オレ ウシク
#29931
29941
オレ ウシク
#29835
29842
オレ ウシク
#29834
29838
エフゲニー・レビンスキー
#27698
28324
ヴァディム マレシュ
#26470
7720
オレ ウシク
#30081
30103
レアンドロ・F・L。
#30014
30013
タラス ガマノフ
#29968
24348, 24400
シャンカル コナール
#29671
165312433229852
エジャズ アラム
#29486
29487, 29502
オレ ウシク
#30030
30032
Eugene Shakhsuvarov
#28117
28116
セルヒイ・ジェパ
#30095
ヘーゼルジョイカクイクラ
#30057
ヘーゼルジョイカクイクラ
#30034
マルコス・トラマ
#29972
29984
リズン オレクサンドル
#29814
29718
トゥグエン
#29794
29075
グレッグ・ハーヴェル
#29081
28154, 28428
ダニエル・ベイトラー
#29080
29659
スヴヤトスラフ
#28818
29546
フェビアン・シュメングラー
#28164
29585
Tymoteusz Motylewski
#27980
29590
アレックス・グセフ
#30077
26762, 29612
アブドゥル・ラーマン・アブザイド
#28663
28479
アブドゥル・ラーマン・アブザイド
#28491
28186
ジテンパテル
#27953
12225
イホル スヴィジエフ
#30153
30183
シャンカル コナール
#30069
30164
レアンドロ・F・L。
#30011
29377
オレ ウシク
#29827
29848
ダヴィデ リカルド カリエンド
#29015
29017
ザック・ナニンガ
#28379
27397
ビュンヤミン
#27869
27866
エデン ドゥオン
#27585
29599
David Haecker
#30096
322
ヤロスラフ・ガーマッシュ
#30075
312
ジョン・カルロ・オクタビオ
#30028
フレデリック・マルティネス
#30182
30191
イホル スヴィジエフ
#30170
30146
ラファエル・カスナー
#30160
ショーン・ファン・ズイダム
#30139
30186
バルトシュ ゴルスキ
#30120
30133
ミリンド・シン
#30109
30125
ケイト・キジマ
#30049
30058
ダミアン・クロッタ
#29722
29729
アントン・イーバーズ
#28995
29522
ケイト・キジマ
#30217
Nikita Sarychev
#30172
30173
トゥグエン
#30108
アレクサンダーメンク
#29205
29174, 30240
バーニーシェルゴールド
#28676
28633
ジョナス・ヒューニヒ
#28516
29662
トゥグエン
#28177
30237
アレクサンダー・タラノフスキー
#27939
30031
デビッドマナー
#27581
29598
ナバル バルニエ
#27077
29558
コラエンテ
#30180
30190
ピープ ヴァン プイジャンブロック
#29466
29652
フレデリック・マルティネス
#28588
ペトコフスキ マルジャン
#29751
29372
オレ ウシク
#30222
ティモン・デ・グルート
#28809
22375
ニラフ パテル
#28385
30345
ダン・ワリス
#27940
29555
ショーン・ファン・ズイダム
#30065
30064
トゥグエン
#30008
30036
トゥグエン
#29726
29719
ソモサ ガブリエル
#28389
29165
ダン・ワリス
#28216
13440
ラファエル コレーゴメス
#25412
25411
Siim
#29885
29890
バルトシュ クビッキ
#27092
29557
スディール シンガムセッティ
#30230
30179
ナムラタ
#30358
30450
トゥグエン
#30333
30448
ウォジテック ナルニーク
#30318
251102588628286
ショーン・ファン・ズイダム
#30062
30063, 30066
トゥグエン
#29773
29778
ピーター・カペレ
#26713
14398, 21885
バルトマイエイ スズベール
#30320
11175
バス ヴァン ポッペル
#30167
30169
イホル スヴィジエフ
#30023
30025
イホル スヴィジエフ
#30002
30005
エデン ドゥオン
#27574
29597
ラファエル・カスナー
#27454
29604
ニラフ パテル
#30458
30452
トゥグエン
#30454
30496
solwininfotech
#30405
26133
バルトマイエイ スズベール
#30355
30296
セルヒイ・ジェパ
#30554
Alin Alexandru
#30340
30508
オレ ウシク
#29868
30061
ギヨーム クインタード
#28928
29988
あたり
#28172
27925
バルトマイエイ スズベール
#28157
22503, 24091
ニコライ サムラック
#27672
29552
ジョナス・ヒューニヒ
#30502
30566
ヤロスラフ・ボグツキー
#30493
30510
トゥグエン
#30453
30542
スニル パテル
#30402
30388
オレ ウシク
#30079
ジェルーン
#29911
29915
ピエターホスト
#29196
29297, 29478
ヨハン・リンダール
#28917
29656
バルトシュ クビッキ
#26967
29615
エジャズ アラム
#30579
30545
ピエターホスト
#30570
6868725213316
ナムラタ
#30538
30550
プラティク王座
#30530
30552
アンドリー・カシア
#30521
30563
内国人
#30322
30314
ケイト・キジマ
#30317
30561
スタニスラフ・イルニツキー
#30198
30601
シルジリム
#28352
28124
アンドレイ ベジアーズィチニ
#30633
30469
エドゥアルド・チトラガ
#30619
30468
スディール シンガムセッティ
#30375
30349
サガール ダヒワラ
#30368
325
ニコラジ・マレバネツ
#30763
30747
ドミトリー・トシンバル
#30359
30372
オレ ウシク
#30223
30683
Lukasz Bajsarowicz
#28147
28309
マテイ・プルカル
#27972
27954
ヴォヴァ ヤトシク
#27674
29551
バルトシュ クビッキ
#26966
30216
サイモン・スプレンケル
#26401
29621
ガブリエル ダ ガマ
#30895
30896
サミュエル・カサドール
#30793
30833
ヴォヴァ ヤトシク
#30774
30781197
ディエゴ サナブリア
#30681
30680
エヴゲン・モゾク
#30632
24730
サンジャイ パテル
#30411
30408
シーカー・ミシュラ
#30400
30361, 30362
シーカー・ミシュラ
#30391
30255
バルトマイエイ スズベール
#30114
30073
マイケル・ボッテンズ
#30010
30009
トゥグエン
#29986
29987
サファル ジャ
#29923
29920
アンドリー・カシア
#27379
29600
ヤロスラフ・ロゴザ
#30630
30624
オレ ウシク
#29675
29168
アンドリーカリニッヒ
#30749
23069
ビクトル コピン
#30727
30645
トーマス・クライン
#30825
30859
オレ ウシク
#30777
30783
オレ ウシク
#30528
30916
オレ ウシク
#30525
30917
イホル・スヴィジエフ
#30090
30184
アンドリーカリニッヒ
#30866
24717
ビクトル コピン
#30928
30685
ニティッシュ シン
#30421
オレ ウシク
#30779
30782
ナザール クロバニチ
#30662
30649
オレ ウシク
#30529
30926
Marush Denchev
#30614
30104
ラクラン
#29692
30243
ビクトル コピン
#30947
29128
アンドリーカリニッヒ
#30807
26432
ビクトル コピン
#30961
13746
ニコラジ・マレバネツ
#30963
30295
アンドレイ ベジアーズィチニ
#30694
30625
アレクサンダーツリアック
#30636
30467

必要システム構成

当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、​ システム要件 ​ を参照してください。

インストールとアップグレードの手順

Composer を使用してMagento Open Source 2.4.2 をインストールできます。

移行ツールキット

データ移行ツールは、既存のMagento 1.x ストアデータをMagento 2.x に転送する際に役立ちます。このコマンドラインインターフェイスには、検証、進行状況のトラッキング、ログ記録、テストなどの機能が含まれています。 インストール手順については、​ データ移行ツールのインストール ​ を参照してください。 ​ データ移行リポジトリ ​ の調査または貢献を検討します。

​ コード移行ツールキット ​ は、既存のMagento 1.x ストアの拡張機能とカスタマイズのMagento 2.x への転送に役立ちます。コマンドラインインターフェイスには、Magento 1.x のモジュールとレイアウトを変換するためのスクリプトが含まれています。

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f