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 で特定された既知の問題はすべて、このリリースで修正されました。
配送業者として DHL を引き続き提供するには、AC-3022.patch
を適用してください
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 Application(PWA) Studio)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。
ハイライト
このリリースのハイライトは次のとおりです。
セキュリティの大幅な強化
このリリースには、35 を超えるセキュリティ修正と platform セキュリティの改善が含まれています。 すべてのセキュリティ修正は 2.4.1-p1 および 2.3.6-p1 に移植されています。
リモートコード実行(RCE)およびクロスサイトスクリプティング(XSS)の脆弱性を閉じるのに役立つ 35 を超えるセキュリティ強化
これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、IP許可リストに加える、 二要素認証、VPN の使用、/admin
ではなく一意の場所の使用、適切なパスワードハイジーンなど、管理者を守るために必要なすべての手順を実行してください。 修正された問題の詳細については、Adobe セキュリティ速報を参照してください。
その他のセキュリティ機能強化
このリリースのセキュリティの改善点は次のとおりです。
-
すべてのコア cookie で
SameSite
属性がサポートされるようになりました。 -
ユーザーがこれらのフィールドに値を保存しようとすると、製品およびカテゴリの説明フィールドに、悪意のあるコンテンツを特定するメッセージが表示されるようになりました。
-
悪意のあるアップロードを防ぐために、コンポーネント間のファイルシステム操作が標準化および強化されています。
-
コアコンテンツセキュリティポリシー(CSP)の違反が修正されました。
インフラストラクチャの改善
このリリースには、フレームワークと次の機能領域の品質を向上させるコア品質の機能強化が含まれています:顧客アカウント、カタログ、CMS、OMS、インポート/エクスポート、プロモーションとターゲティング、買い物かごとチェックアウト。
プラットフォームの機能強化
-
Elasticsearch 7.9.x がサポートされるようになりました。 Elasticsearch 7.9.x を実行することをお勧めしますが、Elasticsearch 2.4.x はバージョン 7.4.x との互換性を維持します。
-
2.4.2 は、 ワニス 6.4 でテストされています。 バージョン 2.4.x は、Varnish 6.x との互換性を維持します。
-
Redis 6.x がサポートされるようになりました。 バージョン 2.4.x は Redis 5.x と互換性があります。
-
2.4.2 は、Composer 2.x と互換性を持つようになりました。 マーチャントは Composer 2.x に移行することをお勧めします。このリリースは Composer 1.x を使用してインストールできますが、Composer 1.x は間もなく提供終了となります。 Composer 2.x の機能の概要については、Composer 2.0 が利用可能になりました! を参照してください。
このリリースでは、分割データベースを使用するようにインストールを設定する機能は廃止されました。 現在、分割データベースを使用しているマーチャントは、単一データベースに戻す、単一データベースに移行する、または別の方法を使用する計画を開始する必要があります。 この問題の概要については、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
属性に置き換わり、非推奨になりました。 -
製品がステージングされているかどうかを判断し、関連するキャンペーン情報を表示するために、
ProductInterface
とCategoryInterface
にstaging
属性を追加しました。
-
国際化とローカリゼーション。 Venia では、複数の言語と通貨をサポートするようになりました。
-
拡張機能を通じてコードの変更をサポートする拡張フレームワークを改善しました。
-
ウィッシュリスト、保存済みの支払い、アドレス帳、注文履歴など、マイアカウント関連の機能の初期コンポーネント。
-
様々なパフォーマンスの最適化とバグ修正。
機能強化とバグ修正について詳しくは、PWA Studioリリースを参照してください。 PWA Studioのバージョンとその互換性のあるバージョンの一覧については、 互換性を参照してください。
メディアギャラリー
メディアギャラリーの新しい役割リソース。 このリリースでは、マーチャントは、管理者アクセスをメディアギャラリーのみに制限したり、これらのアクションを実行できるユーザーを制御したりできます。
-
コンテンツへのメディアアセットの挿入
-
アセットのアップロード
-
アセットの詳細を編集
-
メディアギャラリーからのアセットの削除
-
フォルダー構造を管理する。
コンテンツ内の web に最適化された画像。 マーチャントは、高解像度の画像ではなく、コンテンツで web に最適化された画像レンディションを使用できるようになりました。 元の画像はメディアギャラリー内で変更されずに残り、画像がコンテンツに挿入される際に画像レンディションが動的に生成されます。
機能テストフレームワーク(MFTF)
MFTF 3.2.1 が利用可能になりました。 このリリースでは、テストとテストスイートの生成の両方でエラー許容値が導入されています。 その他の機能強化とバグ修正については、 機能テストフレームワークの変更ログを参照してください。
ベンダーが開発した拡張機能
このリリースの機能および変更点については、以下の記事を参照してください。
AWS S3 のサポートの強化
Amazon Simple Storage Service (AWS S3)のサポートが強化され、次のサポートが含まれるようになりました。
-
オブジェクトストレージと将来の拡張性
-
AWS S3 での メディアファイルの保存
修正された問題
2.4.2 コアコードの何百もの問題を修正しました。
インストール,アップグレード,デプロイメント
- このリリースでは、分割データベースを使用するようにインストールを設定する機能は廃止されました。 Magento Open Source内の分割データベース機能の廃止DevBlog の投稿を参照してください。
- マーチャントは、MySQL 8.x を実行する Open Source デプロイメントをCommerce デプロイメントに正常にアップグレードできるようになりました。 以前は、アップグレード中に
row_id
が追加されたすべてのテーブルでAUTO_INCREMENT
値が初期値に戻った場合、アプリケーションで例外がスローされていました。
bin/magento/setup:db:generate-patch
の実行時にエラーが発生した場合、パッチの作成に使用されたパスを識別するエラーメッセージが表示されるようになりました。 GitHub-27523
block_html
、full_page
、layout
のキャッシュは、実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 error
。 GitHub-30685
- コマンドラインからYouTube API キーを期待どおりに設定できるようになりました。 以前は、
bin/magento config:sensitive:set catalog/product_video/youtube_api_key
:There are no sensitive configurations to fill
を実行しようとすると、アプリケーションによってこのエラーが返されていました。
- アプリケーションは、
queue_consumer.xml
で定義されたmaxMessages
の値に従うようになりました。 以前は、アプリケーションはデプロイメント設定値のみを使用していました。 GitHub-29522
bin/magento setup:config:import
を使用してストアを作成する際に、新しいストアの URL 生成が期待どおりに動作するようになりました。 以前は、実稼動環境で URL の書き換えが生成されていませんでした。 GitHub-30025
- Magento Open Sourceをインストールした後に
ssh
コンテナを使用してbackend-frontname
を変更しようとすると、アプリケーションがエラーをスローしなくなりました。 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-1813、GitHub-1789、GitHub-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 で必要とされる別の二重引用符ではなく、バックスラッシュで二重引用符がエスケープされているので失敗しました。
- デフォルトまたはデフォルト以外のポートを使用して
env.php
で MySQL に接続する場合、analytics_collect_data
ジョブは正常に実行されるようになりました。 以前は、デフォルト以外のポートを使用した場合、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 に戻っていました。
- ストアフロントの商品の並べ替え順に関する問題を解決しました。 以前は、アプリケーションで製品の価格のインデックスを作成する際に、
catalog_product_index_price
テーブルで設定可能な製品のmin_price
とmax_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経由で Media Gallery データを送信した際に、アプリ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
- 製品およびカタログのキャッシュが、スケジュールに従って期限切れになりました。 以前は、
сron
がcatalogrule_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
rl
が\Magento\Framework\Filter\Template\Tokenizer\Parameter
でurl
に修正されました。 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
- が
EntityAbstract.php
で@param string $attribute
を@param AbstractAttribute|string[]|string $attribute
に変更しました。 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 null
。 GitHub-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 again
とValidation is failed
のエラーが表示されていました。
- 複数行のカスタム顧客属性値がアプリケーションに正しく表示されるようになりました。 以前は、一部のデータが表示されていませんでした。
- このアプリケーションは、アカウントの作成時に無効な生年月日を入力した場合、買い物客にアラートを表示するようになりました。 以前は、バリデーターはロケール設定を無視し、買い物客は「無効な日付」エラーで新しい顧客アカウントを作成ページにリダイレクトされていました。
- カスタムアドレス属性が、チェックアウトワークフローの支払い手順に期待どおりに含まれるようになりました。
- カスタムアドレスの複数選択属性が、ゲストのチェックアウト時および管理者とマイアカウントの注文の詳細ページで正しく表示されるようになりました。
Input Type
がText
に設定され、Input Validation
がNumeric Only
に設定されている場合、カスタム顧客属性の先頭の 0 を削除できるようになりました。
- アプリケーションは、カスタムの性別属性値を含む顧客データを正常に書き出すようになりました。
顧客
- Storefront customer account ページの「生年月日」フィールドのカレンダーウィジェットで、指定されたストアのロケールが使用されるようになりました。
- 管理者から既存の顧客の再注文をチェックアウトする際に、顧客住所の重複エントリが保存されなくなりました。
- 管理者から複数の顧客のすべてのアドレスを削除すると、顧客のアドレスリストからすべてのアドレスが削除され、デフォルトの請求先と配送先住所が削除されるようになりました。 以前は、アプリケーションは顧客住所リストから住所を削除しましたが、デフォルトの請求先住所と出荷先住所は削除しませんでした。
- 管理者がアドレスの一括削除を実行した後、「管理者の顧客アドレス」タブにアドレス数が正しく表示されるようになりました。 以前は、アプリケーションのカウントに削除されたアドレスが含まれていました。
- 顧客登録ページの 生年月日 フィールドの日時形式が修正されました。 以前は、1 桁の日付の前に先頭のゼロが欠落していました。
- 買い物客が「アカウントの作成 ボタンをクリックする前に、「生年月日 フィールドの日付形式の検証が機能するよ になりました。 以前は、買い物客が無効な形式で値を入力する可能性があり、「アカウントを作成」ボタンをクリックすると、買い物客は無効な日付エラーで新しい顧客アカウントを作成ページにリダイレクトされていました。
- 属性に対して無効なデータが含まれる新しい顧客アカウントを管理者が保存しようとすると、アプリケーションで致命的なエラーがスローされなくなりました。
- 以前にテーマがインストールされ、デフォルトの Luma Magento Shippingが現在デプロイされているデプロイメントで、お客様が買い物かごにアクセスしようとすると、アプリケーションで 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 呼び出しによって製品が作成される際にペイロードに値が指定されていない場合、デフォルト値を使用するようになりました。
電子メール
toOptionArray()
前に\Magento\Config\Model\Config\Source\Email\Template::toOptionArray
が呼び出されない場合に、setPath()
がエラーをスローしなくなりました。 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_method
がbcc
に設定されている場合、注文確認メールの顧客はコピーされなくなります。 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 wrong
。 GitHub-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:121
。 GitHub-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のクエリ結果で期待どおりに更新されるようになりました。
category_id
の場合、products
クエリは期待される結果を返すようになりました。 filter はin
キーワードで指定します。 GitHub-30349
- JSON ファイルと YAML ファイルの 2 つのスペースへのインデントをサポートするルールを
editorconfig
に追加しました。 GitHub-30066, GitHub-30063
FlushCacheByTags
クラスが更新されて、プラグインの周囲ではなくアフタープラグインを使用するようになりました。 GitHub-29558
checkout_index_index.xml
ファイルのコードは、messages
、authentication
、progressBar
、estimation
およびsidebar checkout
のコンポーネントからsortOrder
が削除されたことにより強化されました。 GitHub-30550
calc
のコンテンツがエスケープされるようになり、CSS 出力ファイルのcalc
値が正しくなります。 以前は、アプリケーションが誤ったcalc
値を返していました。 GitHub-30542
- URL 書き換えジェネレーターで、グローバルスコープのカテゴリ URL 書き換えを保存する際に、カテゴリオブジェクト
url_key
、url_path
、store_id
をデフォルトのストア値に設定するようになりました。 以前は、最後に処理されたストア ID の値を使用して、url_key
、url_path
、store_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
Magento_LoginAsCustomerAssistance
が有効になっていたが、Magento_LoginAsCustomerAdminUi
またはMagento_LoginAsCustomerLog
が無効になっていたときに発生したacl.xml
の不整合が修正されました。 以前は、これらの資格情報を持つ管理者が管理者にログインしようとすると、アプリケーションで空白のページが表示され、Exception #0 (LogicException): Could not create an acl object: Invalid Document Element 'resource': The attribute 'title' is required but missing. Line: 13
の際にエラーがスローされていました。 GitHub-30680
- プラグインの作成中に
Interceptor
が生成されると、アプリケーションがUndefined class constant
エラーをスローしなくなりました。 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
- キュー内の数値引数の変換に関する問題を修正しました。 以前は、
queue_topology.xml
で数値type
引数を持つキューを宣言した場合、引数の値は string にキャストされていました。 GitHub-29615
GraphQL
urlResolver
クエリでクエリパラメーターが正しく処理されるようになりました。
- カスタム CMS ノードとページを入力として指定した場合に、
urlResolver
クエリが NULL を返さなくなりました。 GitHub-30474
category
クエリは、無効になった親カテゴリの子カテゴリを返さなくなりました。 GitHub-30468
- URL の書き換えが無効な場合、
category
クエリがカテゴリ画像の正しいパスを返すようになりました。
- エラーが発生した場合に、
resetPassword
のミューテーションが、より詳細なメッセージを返すようになりました。 GitHub-30179
products
クエリのキャッシュされた結果は、製品の位置が変更されると、期待どおりに無効になります。 GitHub-30467
category_id
フィルターがin
キーワードで指定されている場合、products
クエリは期待される結果を返すようになりました。 GitHub-30349
categories
クエリとcategoryList
クエリでは、カテゴリ権限設定と親カテゴリ ID に基づいてカテゴリの可用性を考慮するようになりました。 GitHub-29880, GitHub-30624
updateProductsInWishList
ミューテーションは、ウィッシュリスト項目を正しく検証するようになりました。 GitHub-30467
-
ストアフロントでの使用を防ぐため、
ProductInterface
およびCategoryInterface
のいくつかの属性を非推奨(廃止予定)にしました。 GitHub-30625 -
カテゴリ権限が非表示に設定されている場合、価格が製品クエリ結果に表示されなくなりました。 GitHub-29926
addProductsToWishList
のミューテーションを使用して、数量がユーザー定義のバンドル製品をウィッシュリストに追加できるようになりました。
- 「買い物かごに追加」操作に対するGraphQLの応答時間が改善されました。
products
クエリは、期待どおりに階層価格値を返すようになりました。 GitHub-29168
lib/internal/Magento/Framework/GraphQl/Query/EnumLookup.php
のループから冗長getMappedNums
を削除しました。 GitHub-30031
- クエリされた製品に無効な関連製品がある場合、
products
クエリがエラーを返さなくなりました。 GitHub-28892
cart
クエリでは、正しい通貨(デフォルトの表示通貨)に変換された価格を返すようになりました。 以前は、クエリは基本通貨で項目価格の値を返し、通貨コードはデフォルトの表示通貨として返されていました。
- GraphQLは、カタログ権限に従うようになりました。 アプリケーションは、買い物客の顧客グループに基づいて、
products
クエリに対して返される項目を制限します。
CartItemInterface
を実装する複数のデータタイプにcustomizable_option
属性を追加しました。
storeConfig
クエリの属性を追加して、ストア、ストアグループ、web サイト情報を返すようにしました。
SelectedCustomizableOption.type
属性を元に戻しました。 さらに、CartItemInterface
の様々な実装内のcustomizable_options
属性が 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-width
とheight
の設定が.product-image-photo
から削除されました。 (これらの値は、リセットスタイルを使用して画像上で既にグローバルに設定されています。) GitHub-30186
インポート/エクスポート
- 特定のフィールド値が削除されている CSV ファイル(
entity type = "customer address"
およびimport behavior = "add/update"
)を使用して顧客アドレスを読み込むと、顧客アドレスregion_id
にNULL
しい値が割り当てられなくなりました。
- 読み込み時にストアフロントで製品画像を非表示にできるようになりました。
- 読み込ま
qty
た商品が CSV ファイルで 0 に設定されていて、1 にis_in_stock set
定されている場合、その商品はカテゴリページにリストされず、商品詳細ページに在庫切れと表示されます。 以前は、これらの値を持つ製品は、読み込み後にストアフロントに表示されていました。
- CSV の読み込みで、追加の属性の
dropdown
とtextarea
の値が無視されなくなりました。 以前は、読み込み時にこれらの属性値が更新されていませんでした。
- 製品の書き出し 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
- タイプ
\Magento\Framework\View\Element\Text\ListText
のhead.additional
ブロックが(magento2/module-base
によって)adminhtml
default
レイアウトに追加されました。 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 records
。 GitHub-1763、GitHub-1758
- 新しいページのコンテンツの編集中に画像が選択されていない場合、「選択項目を追加」ボタンが表示されなくなりました。 GitHub-1769
- フィルターが、コンテンツ / メディアギャラリー カテゴリグリッドで期待どおりに適用されるようになりました。 GitHub-1763
- Gallery multiply breakpoint options の設定が期待どおりに動作するようになりました。 以前は、ページの読み込み時にメディアクエリを終了機能がトリガーされ
mediaCheck
ので、ブレークポイントオプションの設定が正しく機能しませんでした。 GitHub-29933
MFTF
- 繰り返しアクションが
CheckStaticBlocksTest
のアクショングループに置き換えられました。 GitHub-30561
- MFTF のベスト プラクティスに準拠するために、
AdminUpdateCategoryAndMakeInactiveTest
とVerifyChildCategoriesShouldNotIncludeInMenuTest
がリファクタリングされています。 GitHub-30058
- 重複
AdminOpenCMSBlocksGridActionGroup
を削除しました。 GitHub-30896
AdminOpentCmsBlockActionGroup
を AdminOpenCmsBlockActionGroup に置き換えました。 GitHub-29839
- 非推奨(廃止予定)
GoToAttributeGridPageActionGroup
。 GitHub-30103
Analytics
モジュールにアクショングループを追加しました。 GitHub-29500
- テストの実行後に作成された注文をキャンセルするように、
CheckCheckoutSuccessPageAsRegisterCustomerTest
とCheckCheckoutSuccessPageAsGuestTest
を更新しました。 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
新規アクショングループ
-
AssertStorefrontCustomerLogoutSuccessPageActionGroup
。 GitHub-29841 -
AdminOpenConfigurationStoresPageActionGroup
。 GitHub-29848 -
ReloadPageActionGroup
。 GitHub-30683 -
StorefrontClickRefundTabCustomerOrderViewActionGroup
。 GitHub-30032 -
AdminOpenAdminThreeDSecurePageActionGroup
。 GitHub-29845 -
AdminCustomerClickFirstRowEditLinkActionGroup
。 GitHub-29501 -
StorefrontClickAddToCartButtonActionGroup
。 GitHub-29823 -
AdminDeleteTaxRateActionGroup
。 GitHub-29940 -
AdminOpenWebConfigurationPageActionGroup
。 GitHub-29846 -
AdminOpenGeneralConfigurationPageActionGroup
。 GitHub-29847 -
AdminOrderClickSubmitOrderActionGroup
。 GitHub-29649 -
AdminOpenCatalogProductPageActionGroup
。 GitHub-29941 -
AdminClickInvoiceButtonIntoOrderActionGroup
。 GitHub-25399 -
AdminGridBulkActionGroup
。 GitHub-28324 -
AdminGridColumnShowActionGroup
。 GitHub-28324 -
AdminOpenIndexManagementPageActionGroup
。 GitHub-29825 -
AdminOpenCatalogSearchTermIndexPageActionGroup
。 GitHub-29844 -
AdminClickAddProductToggleAndSelectProductTypeActionGroup
。 GitHub-30917 -
StorefrontCheckoutClickSaveAddressButtonActionGroup
。 GitHub-30916 -
AdminOpenCurrencyRatesPageActionGroup
。 GitHub-30783 -
AdminClickGetShippingMethodsAndRatesActionGroup
。 GitHub-30782 -
AdminSelectFixedShippingMethodActionGroup
。 GitHub-30782 -
StorefrontClickProceedToCheckoutActionGroup
。 GitHub-30926 -
StorefrontOpenMyAccountPageActionGroup
。 GitHub-29842
ニュースレター
- 管理者ユーザーは、顧客がキュー内のニュースレターを購読する際に、期待どおりに顧客アカウントを編集できるようになりました。 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
パフォーマンス
module-catalog-import-export/Model/Import/Product/Option.php
のパフォーマンスの問題は解決されました。 10 万件を超えるレコードのエクスポートまたはインポートに要する時間が短縮されました。 ナレッジベースの記事 多数の製品オプションがある場合、読み込み/書き出しに予想以上の時間がかかるを参照してください。
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 function
。 GitHub-30388
売上
sales_shipment_grid
のorder_created_at
列が、各更新後に期待どおりに更新されるようになりました。
- カスタムオプションの日付を使用した商品を、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 であっても、各注文は割引を受けました。
検索
- 買い物客が検索同義語を検索すると、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
は、assertStringContainsString
ではなくXPath
セレクターに基づいています。) GitHub-29700
AdminAnalytics
モジュールのテストカバレッジを追加しました。 GitHub-29500
- 統合および API 機能テストが PHPUnit 9.3 と互換性を持つようになりました。GitHub-30146
- GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
テストの問題を修正しました。 GitHub-29372
- URL を含むヘッダー値は、
ApiFunctional TestFramework
で正しく解析されるようになりました。 GitHub-26425
- GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
テストの問題を修正しました。 GitHub-29372
mysqldump
のすべてのケースに—no-tablespaces
が追加されました。これにより、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 桁の郵便番号を入力しても、アプリケーションがエラーをスローしなくなりました。
- ISO 3166-2:UY で定義されているウルグアイ地域のサポートを追加しました。 GitHub-29729
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-13316、GitHub-7252、GitHub-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
- カテゴリ
V1/categories
を使用して、POSTを作成または更新できるようになりました。 以前は、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
およびGETrest/all/V1/categories?rootCategoryId=2
呼び出しで、ツリー内のすべてのカテゴリに対して、入力されたname
フィールドとproduct_count
フィールドが期待どおりに返されるようになりました。 以前は、カテゴリフィールドの値は空でした。 テーブル名リゾルバープラグインが、カテゴリ別の製品数を取得するために誤ったテーブル名を返しました。
save_rewrites_history
カスタム属性が指定された場合、PUTV1/categories/:id
エンドポイントには、カテゴリ URL キーの 301 リダイレクトの作成に必要なデータが格納されるようになりました。 GitHub-29174, GitHub-30240
ウィッシュリスト
- 買い物客は、商品がカスタムのインベントリソースに割り当てられている場合、ウィッシュリストに商品を追加できるようになりました。 GitHub-3018
- 管理者は、顧客がストアフロントからウィッシュリストに製品を追加した後、管理者の顧客ページから「買い物かごを管理」ページにアクセスできるようになりました。 以前は、管理者が 買い物かごを管理 ボタンをクリックすると、アプリケーションに次のエラーが表示されていました:
An error has occurred. See error log for details
。
- 共有ウィッシュリストページの 買い物かごに追加 ボタンが、ログインしていない匿名、ゲスト、ユーザーに対して期待どおりに動作するようになりました。
- ウィッシュリストページで、選択した設定可能な製品属性オプションが、期待どおりに表示されるようになりました。 GitHub-24091, GitHub-22503
\Magento\Wishlist\Controller\Shared\Allcart
にActionInterface
を実装しました。 GitHub-29537
既知の問題
問題:[magento_root]/index.php
ファイルが削除され、Apache 設定のデフォルトでアプリケーションが /pub
から実行されるようになりました。 サブフォルダーから提供されるストアは期待どおりに動作せず、404 エラーが表示される場合があります。 回避策:シンボリックリンクを使用して、サブフォルダーへのインストールをエミュレートします。 次の例では、https://shop01.com/shop/
を使用して、シンボリックリンクを使用してサブフォルダーのインストールをエミュレートする方法を示します。
-
https://shop01.com/shop/
のサブディレクトリを作成します。mkdir magento_root/pub/shop01
cd magento_root/pub/shop01
-
新しく作成したディレクトリに、ストアの親ディレクトリのシンボリックリンクを作成します。
ln -s ../media media
ln -s ../static static
ln -s ../../../pub pub
ln -s ../.htaccess .htaccess
ln -s ../health_check.php health_check.php
-
新しいディレクトリ(
magento_root/pub/shop01/index.php
)内に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;
}
- 新しいサブディレクトリを指すように 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 の既知の問題:BraintreeVenmo の支払いが機能しないナレッジベースの記事を参照してください。
問題: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 問題番号(利用可能な場合)、プルリクエストを行ったコミュニティメンバーの一覧です。
必要システム構成
当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、 システム要件を参照してください。
インストールとアップグレードの手順
Composer を使用してMagento Open Source 2.4.2 をインストールできます。
移行ツールキット
データ移行ツールは、既存のMagento 1.x ストアデータをMagento 2.x に転送するのに役立ちます。このコマンドラインインターフェイスには、検証、進行状況のトラッキング、ログ記録、テストなどの機能が含まれています。 インストール手順については、 データ移行ツールのインストールを参照してください。 データ移行リポジトリの調査または貢献を検討します。
Code Migration Toolkit は、既存のMagento 1.x のストア拡張機能とカスタマイズ内容をMagento 2.x に転送するのに役立ちます。コマンドラインインターフェイスには、Magento 1.x のモジュールとレイアウトを変換するためのスクリプトが含まれています。