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を含む)のダウンロードと適用の手順については、 オンプレミスのインストールのクイックスタート を参照してください。 セキュリティパッチには、セキュリティバグの修正のみが含まれ、フルパッチに含まれている追加のセキュリティ機能強化は含まれません。
その他のリリース情報
これらの機能のコードは四半期ごとのリリースにバンドルされますが、これらのプロジェクトのいくつか(例えば、プログレッシブ Web アプリケーション(PWA) Studio)も個別にリリースされます。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントに記載されている、プロジェクト固有の個別のリリース情報に記載されています。
ハイライト
このリリースでは、次のハイライトを確認してください。
セキュリティ機能の大幅な強化
このリリースには、35以上のセキュリティ修正とプラットフォームセキュリティの改善が含まれています。 すべてのセキュリティ修正は、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を実行することをお勧めしますが、バージョン 2.4.xはElasticsearch 7.4.xと互換性があります。
-
2.4.2はVarnish 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開発ブログ投稿の「Deprecation of split database functionality in」を参照してください。 移行手順については、分割データベースから単一データベースへの復帰を参照してください。
パフォーマンスの強化
このリリースには、大規模なカタログを使用したデプロイメントのAPI パフォーマンスと管理者の応答時間を向上させるコードの機能強化が含まれています。 複数のスケーラビリティの機能強化により、2.4.2では、以前のリリースよりも最大20倍大きい複雑なカタログをネイティブにサポートできるようになりました。
Adobe Stockとの連携
このリリースには、Adobe Stock Integration v2.1.1が含まれています。
GraphQL
このリリースでは、次の機能に対するGraphQLのカバレッジが追加されています。
-
比較リスト のサポートを追加しました。 買い物客は作成と削除の比較リストを作成し、追加と削除の項目を比較リストに追加できます。 さらに、ゲストとして比較リストを作成する買い物客は、顧客としてログインし、比較リストを保持できます。
-
generateCustomerTokenAsAdminの突然変異を追加し、Customerオブジェクトを更新して、リモート購入支援をサポートしました。 -
言語、カート、通貨の変更などのタスクをサポートするために、ストア間のローカライゼーションサポートを追加しました。
-
GraphQLでの組合のサポートを追加しました。 GitHub-29425
-
GraphQL スキーマが強化され、多数のバリエーションを持つ設定可能な商品に対して商品データ検索を最適化できるようになりました。
-
整数型オブジェクト IDは廃止され、型IDの
uid属性が優先されました。 -
staging属性をProductInterfaceおよび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 コアコードの数百もの問題を修正しました。
インストール、アップグレード、導入
- このリリースでは、分割データベースを使用するようにインストールを設定する機能が廃止されました。 Magento Open SourceのDevBlog投稿の「Deprecation of split database functionality」を参照してください。
- これで、MySQL 8.xを実行するOpen Source デプロイメントをCommerce デプロイメントに正常にアップグレードできるようになりました。 以前は、
AUTO_INCREMENT値がアップグレード中にrow_idが追加されたすべてのテーブルの初期値に戻ったときに、アプリケーションが例外をスローしていました。
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。
- アプリケーションは、
maxMessagesで定義されているqueue_consumer.xml値を尊重するようになりました。 以前は、アプリケーションはデプロイメント設定値のみを使用していました。 GitHub-29522
- 新しいストアのURL生成が、
bin/magento setup:config:importを使用してストアを作成する際に、想定どおりに機能するようになりました。 以前は、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-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
分析
- 高度なレポートが、同じドメイン内の複数の環境で正常に機能するようになりました。 以前は、高度なレポートで生成された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 チェックアウト決済方法が、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メッセージを期待どおりに表示するようになりました。 以前は、買い物客が単一のアイテムを削除したときに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。
- カテゴリーデザインページの レイアウト 設定を レイアウト更新なし に正常に設定できるようになりました。 以前は、レイアウトの更新なし値を割り当てたときに、アプリケーションが カテゴリ - FullWidth に戻っていました。
- ストアフロントでの商品の並べ替え順序に関する問題が解決されました。 以前、アプリケーションで製品価格がインデックス化されると、
min_priceテーブルで設定可能な製品のmax_priceとcatalog_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 カレンダーを使用が有効になっている場合(Stores > Configuration > Catalog > Date & Time Custom Options)に再発注が期待どおりに機能するようになりました。 以前は、この設定が有効になっている場合、管理者から以前に配置した注文を再注文しようとしたときに、アプリケーションにこのエラーが表示されていました:
Please specify date required option(s)。
- アプリケーションは、価格設定時にマルチサイト展開で正しい通貨を表示するようになりました。
- 製品画像のカスタム属性が正しくエスケープされるようになりました。
data-src属性の値は、src属性と同じです(想定どおり)。 以前は、URLの特殊記号はエスケープされていました。
- REST APIを使用してカテゴリを更新すると、「カテゴリを有効にする」、「メニューに含める」、「URL キー」属性の「デフォルト値を使用する」設定が無効にならなくなりました。
- カテゴリを保存すると、このカテゴリに関連するブロックキャッシュのみがフラッシュされるようになりました。 以前は、アプリケーションはすべてのカテゴリーブロックのキャッシュをフラッシュしていました。
- パーセント価格のカスタムオプションの価格が、マルチストア展開でアクティブなストアの基本通貨に予想どおりに変換されるようになりました。 以前は、パーセント価格のカスタムオプションの価格が誤って変換されていました。 GitHub-26432
- アプリケーションで画像が正常に再作成され、販売者がPOST
rest/all/V1/productsを使用してメディアギャラリーデータを送信するたびに、これらの画像が管理者に期待どおりに表示されるようになりました。 以前は、アプリケーションで画像が再作成されましたが、販売者がPOSTrest/all/V1/productsを介してメディアギャラリーデータを送信したときに、画像がpub/mediaで削除されたが、メディアにまだレコードが含まれていたため、これらの画像のレコードが削除されていました。 そのため、更新プロセス中に画像が作成および削除されたため、マーチャントは管理者のプレースホルダーのみを確認しました。
- 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/optionsREST エンドポイントで、既存の属性オプションの更新がサポートされるようになりました。
- パーセント価格のカスタムオプションの価格が、マルチストア展開でアクティブなストアの基本通貨に予想どおりに変換されるようになりました。 以前は、パーセント価格のカスタムオプションの価格が誤って変換されていました。 GitHub-26432
- 製品作成中に、新しい属性を正常に保存できるようになりました。 以前は、アプリケーションは属性を保存せず、属性を保存しようとしたときにストア表示のホームページにマーチャントをリダイレクトしていました。 GitHub-30362
- Sales > OrdersおよびCatalog > Products ページの製品グリッドには、最近作成されたストアだけでなく、関連するすべてのストアが一覧表示されるようになりました。 GitHub-29267
- 製品リポジトリは、既存の製品の属性値を保存できる場合に
store_idを使用するようになりました。 以前は、製品リポジトリークラスによって製品ストア IDが上書きされ、常にデフォルトのストア IDが割り当てられていました。 GitHub-29933
カタログルール
- カタログの価格ルールが、商品詳細ページのカスタムオプションで期待どおりに機能するようになりました。 以前は、そのページの製品価格は、適用されるカタログ価格ルールを反映していませんでした。 GitHub-22856
- 製品およびカタログのキャッシュがスケジュール通りに期限切れになります。 以前は、
сronが1日1回catalogrule_apply_allタスクを実行し、すべてのカタログルールと依存インデクサーのインデックスを再作成し、すべての製品とカテゴリのキャッシュをクリアしていたため、キャッシュは毎日期限切れでした。
クリーンアップ
タイプミスと文法のクリーンアップ
- 注文失敗ページのタイトルが正確に修正されました。 以前、このページのタイトルは「ご注文いただきました!」でした。。 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はurlで\Magento\Framework\Filter\Template\Tokenizer\Parameterに修正されました。 GitHub-29185
コードの整理
- 不要なHTML
<br>タグがSystem > Import ページのデータ確認メッセージ領域から削除されました。
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 $attributeのEntityAbstract.phpに変更しました。 GitHub-30191
- 無効なタグ (例:
@packageと@subpackage)は、コードベース全体でdocblocksから削除されました。 GitHub-30061
AdvancedPricingクラスの構成内の未使用のパラメーターが削除されました。 GitHub-29531
コンフィグ商品
- 在庫切れの設定可能な商品を価格でフィルタリングすると、正しい価格範囲内で結果が表示されるようになりました。
- バーチャル製品のステータスが「有効」から「無効」(またはその逆)に変更された場合、タイプが変更されなくなりました。 以前は、ステータスが変更されたときに、アプリケーションは製品のタイプを仮想からシンプルに変更しました。
getValue()メソッドは、カートの更新時に致命的なエラーをトリガーしなくなりました。
- 複数のweb サイトで使用できる設定可能な製品に、特定のweb サイトに割り当てられていない単純な子製品が表示されなくなりました。 GitHub-28291
- ストアフロントの商品ページに、予想通り税抜きのティア価格が表示されるようになりました。 GitHub-12225
- 設定可能な製品のMSRP価格が、選択した通貨に正しく変換されるようになりました。 以前は、アプリケーションに誤った通貨で価格が表示され、次のエラーがスローされていました:
Call to a member function setAppliedTaxes() on null。 GitHub-26526、GitHub-29603
- マーチャントは、値0 (ゼロ)のストア固有のテキストスウォッチ属性オプションラベルを保存できるようになりました。 以前は、0の値はAdmin label オプションの値に置き換えられていました。 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を削除できるようになりました。
- アプリケーションは、カスタムの性別の属性値を含む顧客データを正常に書き出せるようになりました。
お客様
- ストアフロント顧客アカウントページの「生年月日」フィールドのカレンダーウィジェットで、指定されたストアロケールが使用されるようになりました。
- 管理者から既存の顧客の再注文のチェックアウト中に、顧客アドレスの重複したエントリが保存されなくなりました。
- 管理者から複数の顧客のすべてのアドレスを削除すると、顧客のアドレスリストからすべてのアドレスが削除され、デフォルトの請求先住所と配送先住所が削除されるようになりました。 以前、アプリケーションは顧客の住所リストから住所を削除しましたが、デフォルトの請求先住所と配送先住所は削除しませんでした。
- 管理者がアドレスの一括削除を実行した後、「管理者の顧客アドレス」タブにアドレス数が正しく表示されるようになりました。 以前、アプリケーションは削除されたアドレスをカウントに含めていました。
- お客様登録ページの生年月日 フィールドのDateTime形式が修正されました。 以前は、1桁の日の前の先頭の0が見つかりませんでした。
- 買い物客が「アカウントを作成」ボタンをクリックする前に、生年月日 フィールドの日付形式の検証が機能するようになりました。 以前は、買い物客が無効な形式で値を入力する可能性があり、「アカウントを作成」ボタンをクリックすると、無効な日付エラーを含む新しい顧客アカウントを作成ページにリダイレクトされました。
- 管理者が属性の無効なデータを含む新しい顧客アカウントを保存しようとすると、アプリケーションが致命的なエラーをスローしなくなりました。
- お客様が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つ検出した後、顧客にリマインダーメールを送信するのを停止していました。
- 商品がカタログから削除された後、非同期モードでセールスメールを送信することが期待どおりに機能するようになりました。 以前は、非同期メール送信はブロックされており、アプリケーションに次のエラーが表示されていました:
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が正しく機能するようになりました。
- デプロイメントにカート価格ルールを保存した後、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
- アプリケーションは、ストアフロントの請求書PDFに対して、HTML印刷ビューのロゴ設定を期待どおりに適用するようになりました。 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属性が管理者ヘッダーAdminNotificationツールバーブロックに追加されました。 以前は、管理者ユーザーに表示する役割リソース権限がない場合でも、管理者通知ツールバーのエントリが表示されていました。 GitHub-29067
framework/database/selectwhere関数が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の場合に想定される結果を返すようになりました フィルターはinキーワードで指定されます。 GitHub-30349
- JSON ファイルとYAML ファイルの2つのスペースのインデントをサポートするルールを
editorconfigに追加しました。 GitHub-30066、GitHub-30063
FlushCacheByTagsクラスが更新され、プラグインの周りではなくAfter-plug-insを使用するようになりました。 GitHub-29558
checkout_index_index.xmlファイルのコードが、sortOrder、messages、authentication、progressBar、およびestimationコンポーネントからsidebar checkoutを削除することで強化されました。 GitHub-30550
calcのコンテンツがエスケープされ、CSS出力ファイルに正しいcalc値が生成されるようになりました。 以前は、アプリケーションが誤ったcalc値を返しました。 GitHub-30542
- URL書き換えジェネレーターは、グローバルスコープのカテゴリ URL書き換えを保存する際に、カテゴリーオブジェクト
url_key、url_pathおよびstore_idをデフォルトのストア値に設定するようになりました。 以前は、url_key、url_pathおよびstore_idを、最後に処理されたストア 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 ブロック IDに基づくレイアウトブロックの取得をサポートしています。 その結果、CMS ブロックがキャッシュから削除されると、レイアウトブロックキャッシュもクリアされます。 GitHub-28309
- キューの数値引数変換に関する問題を修正しました。 以前は、
typeで数値queue_topology.xml個の引数を持つキューを宣言すると、引数の値が文字列にキャストされていました。 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属性を追加しました。
- ストア、ストアグループ、およびweb サイト情報を返す
storeConfigクエリの属性を追加しました。
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画像のカラーが正しくレンダリングされるようになりました。 開いている画像にCMYK カラースペースがあることがImagick アダプタで検出されると、カラースペースはSRGBに変換されます。 以前は、これらの画像は反転した色でレンダリングされていました。 GitHub-22375
- ブール値が
image_with_border.phtmlに設定されなくなりました。max-widthとheightの冗長な設定が.product-image-photoから削除されました。 (これらの値は、既にリセット スタイルを使用して画像上でグローバルに設定されています。) GitHub-30186
読み込み/書き出し
- 特定のフィールド値が削除されたCSV ファイル (
region_idおよびNULL)を使用して顧客アドレスを読み込むと、顧客アドレスentity type = "customer address"にimport behavior = "add/update"値が割り当てられなくなりました。
- 読み込み中にストアフロントで商品画像を非表示にできるようになりました。
- インポートした商品のCSV ファイルで
qtyが0に設定されているのにis_in_stock setが1に設定されている場合、その商品はカテゴリーページに表示されず、商品の詳細ページでは在庫切れとして識別されます。 以前は、これらの値を持つ製品は、インポート後にストアフロントに表示されていました。
- CSV インポートで、追加の属性の
dropdownとtextareaの値が無視されなくなりました。 以前は、これらの属性値は読み込み中に更新されませんでした。
- 製品の書き出しCSV ファイルが、書き出しCSV ファイルの管理者リストに正常に表示されるようになりました。 以前は、次のコマンドを実行したときにアプリケーションがエラーをスローしていました:
bin/magento queue:consumers:start exportProcessor --single-thread --max-messages=10000。
- ベンガル語(Bangla)アルファベット文字を含むCSV データを読み込む際に、アプリケーションがエラーをスローしなくなりました。
- Chromeでの作業中に書き出し後に変更されたファイルの読み込み中に、管理者が データを確認 をクリックすると、アプリケーションに情報エラーメッセージが表示されるようになりました。 以前は、アプリケーションにコンソールエラーが表示されていましたが、続行する方法をユーザーに伝えていませんでした。
- 同じ製品CSV データを複数回インポートしても、アプリケーションで製品画像が重複しなくなります。 GitHub-21885
vendor/magento/framework/File/Uploader.phpの画像ファイル名の90文字の制限が削除されました。 以前は、ディレクトリとファイル名の長さは255文字を超えることはできませんでした。 アプリケーションは、ファイル名がこの制限を超えた画像を含む製品を読み込みましたが、画像ファイルは読み込まれませんでした。 GitHub-29377
- クーポンコードをCSVまたはXMLに正常にエクスポートできるようになりました。 以前、クーポンをエクスポートしようとすると、Export CSVまたは Export XML をクリックすると、アプリケーションに404 エラーが表示されていました。 GitHub-29277
- 画像を含むCSV ファイルを読み込んだ後、重複した製品画像が削除されるようになりました。 GitHub-14398、GitHub-21885
Index
- 部分インデクサーのパフォーマンスが向上しました。 アプリケーションは、1000 ID バッチ反復ごとに変更されたキャッシュ IDをクリアするようになりました。 キャッシュコンテキストでIDが蓄積されなくなりました。 以前は、キャッシュ コンテキストは1000 ID バッチ イテレーションごとにキャッシュ IDを蓄積し、各イテレーションで同じID セットをクリアしていました。
- 部分的な再インデックス作成システムと完全な再インデックス作成システムの間の不整合が修正されました。 両方のインデックスシステムで同じコードが使用されるようになりました。これは正しく機能します。 以前は、両方のインデックスシステムで共有インデクサーに関して異なるロジックを使用していたため、部分的な再インデックスシステムの実行ごとにインデクサーが無効化される可能性がありました。 GitHub-29478、GitHub-29297
-
手動インデクサーで、カテゴリーページが空になったり、カテゴリーページの製品数が減少したりする問題を解決しました。 不完全なカテゴリーページまたは製品数に関する問題は、次の場合に発生しました。
-
catalogsearch_fulltextとcatalog_product_priceの部分インデックスは、これらのインデックスが実行を完了するまで、大きなカタログで実行されました。 -
部分インデクサーは
catalog_category_productまたはcatalog_product_category個のインデックスで実行され、同時にそれらのインデックスの1つに対して完全な再インデックスが実行されました。 これらの2つのインデックス作成プロセスが競合する可能性があり、カテゴリーページに製品が表示されない場合があります。 -
bin/magento indexer:reindex inventoryは大きなカタログで実行されました。catalogsearch_fulltext部分インデクサーが実行を完了するまで、製品がカテゴリーページに表示されませんでした。
-
Magento_BulkMySQL テーブルにインデクサーが追加され、一括操作のパフォーマンスが向上しました。
- データベース テーブルのコメントが、インデックス再作成後のテーブルの状態を正確に反映するようになりました(
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に変更できるようになりました。
- 製品数量の10進数値の剰余の計算に関する問題は、関連する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が完全に初期化される前に Add to Cart がクリックされた場合、フォームデータで送信された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ブロックが、adminhtmldefaultレイアウト (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
メディアギャラリー
- 管理者Stores > Configuration > Advanced > System ページが更新され、正しい製品名(Media Gallery)が表示されました。 ユーザーインターフェイスのマイナーな再設計が含まれています。 GitHub-1738
- メディアギャラリー画像の説明の「使用済み」セクションのリンクに、選択した画像によってフィルタリングされたグリッドが表示されるようになりました。 以前は、表示されたグリッドには正しいタイトルが付けられておらず、リストエントリも正確ではありませんでした。 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
- レンディションをメディアギャラリーから挿入すると、画像アップローダーに正しい画像サイズが表示されるようになりました。 GitHub-1806
- パス検証が
Mediagalleryアップローダープラグインに追加されました。 以前は、検証に失敗し、古いメディアギャラリーを有効にするが無効になっている場合、アプリケーションは製品を読み込みませんでした。 GitHub-30649
-
次のディスクリート操作の設定済み権限をサポートするために、新しいメディアギャラリーに
Magento_Cms::media_gallery個のACL サブリソースが追加され、適用されました。- アセットのアップロード
- コンテンツへのアセットの挿入
- アセットの削除
- フォルダーの作成
- フォルダーを削除します。 GitHub-1487
- 長いメディアギャラリーのテキスト文字列とフォルダー名が切り抜かれなくなりました。 以前、アプリケーションに切り抜かれたテキストと画像が表示され、次のメッセージが表示されていました:
We couldn't find any records。 GitHub-1763、GitHub-1758
- 新しいページのコンテンツを編集中に画像が選択されていない場合、選択項目を追加 ボタンがアプリケーションに表示されなくなりました。 GitHub-1769
- フィルターが、コンテンツ > メディアギャラリー カテゴリーグリッドに期待どおりに適用されるようになりました。 GitHub-1763
- Gallery multiply ブレークポイントオプション設定が正常に機能するようになりました。 以前は、
mediaCheckがページ読み込み時に終了メディアクエリ関数をトリガーしたので、ブレークポイントオプションの設定が正しく機能しませんでした。 GitHub-29933
MFTF
- 繰り返しアクションを
CheckStaticBlocksTestのアクション グループに置き換えました。 GitHub-30561
AdminUpdateCategoryAndMakeInactiveTestとVerifyChildCategoriesShouldNotIncludeInMenuTestは、MFTFのベストプラクティスに準拠するようにリファクタリングされました。 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
- エンティティが削除された後、メディアギャラリー画像の 使用済み 情報が表示されるかどうかを確認するためのテストを追加しました。 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 Expressで注文を行ったときに、アプリケーションが重複した注文を作成しなくなりました。 以前、PayPal Expressで注文の支払いを試みたが、PayPalがエラーを返した場合、アプリケーションはまだ注文を作成していました。 その結果、加盟店サイトで注文が重複することになりました。 GitHub-13952
- PayPal決済レポートは、Reports > Sales > PayPal Settlementで利用できるようになりました。 以前、アプリケーションは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_BulkMySQL テーブルにインデクサーが追加され、一括操作のパフォーマンスが向上しました。
- アプリケーションは、設定可能な製品の子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が再作成されたときに、アプリケーションが永続的な顧客を適切に検証できませんでした。
- 買い物客が永続的なショッピングカートが有効になっているストアにログインすると、アプリケーションにウェルカムメッセージが期待どおりに表示されるようになりました。 以前、アプリケーションにと表示されていました。ログイン後に メッセージが表示されます。
- アプリケーションにが表示されなくなりました。永続的なショッピングカートが有効になっているデプロイメントにログインする際に、顧客が Remember Me オプションを選択すると、 テキスト。
- 顧客セッションの有効期限が切れると、アプリケーションに顧客のカートの内容が表示されなくなります。 以前は、ゲスト顧客が永続的なショッピングカートを有効にしたときにチェックアウトしようとしたときに、このエラーがアプリケーションに表示されていました:
No such entity with cartid = 0。
価格
- 連続した非同期価格の更新により、相互に干渉しなくなり、各操作に正しいステータスが割り当てられます。 以前は、非同期価格の更新に失敗した場合、対応するキューのコンシューマーが再起動されるまで、後続のすべての非同期価格の更新に失敗していました。 GitHub-27865
レポート
- Reports > Marketing > Products in Cartsでは、レポートを生成しているユーザーの許可された範囲のレコードのみが表示されるようになりました。 以前は、すべてのスコープですべてのデータを使用できました。
- アプリケーションは、製品の買い物かごレポートに製品通貨を表示する際に、レポートを生成する販売者の役割スコープで指定された通貨を使用するようになりました。
- 最近表示された機能と最近比較された機能では、マルチストア展開で、管理者の様々なストアとweb サイトの統計情報が期待どおりに表示されるようになりました。 以前は、これらの機能はすべてのストアやweb サイトを考慮に入れていませんでした。
- 注文レポートで正しい通貨記号が使用されるようになりました。
- ユーザーが管理者ダッシュボード 詳細レポートに移動 ボタンをクリックすると、アプリケーションがトークンの存在を確認するようになりました。 トークンが存在する場合、アプリケーションに「詳細レポート」ページが表示されます。 トークンが設定されていない場合、アプリケーションはユーザーガイドに情報ページを表示します。 GitHub-25411
レビュー
- 管理者マーケティング/すべてのレビューで「新しいレビュー」ボタンをクリックすると、新しいレビューページが正常に読み込まれるようになりました。 このページの製品をクリックすると、その製品の予定されている新しいレビューフォームが開きます。
- 管理者マーケティング > すべてのレビュー:
Uncaught TypeError: Event.observe is not a functionから注文を編集しようとすると、アプリケーションがこのエラーをスローしなくなります。 GitHub-30388
営業担当者
order_created_atのsales_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。
- カタログ検索のパフォーマンスが向上しました。 検索候補を有効にする (店舗 > 構成 > カタログ > カタログ検索)を無効にすると、期待どおりに機能します。 以前は、アプリケーションは自動入力検索候補のElasticsearchの代わりにMySQL
search_queryテーブルをクエリしていました。 GitHub-25534
- Elasticsearchでは、MySQLと同じように商品価格がフィルタリングされるようになりました。 精度を向上させ、浮動小数点エラーを修正するために、Elasticsearch インデックスのフィールドの種類
price_*がfloatからdoubleに変更されました。
- フォワードスラッシュが入力されたときにグローバル検索フォームをアクティブ化するキーダウンイベントリスナーが管理者に追加されました。 GitHub-29551
- Elasticsearchは、
stringまたはintegerバックエンドタイプの属性で商品をフィルタリングするためにdecimal値を使用する場合、エラーをスローしなくなり、代わりに予期したとおりに商品を表示しません。 以前、アプリケーションはこのエラーを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
- 管理者Stores > Configuration > Sales > Delivery MethodsのUPS配信方法を記述するフィールドが、期待どおりに有効になりました。
- POST
/rest/V1/shipmentエンドポイントを通じて作成された出荷が、注文を正しく更新するようになりました。 以前は、アプリケーションで出荷が作成されていましたが、出荷ステータスは処理状態のままでした。
- 「配送を複数のアドレスに送信」でチェックアウトする前に別の商品がカートから削除された場合、このアプリケーションはショッピングカートから単純な商品を削除しなくなりました。 GitHub-30259
- 注文レビューページに、複数の住所に出荷される注文の出荷前の税額が、想定どおりに表示されるようになりました。
- UPS出荷追跡は、パッケージが配信された場合にのみ
Delivered Onのステータスを示すようになりました。 GitHub-30032
- 買い物客が複数のアドレスでチェックアウトからカートに戻ると、バーチャル商品を含む注文の正しいカート小計が表示されるようになりました。
- JavaScript バンドルが有効になっている場合、FedEx配送を使用する既存の注文の配送ページから配送ラベルを作成できるようになりました。 以前は、販売者が「配送ラベルを作成」ボタンをクリックすると、アプリケーションがエラーをスローしていました。
- お客様に送信された出荷確認メールの出荷追跡リンクが、正常に機能するようになりました。 以前は、このリンクで404 エラーが返されていました。
- 買い物客が複数のアドレスを使用してチェックアウトし、仮想製品以外のすべての商品を削除すると、アプリケーションに有益なエラーメッセージが表示されるようになりました。 GitHub-25595
- これで、部分的な注文に対して期待どおりの配送ラベルを作成できるようになりました。 以前は、注文から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権限なしで実行できるようになりました(デフォルトでmysqldumpを実行するにはMySQL 5.7.31 / 8.0.21以降に必要)。 GitHub-30566
テーマ
- 新しい
--no-parentフラグがbin/magento setup:static-content:deployコマンドに追加され、テーマの親がコンパイルされなくなりました。 この新しいフラグを使用すると、不要なコンパイルを避けることで、静的コンテンツ展開プロセスのパフォーマンスを大幅に向上できます。 この新しいフラグは、compact戦略を使用する場合は機能しません。 GitHub-30184
- デザイン設定でDDL操作が生成されなくなりました。 以前は、デザイン設定が更新されると、アプリケーションはMySQL エラーをトリガーする可能性のあるDDL ステートメントを生成しました。
- 管理テーマの
Magento_ConfigurableProductモジュールの冗長なコードが削除されました。 GitHub-29857
- 冗長なスタイルナビゲーションと、空白テーマ内の未使用のプロパティが削除されました。 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
- ブラジルの郵便番号に8桁を適用するように、
zip_codes.xmlが更新されました。 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
- Open Sans フォントの読み込み時に
@font-family-name__base変数が使用されなくなりました。 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モジュールは、支払い情報管理サービスのリクエストから支払い方法コードを認識するようになりました。 以前、買い物客が保存された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およびGETrest/all/V1/categories?rootCategoryId=2の呼び出しは、ツリー内のすべてのカテゴリについて、入力されたnameおよびproduct_countフィールドを返すようになりました。 以前は、カテゴリフィールドの値は空でした。 テーブル名リゾルバープラグインが、カテゴリ別の製品の数を取得するために誤ったテーブル名を返しました。
- PUT
V1/categories/:idエンドポイントには、save_rewrites_historyカスタム属性が指定されたときに、カテゴリ URL キーの301 リダイレクトを作成するために必要なデータが格納されるようになりました。 GitHub-29174、GitHub-30240
Wishlist
- 買い物客は、商品がカスタム在庫ソースに割り当てられたときに、商品をウィッシュリストに追加できるようになりました。 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/を使用して、シンボリックリンクを使用してサブフォルダー内のインストールをエミュレートする方法を示しています。
-
https://shop01.com/shop/のサブディレクトリを作成:code language-bash mkdir magento_root/pub/shop01code language-bash cd magento_root/pub/shop01 -
新しく作成したディレクトリに、ストアの親ディレクトリのシンボリックリンクを作成します。
code language-bash ln -s ../media mediacode language-bash ln -s ../static staticcode language-bash ln -s ../../../pub pubcode language-bash ln -s ../.htaccess .htaccesscode language-bash ln -s ../health_check.php health_check.php -
新しいディレクトリ (
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;
}
- 新しいサブディレクトリを指すように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の支払いが機能しない ナレッジベースの記事を参照してください。
問題: addConfigurableProductToCart GraphQLの変異を使用して、Inventoryを実行するマルチストア展開で、デフォルト以外のストアビューで構成可能な商品をカートに追加することはできません。 (Luma ストアフロントは影響を受けません。)アプリケーションに次のエラーが表示されます:Could not add item to cart. Please check required options and try again。 回避策:代わりにaddProductsToCartの変異を使用します。 GitHub-31660
コミュニティへの貢献
より多くのMagento Open Source コミュニティに感謝し、このリリースに対する貢献を認めたいと思います。
コミュニティエンジニアリングチーム Magento Contributorsは、月、四半期、年ごとに、最も貢献度の高い個人とパートナーのリストを管理しています。 その貢献者ページから、GitHub上の結合されたPRへのリンクをフォローできます。
パートナーの貢献
次の表は、パートナーによる貢献を示しています。 この表は、プルリクエストに貢献したパートナー、外部プルリクエスト、およびそれに関連付けられているGitHub イシュー番号(利用可能な場合)を示しています。
個々の貢献者貢献
次の表に、コミュニティメンバーからの貢献を示します。 次の表は、外部プルリクエスト、それに関連付けられているGitHub イシュー番号(使用可能な場合)、プルリクエストに貢献したコミュニティメンバーを示しています。
必要システム構成
アドビのテクノロジースタックはPHPとMySQL上に構築されています。 詳しくは、必要システム構成を参照してください。
インストールとアップグレードの手順
Magento Open Source 2.4.2は、Composerを使用してインストールできます。
移行ツールキット
Data Migration Toolは、既存のMagento 1.x ストアデータをMagento 2.xに転送するのに役立ちます。このコマンドラインインターフェイスには、検証、進捗状況の追跡、ログ記録、テスト機能が含まれています。 インストール手順については、 データ移行ツールのインストール を参照してください。 データ移行リポジトリ の探索または貢献を検討してください。
Code Migration Toolkitは、既存のMagento 1.x ストア拡張機能とカスタマイズをMagento 2.xに転送するのに役立ちます。コマンドラインインターフェイスには、Magento 1.x モジュールとレイアウトを変換するためのスクリプトが含まれています。