Adobe Commerce 2.4.2 リリースノート
Adobe Commerce 2.4.2では、パフォーマンスとセキュリティが強化され、プラットフォームが大幅に改善されました。 セキュリティの強化には、すべてのCookieのSameSite属性のサポートの拡張が含まれます。 B2Bでは、発注に対するオンライン決済のサポートに重点を置いて改善しています。 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を含む)のダウンロードと適用の手順については、 オンプレミスのインストールのクイックスタート を参照してください。 セキュリティパッチには、セキュリティバグの修正のみが含まれ、フルパッチに含まれている追加のセキュリティ機能強化は含まれません。
その他のリリース情報
これらの機能のコードは四半期ごとのリリースにバンドルされていますが、これらのプロジェクトのいくつか(B2B、Page Builder、Progressive Web Applications (PWA) Studioなど)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントに記載されている、プロジェクト固有の個別のリリース情報に記載されています。
ハイライト
このリリースでは、次のハイライトを確認してください。
セキュリティ機能の大幅な強化
このリリースには、35以上のセキュリティ修正とプラットフォームセキュリティの改善が含まれています。 すべてのセキュリティ修正は、2.4.1-p1および2.3.6-p1にバックポートされました。
リモートコード実行(RCE)およびクロスサイトスクリプティング(XSS)の脆弱性をクローズするのに役立つ35以上のセキュリティ強化
これらの問題に関連する確認された攻撃は、これまでに発生していません。 ただし、特定の脆弱性を悪用して、顧客情報にアクセスしたり、管理者セッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセスを取得する必要があります。 その結果、IP許可リストに加える、二段階認証、VPNの使用、/adminではなく一意の場所の使用、適切なパスワードの健全性など、管理者を保護するために必要なすべての手順を実行することをお勧めします。 これらの修正された問題については、Adobe セキュリティ情報を参照してください。
その他のセキュリティ機能
このリリースのセキュリティ機能強化は次のとおりです。
-
すべてのコア Cookieで
SameSite属性がサポートされるようになりました。 -
ユーザーがこれらのフィールドに値を保存しようとすると、製品およびカテゴリの説明フィールドに、潜在的に悪意のあるコンテンツを識別するメッセージが表示されるようになりました。
-
悪意のあるアップロードを防ぐために、コンポーネント間のファイルシステム操作を標準化および強化しました。
-
コアコンテンツセキュリティポリシー(CSP)違反が修正されました。
基盤の改善
このリリースには、コア品質の機能強化が含まれており、フレームワークの品質と、カスタマーアカウント、カタログ、CMS、OMS、インポート/エクスポート、プロモーションとターゲティング、カートとチェックアウト、B2B、ステージングとプレビューなどの機能領域が向上しています。
プラットフォームの機能強化
-
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が利用可能になりました!を参照してください。
このリリースでは、分割データベースを使用するようにインストールを設定する機能が廃止されました。 現在、分割データベースを使用しているマーチャントは、単一のデータベースに戻したり、単一のデータベースに移行したり、別のアプローチを使用したりする計画を開始する必要があります。 この問題の概要については、Adobe Commerce🔗開発ブログ投稿の「Deprecation of split database functionality in」を参照してください。 移行手順については、分割データベースから単一データベースへの復帰を参照してください。
パフォーマンスの強化
このリリースには、大規模なカタログを使用したデプロイメントのAPI パフォーマンスと管理者の応答時間を向上させるコードの機能強化が含まれています。 複数のスケーラビリティの機能強化により、2.4.2では、以前のリリースよりも最大20倍大きい複雑なカタログをネイティブにサポートできるようになりました。
GraphQL
このリリースでは、次の機能に対するGraphQLのカバレッジが追加されています。
-
複数のウィッシュリストに対応しました。 GraphQLを使用すると、create、delete、およびrename wishlistsと、それらの間のmoveまたはcopy項目を使用できます。
-
返品商品承認(RMA)のサポートを追加しました。 買い物客は返品をリクエスト できます。 加盟店がリクエストを受け入れると、買い物客は コメントの追加や追跡情報の追加などのタスクを実行できます。
-
次のB2B機能のサポートを追加しました。
-
GraphQLでの組合のサポートを追加しました。 GitHub-29425
-
比較リスト のサポートを追加しました。 買い物客は作成と削除の比較リストを作成し、追加と削除の項目を比較リストに追加できます。 さらに、ゲストとして比較リストを作成する買い物客は、顧客としてログインし、比較リストを保持できます。
-
generateCustomerTokenAsAdminの突然変異を追加し、Customerオブジェクトを更新して、リモート購入支援をサポートしました。 -
言語、カート、通貨の変更などのタスクをサポートするために、ストア間のローカライゼーションサポートを追加しました。
-
GraphQL スキーマが強化され、多数のバリエーションを持つ設定可能な商品に対して商品データ検索を最適化できるようになりました。
-
整数型オブジェクト IDは廃止され、型IDの
uid属性が優先されました。 -
staging属性をProductInterfaceおよびCategoryInterfaceに追加し、製品がステージングされているかどうかを判断し、関連するキャンペーン情報を表示できるようにしました。
これらの機能強化について詳しくは、GraphQL開発者ガイド を参照してください。
B2B
2.4.2では、B2B v1.3.1が導入されています。 このリリースには、発注書のオンライン支払いのサポートと、複数のバグ修正が含まれています。
オンライン支払い方法を使用して発注を完了できるようになりました。 B2B バイヤーは、最初のチェックアウト時に、各発注書に対して希望する支払い方法を選択するよう求められます。 発注が承認されると、購入者は支払い詳細を入力して発注を最終注文に変換するように求められます。
オンライン決済を受け入れるための完全なワークフローをサポートするために、この機能も次のとおりです。
-
初期チェックアウト時に既存の支払い方法のテンプレートを上書きし、PCI認定を維持します。
-
サードパーティ、カスタム、コミュニティ開発の支払い方法との互換性を維持します。
-
承認された発注に支払い詳細を追加する必要がある場合、購入者にメールで通知します。
-
管理画面からメールをカスタマイズできるようにします。これにより、販売者はブランディングに一貫性のあるテンプレートを使用できます。
-
発注書の状態を
Approved – Pending Paymentに導入して、アクションが必要なタイミングを明確に示します。 -
最後の支払い手順で割引コードが追加または削除されるのを防ぎ、承認された発注に対して注文総額が変更されないようにします。
-
バイヤーが最後の支払いステップで支払い方法を変更できるようにし、柔軟性を維持しながらコンバージョン率を向上できます。
このリリースには、複数のバグ修正も含まれています。 B2B リリースノート を参照してください。
PWA Studio
このリリースのPWA Studioには、次のものが含まれます。
-
国際化とローカライゼーション。 Veniaは現在、複数の言語と通貨をサポートしています。
-
拡張機能によるコード変更をサポートするための拡張性フレームワークを改善しました。
-
ウィッシュリスト、保存済み支払い、アドレス帳、注文履歴などのマイアカウント関連機能の初期コンポーネント。
-
様々なパフォーマンスの最適化とバグ修正。
機能強化とバグ修正について詳しくは、PWA Studio リリース を参照してください。 PWA Studioのバージョンと互換性のあるバージョンの一覧については、互換性を参照してください。
ページビルダー
このリリースには、ページビルダーコンテンツの移行とページビルダーCSSのカスタマイズに関する機能強化が含まれています。
-
開発者は、
!importantディレクティブを使用せずに、ビューポートごとに異なる形式でコンテンツタイプ出力を設定できるようになりました。 -
ページビルダーに移行されたコンテンツは、デフォルトのインラインスタイル設定でパディングされなくなりました。
-
ページビルダーでは、すべてのコンテンツタイプを行内に配置する必要がなくなりました。 ページビルダーステージ は最初に空白になり、行、列、タブ、HTML コード、ブロック、動的ブロックのコンテンツタイプをステージに直接追加することがサポートされるようになりました。
-
コンテンツタイプに事前に定義されたマージンとパディングは不要になりました。
-
新しいモバイル ビューポートスイッチャーとフォームフィールド値のビューポートスコープにより、ユーザーと開発者は次のアクションを実行できます。
-
オーサリング時に様々なビューポートでコンテンツを表示します。
-
各ビューポートに対して、異なるコンテンツタイプの最小ハイトフィールドパラメーターを最適化します。 (標準でサポートされているパラメーターは1つだけです(最小の高さ)。 他のコンテンツパラメーターのモバイル最適化を有効にするには、カスタム開発が必要です)。
-
カスタムフィールドとフィールドセット(開発者)にフィールドスコープを追加します。
-
インタラクティブな製品内ガイダンス
インタラクティブな製品内ガイダンスでは、新機能のお知らせ、ウォークスルー情報、オンボーディング情報、ツールヒントなど、管理者内からの使用状況のヒントと情報をマーチャントに提供します。 この機能が有効になっていない場合、管理者は製品内ガイダンスを受け取るために、管理者からオプトインする必要があります。 使用状況データ収集および管理者使用状況を参照してください。
Adobe Stockとの連携
このリリースには、Adobe Stock Integration v2.1.1が含まれています。
メディアギャラリー
メディアギャラリーの新しい役割リソース。 このリリースでは、マーチャントがメディアギャラリーのみに管理者アクセスを制限し、これらのアクションを実行できるユーザーを制御する機能を提供します。
-
メディアアセットのコンテンツへの挿入
-
アセットのアップロード
-
アセットの詳細を編集
-
メディアギャラリーからのアセットの削除
-
フォルダー構造を管理します。
コンテンツのWebに最適化された画像。 マーチャントは、高解像度の画像の代わりにwebに最適化された画像レンディション をコンテンツで使用できるようになりました。 元の画像はメディアギャラリーで変更されず、画像がコンテンツに挿入されたときに画像レンディションが動的に生成されます。
AWS S3 サポートの機能強化
Amazon Simple Storage Service (AWS S3)のサポートが強化され、次の機能がサポートされるようになりました。
-
オブジェクトストレージと将来の拡張性
B2B、PageBuilder、Adobe Stock Integrationなど、すべてのモジュールにAWS S3のサポートが追加されました。
機能的テストフレームワーク(MFTF)
MFTF 3.2.1が利用可能になりました。 このリリースでは、テストとテストスイートの生成の両方でエラー許容値が導入されています。 追加の機能強化とバグ修正については、機能テストフレームワークの変更履歴を参照してください。
Order Management方式(OMS)
MCOM コネクタは2.4.2と完全に互換性があります。 コネクタのバグ修正と機能強化については、 コネクタのリリースノート を参照してください。 このリリースには、OMS コマンドライン インターフェイスの機能強化が含まれています。これにより、パートナーおよびサポート チームがretry、queue_prune、order_sync、message process、およびcatalog exportのプロセスのトラブルシューティングに使用できる詳細な情報が提供されるようになりました。
ベンダー開発の拡張機能
このリリースの機能と変更点については、次の記事を参照してください。
-
Amazon Pay。 Amazon Payはこのリリースで廃止され、Magento 2.5.0で削除されます。 バージョン 2.4.3以降では、互換性に関するアップデートと主要なバグの修正のみが含まれます。
修正された問題
2.4.2 コアコードの数百もの問題を修正しました。
インストール、アップグレード、導入
- このリリースでは、分割データベースを使用するようにインストールを設定する機能が廃止されました。
- これで、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。
- アプリケーションは、
queue_consumer.xmlで定義されているmaxMessages値を尊重するようになりました。 以前は、アプリケーションはデプロイメント設定値のみを使用していました。 GitHub-29522
- 新しいストアのURL生成が、
bin/magento setup:config:importを使用してストアを作成する際に、想定どおりに機能するようになりました。 以前は、URLの書き換えは実稼動環境では生成されませんでした。 GitHub-30025
- 既存のデータベース
Overwrite the existing configuration for db-ssl-verify?[Y/n]に接続するためにbin/magento setup:installを実行すると、アプリケーションにこの質問が表示されなくなりました。 GitHub-29612
AdminGWS
- 新しい評価を追加 ボタンと保存、削除、リセット ボタンは、制限された権限を持つ管理者のストア > 属性 > 評価 ページでは使用できなくなりました。
- 管理者は、ログイン管理者が権限を持つWeb サイトからのデータのみを表示するようになりました。 以前は、管理者はデプロイメント内のすべてのweb サイトのデータを表示していました。
- 選択したすべてのWeb サイトは、Web サイト IDのサイズに関係なく
gws_websitesに保存されるようになりました。 以前は、web サイト IDは切り捨てられており、選択したweb サイトのリストはデータベースに保存されていませんでした。 ユーザーの役割が正しく保存されませんでした。販売者が役割を変更して保存しようとすると、アプリケーションにこのエラーが表示されました:The "X" store ID is incorrect. Verify the store ID and try again。
- アプリケーションで、制限された管理者ユーザーの管理者グリッドに正しい項目数が表示されるようになりました。 以前は、これらのグリッドに表示されたカウントは、すべての国のデータを反映していましたが、グリッド自体は特定の国のデータのみを表示していました。 (この修正は、顧客セグメント、カタログ価格ルール、カート価格ルール、すべてのユーザー、ロックされたユーザー、ユーザー役割グリッドの問題を修正します)。
- 権限が
Magento_Catalog::edit_product_design(製品デザインの編集)を除外する管理者は、選択したストアビューに新しい名前の既存の製品を保存して、新しい製品を作成できるようになりました。 以前、アプリケーションはこのエラーを表示しました:Not allowed to edit the product's design attributes。 GitHub-28106
- 管理者がこれらのエンティティを作成するための適切な権限を持っていない場合、アプリケーションはストア/属性の下のページに属性を追加 ボタンを表示しなくなります。 以前は、適切な権限を持たないweb サイト管理者が 属性セット または 顧客 属性の作成を試みたときに、アプリケーションが404 エラーをスローしていました。
- Adobe Commerceのインストール後に
sshコンテナを使用してbackend-frontnameを変更しようとすると、アプリケーションでエラーがスローされなくなりました。 GitHub-26762
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で要求されている二重引用符ではなくバックスラッシュでエスケープされたため、失敗しました。
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 チェックアウト決済方法が、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の価格が表示されていました。
- チェックアウトワークフローの「自分の請求先住所と配送先住所が同じ」チェックボックスが選択されていない場合に、顧客のデフォルトの請求先住所が選択されるようになりました。
- 管理者は、管理者からリダイレクトされることなく、管理者からSKUによって製品をショッピングカートに追加できます。 管理者はストアフロントページにリダイレクトされなくなり、アプリケーションは管理者ショッピングカート項目セクションに製品を期待どおりに表示します。
- SKUで商品をカートに追加する際に、複数の種類のエラーを含むCSV ファイルをアップロードすると、アプリケーションに有益なエラーメッセージが表示されるようになりました。 以前は、ショッピングカートの管理>SKUでショッピングカートに追加 ファイルを選択 をクリックすると、アプリケーションに空白ページと一般的なエラーメッセージが表示されていました。
- 買い物客が別のドメインにある店舗から別の店舗に切り替えても、カートの内容が失われることはなくなります。
- 買い物客が複数の配送方法を使用している場合、複数の住所を持つチェックアウトを使用して注文を正常に完了できるようになりました。 以前、アプリケーションはこのエラーを表示しました:
There has been an error processing your request。 GitHub-30197
- 買い物客がショッピングカートからストアビューを変更すると、チェックアウトワークフローの配送ページに正しいデフォルトの国が表示されるようになりました。
- ゲスト買い物客がログインしたときにログアウト後のパスワードリセット後に顧客セッションをクリーンアップする際に、現在のセッションがアプリケーションで除外されるようになりました。 以前は、買い物客がパスワードをリセットすると、アプリケーションがショッピングカートを空にしました。
- 買い物客がショッピングカートのストアビューを変更すると、ストアビューのデフォルトの正しい国がアプリケーションに表示されるようになりました。 以前は、買い物かごでストアビューが変更された場合、デフォルトの国が正しくありませんでした。
- カタログ権限が設定された順序では、適切な権限を持つ管理者が製品をカートに追加できなくなります。 以前、アプリケーションは現在の顧客グループの
addToCart構成設定を確認できませんでした。 その結果、管理者が製品をカートに追加しようとすると、アプリケーションがエラーをスローしました。
- 買い物かごの
/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 に戻っていました。
- ストアフロントでの商品の並べ替え順序に関する問題が解決されました。 以前、アプリケーションで製品価格がインデックス化されると、
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 カレンダーを使用が有効になっている場合(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は\Magento\Framework\Filter\Template\Tokenizer\Parameterでurlに修正されました。 GitHub-29185
コードの整理
- 不要なHTML
<br>タグがSystem > Import ページのデータ確認メッセージ領域から削除されました。
ChangeQuoteControlがリファクタリングされました。 GitHub-29673
AccessChangeQuoteControlとその単体テストがリファクタリングされました。 GitHub-29672
app/code/Magento/Captcha/CustomerData/Captcha.phpの戻り値タイプ宣言のコードスタイルを修正しました。 GitHub-29712
- 新規属性ページのボタンリストの位置を修正しました。
\Magento\Framework\View\Element\TemplateクラスのフロントエンドviewModel参照例に正しいブロッククラスを追加しました。 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をEntityAbstract.phpの@param AbstractAttribute|string[]|string $attributeに変更しました。 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
AdvancedPricingクラスの構成内の未使用のパラメーターが削除されました。 GitHub-29531
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を削除できるようになりました。
- アプリケーションは、カスタムの性別の属性値を含む顧客データを正常に書き出せるようになりました。
- アプリケーションは、B2B ユーザーのカスタム顧客属性値を期待どおりに保存するようになりました。 以前は、会社ユーザーの追加または編集用に作成されたカスタム顧客属性は、「新しいユーザーを追加」フォームにバインドされていなかったため、属性値は保存されませんでした。 さらに、カスタム日付属性は文字列としてデータベースから派生し、ストアフロント表示に適した日付形式に変換されませんでした。
お客様
- ストアフロント顧客アカウントページの「生年月日」フィールドのカレンダーウィジェットで、指定されたストアロケールが使用されるようになりました。
- 管理者から既存の顧客の再注文のチェックアウト中に、顧客アドレスの重複したエントリが保存されなくなりました。
- 管理者から複数の顧客のすべてのアドレスを削除すると、顧客のアドレスリストからすべてのアドレスが削除され、デフォルトの請求先住所と配送先住所が削除されるようになりました。 以前、アプリケーションは顧客の住所リストから住所を削除しましたが、デフォルトの請求先住所と配送先住所は削除しませんでした。
- 管理者がアドレスの一括削除を実行した後、「管理者の顧客アドレス」タブにアドレス数が正しく表示されるようになりました。 以前、アプリケーションは削除されたアドレスをカウントに含めていました。
- お客様登録ページの生年月日 フィールドの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呼び出しによって製品が作成されたときにペイロードに値が指定されていない場合に、デフォルト値を使用するようになりました。
メール
setPath()がtoOptionArray()より前に呼び出されない場合、\Magento\Config\Model\Config\Source\Email\Template::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
- ストアビューを変更する際に、アプリケーションが顧客をホームページにリダイレクトしなくなりました。
\Magento\VersionsCmsUrlRewrite\Model\StoreSwitcher::switch()メソッドは、2番目のストアビューに$urlPathが見つからない場合にのみ、買い物客をホームページにリダイレクトするようになりました。
- 存在しない顧客がパスワードリセットを要求すると、アプリケーションが例外をスローするようになりました。 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
- 新しい
moveFileFromTmpメソッドを使用するために、\Magento\Catalog\Model\ImageUploaderクラスがリファクタリングされました。 GitHub-29598
- マーチャントが
product_typeとtype_idのコードを含む製品属性をより説明的に作成しようとすると、アプリケーションに、より有益なエラーメッセージが表示されるようになりました。 GitHub-28479
- 管理者ストア > 構成 > サービス > OAuth ページの 顧客トークン有効期間(時間) および管理者トークン有効期間(時間) フィールドの検証ロジックを修正しました。 GitHub-29502
- ウィジェットコンテンツフィールドに
}}を含むテキストが正しく解析されるようになりました。 GitHub-12087
- 製品カテゴリ ページからフィルターを削除できるようになりました。 以前、フィルターを削除しようとしたときに、アプリケーションがフィルターを削除できず、次のエラーが表示されていました:
Something went wrong。 GitHub-8538
- オプションのモジュール
Magento_MessageQueueが無効になっている場合、Magento\Framework\MessageQueue\ConfigInterfaceをインスタンス化できるようになりました。 以前、アプリケーションがこのエラーをスローしました: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。
- JSON ファイルとYAML ファイルの2つのスペースのインデントをサポートするルールを
editorconfigに追加しました。 GitHub-30066、GitHub-30063
FlushCacheByTagsクラスが更新され、around-plug-insではなくafter-plug-insが使用されるようになりました。 GitHub-29558
0要素を含まないハッシュ配列でMessageValidatorが失敗しなくなりました。 GitHub-30563
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をデフォルトのストア値に設定するようになりました。 以前は、url_key、url_pathおよびstore_idを、最後に処理されたストア IDの値で保存していました。 GitHub-29585
\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が有効になったときに発生したacl.xmlの不整合が、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
- プラグインの作成中に
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 ブロック IDに基づくレイアウトブロックの取得をサポートしています。 その結果、CMS ブロックがキャッシュから削除されると、レイアウトブロックキャッシュもクリアされます。 GitHub-28309
- キューの数値引数変換に関する問題を修正しました。 以前は、
queue_topology.xmlで数値type個の引数を持つキューを宣言すると、引数の値が文字列にキャストされていました。 GitHub-29615
ギフトカード
- ギフトカードコードを含む電子メールは、注文項目が注文されたときに「ギフトカードアカウントを作成する」設定が有効になっている場合に、注文が正常に保存された後にのみ送信されるようになりました。 以前は、商品の注文時にギフトカードアカウントが生成されたものの、仮想ギフトカードの送信後に例外が発生した場合、ギフトカードコードが再利用され、別の顧客に送信されていました。
- アプリケーションがギフトカード注文を重複しなくなりました。 以前、買い物客がギフトカードを1枚注文すると、アプリケーションで2つのギフトコードが届きました。 これは
cron件のジョブ\Magento\GiftCard\Observer\GenerateGiftCardAccountsInvoice::execute()が原因で発生しました。この方法では、請求書の作成中にギフトカードコードが既に生成されているかどうかが確認されませんでした。
- 加盟店は、期待どおりにカテゴリから商品の割り当てを解除できるようになりました。 以前は、アプリケーションがこのエラーに類似したエラーをスローしました:
Could not save product "4" with position 0 to category 3。
- エラーページとメンテナンスモードでシンボリックリンク
rootのサポートを追加しました。 以前は、rootまたはmagento/pubが別のディレクトリにシンボリックリンクされていた場合、エラープロセッサー(Magento\Framework\Error\Processor)で正しいビューファイル URLが生成されませんでした。 GitHub-30296
- 欠落している
order_data配列をEmailSenderクラスに追加しました。 これにより、これらのクラスは、メールテンプレート内でオブジェクトの代わりにスカラー変数を使用するというMagentoの推奨事項に適合します。 GitHub-29604
Google Tag Manager
- Google Tag Manager
productClick関数が期待どおりに動作するようになりました。 以前は、リストページの商品でproductClickがトリガーされず、Google Tag Managerはそのイベントをキャプチャできませんでした。
- Google Tag Managerの設定可能な商品オプションは、カート内の設定可能な商品オプションを編集した後、データレイヤーで期待どおりに更新されるようになりました。 以前は、製品オプションが変更されたときに
removeFromCartイベントのデータが誤って書き換えられ、数量は同じままでした。
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変異を使用して、ユーザー定義の数量を持つバンドル製品をウィッシュリストに追加できるようになりました。
- 買い物かごに商品を追加する変更は、カタログの権限を尊重するようになりました。 GitHub-30179
- カートに追加する操作に対するGraphQLの応答時間が改善されました。
productsクエリで、予期したとおりにティア価格の値が返されるようになりました。 GitHub-29168
lib/internal/Magento/Framework/GraphQl/Query/EnumLookup.phpのループから冗長なgetMappedNumsを削除しました。 GitHub-30031
- クエリされた製品に無効な関連製品がある場合、
productsクエリでエラーが返されなくなりました。 GitHub-28892
cartクエリで、正しい通貨(デフォルトの表示通貨)に変換された価格が返されるようになりました。 以前は、クエリで基本通貨の品目価格値が返され、通貨コードはデフォルトの表示通貨として返されていました。
- GraphQLは、カタログ権限を尊重するようになりました。 アプリケーションは、買い物客の顧客グループに基づいて、
productsクエリに返される項目を制限します。
CartItemInterfaceを実装する複数のデータ型にcustomizable_option属性を追加しました。
- ストア、ストアグループ、およびweb サイト情報を返す
storeConfigクエリの属性を追加しました。
SelectedCustomizableOption.type属性を復元しました。 さらに、CartItemInterfaceの様々な実装内のcustomizable_options属性がnullでなくなりました。
productsクエリの検索機能で、カテゴリ権限が有効になっている項目が返されなくなりました。
productsクエリは、複数の通貨を持つストアビューの正しい通貨を返します。
- デフォルト以外のストアビューに適用できる場合、
productsクエリフィルターのラベルが翻訳済み値を返すようになりました。
- カート内のギフトカードの固定店舗通貨金額。
- 製品の選択可能な設定可能なオプションに対応するメタデータを含む
ConfigurableProductOptionsSelectionデータタイプを追加しました。 このオブジェクトをproductsクエリで使用すると、買い物客が設定可能な製品オプションを選択したときに表示されるメディアギャラリー項目の数を最小限に抑えることができます。
製品グループ化
- 製品クエリは、グループ化された製品に対するすべての期待されるデータを返すようになりました。 以前、
product_linksは空の配列でした。
- グループ化された製品は、すべての子製品が在庫切れになった場合に、製品編集ページに在庫切れとして表示されるようになりました。
- グループ化された製品のステータスが、子のシンプルな製品のステータスが在庫切れになった場合に、製品編集ページで正しく更新されるようになりました。 以前は、グループ化された製品の親の在庫在庫在庫品目は、子どもが在庫状況を変更した後も更新されませんでした。
画像
- ストアのホームページ上の画像が正常にレンダリングされるようになりました。 以前は、画像のbase64 コード内の3つの連続したスラッシュがコメントとして誤って解釈されたため、ページソース HTMLが破損していました。
fileinfo拡張機能への依存関係がCMS モジュールから削除されました。 以前は、画像アップローダーを使用して画像をアップロードしようとすると、アプリケーションがエラーをスローしていました。これは、コンテンツを追加する際に「画像を挿入」ボタンをクリックしたときに起動されます。 GitHub-24332、GitHub-16531、GitHub-29852
exif_image.pngまたはexif-image.jpegメタデータの読み取りに対応しました。 GitHub-1449
- 画像は、アップロード後にカタログイベントカルーセルウィジェットで表示されるようになりました(想定どおり)。 以前、
catalog_event_status_checkercron ジョブはアップロードされた画像を削除しました。
- CMYK画像のカラーが正しくレンダリングされるようになりました。 開いている画像にCMYK カラースペースがあることがImagick アダプタで検出されると、カラースペースは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値が割り当てられなくなりました。
- 読み込み中にストアフロントで商品画像を非表示にできるようになりました。
- スケジュールされた製品インポートプロセスで、CSV ファイルにも誤ったエントリが含まれている場合に、正しいデータフィールドで製品が更新されるようになりました。 以前は、「エラー:処理を続行」が有効になっている場合にCSV ファイルに誤ったエントリが含まれている場合、エントリは更新されませんでした。
- インポートした商品の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
- Adobe Commerceでは、インデクサーインスタンスごとにタグを複数回フラッシュする必要がなくなるため、キャッシュのパフォーマンスが向上しました。 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
- タイプ
\Magento\Framework\View\Element\Text\ListTextのhead.additionalブロックが、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
- テストをスキップする原因となった
StorefrontProductListWidgetWithSharedCatalogTestに関する問題が解決されました。 GitHub-322
- チェックアウトページに移動するために
ActionGroupを実装しました。 GitHub-29843
- 新しいCMS ページを作成するために
AdminOpenCreateNewCMSPageActionGroupを実装しました。 GitHub-29824
- Media GalleryのCMS ページのMFTF テストでのスキップに関する問題を修正しました。 GitHub-30164
Company、CompanyCredit、CompanyPayment、CompanyShipping、およびConfigurableSharedCatalogモジュールの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 サイトの管理画面に支払い方法が読み込まれるようになりました。
- 購入注文が唯一の利用可能な支払いオプションとして設定されているデプロイメントで、買い物客が情報を入力する前に、クーポンコード フィールドの上に
Purchase Order number is a required fieldメッセージが表示されなくなりました。
- 買い物客の名前にアクセント付きの文字が含まれている場合、アプリケーションはPayflow Proの支払いを正常に完了するようになりました。 以前は、支払いが完了せず、アプリケーションがこのエラーを記録しました:
report.CRITICAL: String to be escaped was not valid UTF-8 or could not be converted。
- 顧客グループへの自動割り当てが有効になっている場合、ゲストのお客様はPayPalの注文を行えるようになりました。 支払いはPayPal ゲートウェイで処理され、注文はMagentoで作成され、買い物客には注文のサンキューページが表示されます。 以前は、PayPal ゲートウェイで注文は正常に処理されましたが、Adobe Commerceでは注文は作成されませんでした。 その代わりに、買い物客は注文レビューページにリダイレクトされ、アプリケーションに次のエラーが表示されました:
Failed address validation: %1" error。 GitHub-25399
ペイパル
- 加盟店は、クレジットカードを使用する支払い方法からクレジットカード以外の支払い方法に切り替えた後、管理者から正常に注文できるようになりました。 以前、販売者が「注文を送信」ボタンをクリックすると、読み込みプロセスは開始されましたが、完了しておらず、注文は行われませんでした。
- PayPal Expressで注文を行ったときに、アプリケーションが重複した注文を作成しなくなりました。 以前、PayPal Expressで注文の支払いを試みたが、PayPalがエラーを返した場合、アプリケーションはまだ注文を作成していました。 その結果、加盟店サイトで注文が重複することになりました。 GitHub-13952
- PayPal決済レポートは、Reports > Sales > PayPal Settlementで利用できるようになりました。 以前、アプリケーションはPayPal決済レポート グリッドにこれらのレポートを一覧表示せず、次のメッセージが表示されていました:
We couldn't find any records。
- チェックアウト時にPayPal ボタンをクリックすると、冗長な
web-api呼び出しがトリガーされなくなりました。 以前は、2つのリクエストがトリガーされ、製品の請求が2倍になりました。
パフォーマンス
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
- 3,000,000人以上の顧客を含むカスタマーセグメントの編集および保存処理におけるAdobe Commerceのパフォーマンスが向上しました。
永続的
- 永続的なカートが有効になっている場合、買い物客は、セッション Cookieの有効期限が切れた後も注文することができなくなります。 代わりに、買い物客がログインできるように、ログインページが表示されます。 以前は、発注書を作成していました。
PHPSESSIDの有効期限が切れ、永続的な情報からcustomerSessionが再作成されたときに、アプリケーションが永続的な顧客を適切に検証できませんでした。
- 買い物客が永続的なショッピングカートが有効になっているストアにログインすると、アプリケーションにウェルカムメッセージが期待どおりに表示されるようになりました。 以前、アプリケーションに Not you? と表示されていました ログイン後にメッセージを送信します。
- アプリケーションに Not you? が表示されなくなりました 永続的なショッピングカートが有効になっているデプロイメントにログインする際に、顧客が「自分を記憶」オプションを選択した場合のテキスト。
- 顧客セッションの有効期限が切れると、アプリケーションに顧客のカートの内容が表示されなくなります。 以前は、ゲスト顧客が永続的なショッピングカートを有効にしたときにチェックアウトしようとしたときに、このエラーがアプリケーションに表示されていました:
No such entity with cartid = 0。
価格
- 連続した非同期価格の更新により、相互に干渉しなくなり、各操作に正しいステータスが割り当てられます。 以前は、非同期価格の更新に失敗した場合、対応するキューのコンシューマーが再起動されるまで、後続のすべての非同期価格の更新に失敗していました。 GitHub-27865
レポート
- Reports > Marketing > Products in Cartsでは、レポートを生成しているユーザーの許可された範囲のレコードのみが表示されるようになりました。 以前は、すべてのスコープですべてのデータを使用できました。
- アプリケーションは、製品の買い物かごレポートに製品通貨を表示する際に、レポートを生成する販売者の役割スコープで指定された通貨を使用するようになりました。
- 最近表示された機能と最近比較された機能では、マルチストア展開で、管理者の様々なストアとweb サイトの統計情報が期待どおりに表示されるようになりました。 以前は、これらの機能はすべてのストアやweb サイトを考慮に入れていませんでした。
- 注文レポートで正しい通貨記号が使用されるようになりました。
- ユーザーが管理者ダッシュボード 詳細レポートに移動 ボタンをクリックすると、アプリケーションがトークンの存在を確認するようになりました。 トークンが存在する場合、アプリケーションに「詳細レポート」ページが表示されます。 トークンが設定されていない場合、アプリケーションはユーザーガイドに情報ページを表示します。 GitHub-25411
返品商品認証(RMA)
- RMAを分割する際に、選択したオプションが分割行アイテムに適用されるようになりました。 以前は、「返品理由」、「項目条件」および「解決」の値は保存されませんでした。
- JavaScript バンドルが有効になっている場合に、RMAのトラッキング情報と配送情報を削除できるようになりました。
- 特定のweb サイトスコープ内の商品のみにアクセスが制限されている管理者は、その商品がweb サイトスコープに含まれていない場合でも、返品に商品を追加できるようになりました。
レビュー
- ストア > 属性 > 評価に表示される評価の数が、マルチサイト展開の評価数と一致するようになりました。 GitHub-30258
- 管理者マーケティング/すべてのレビューで「新しいレビュー」ボタンをクリックすると、新しいレビューページが正常に読み込まれるようになりました。 このページの製品をクリックすると、その製品の予定されている新しいレビューフォームが開きます。
- 管理者マーケティング > すべてのレビュー:
Uncaught TypeError: Event.observe is not a functionから注文を編集しようとすると、アプリケーションがこのエラーをスローしなくなります。 GitHub-30388
報酬
- 部分的な注文が完了すると、課税対象の注文に対して報酬ポイントが期待どおりに計算されるようになりました。
- リワードポイントで購入した注文の部分的な払い戻しを正常に行い、その後も注文の残りを返金できるようになりました。 以前は、注文の残りのポイントに対する報酬ポイントを払い戻すことはできませんでした。
- 買い物客がポイントを削除した後にポイントを再適用すると、このエラーがアプリケーションに表示されなくなりました:
You removed the reward points from this order。
- 複数の通貨をサポートするストアで顧客が非基準通貨を使用して注文した場合、報酬ポイントが正しく計算されるようになりました。
営業担当者
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」であったにもかかわらず、各注文に割引が適用されていました。
検索 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は、
integerまたはdecimalバックエンドタイプの属性で商品をフィルタリングするためにstring値を使用する場合、エラーをスローしなくなり、代わりに予期したとおりに商品を表示しません。 以前、アプリケーションはこのエラーを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が含まれるようになりました。 以前は、生成されたキャッシュされた画像パスは、マルチストア展開で正しくありませんでした。
ステージング
- ホームページのスケジュールされた更新を確認すると、「ホームページを編集」ページに、すべてのスケジュールされた更新が期待どおりに表示されるようになりました。 以前は、アプリケーションにスケジュールされた更新が1つしか表示されていませんでした。
- 特別価格エンドポイント
/rest/V1/products/special-price-informationで0を送信すると、価格が保存され、予定通りにスケジュールが返されるようになりました。
- スケジュールされたインポートが、インポート CSV ファイルにバイトオーダーマーク(BOM)が含まれている場合に、想定どおりに実行されるようになりました。
- マーチャントがカテゴリ更新をスケジュールする際に、アプリケーションがレイアウト本文クラスを削除しなくなりました。
cronの実行後に再スケジュールされた製品の変更が消去されなくなりました。
- カテゴリの更新をスケジュールしようとすると、アプリケーションでエラーがスローされなくなりました。 以前は、スケジュールの新しい更新ページ
Something went wrong while saving the Magento\Catalog\Api\Data\CategoryInterfaceで 保存 をクリックすると、アプリケーションがこのエラーをスローしていました。
rest/V1/products/special-priceAPIを使用して、複数のストアの製品特別価格をスケジュールできるようになりました。 以前は、新しいスケジュールの開始時にロールバックが利用可能な場合、マーチャントが同じfromとto時間に複数のストアの価格更新をスケジュールすると、アプリケーションがエラーをスローしていました。
店舗
- 管理者とメインのストアスイッチャーに、管理者のストアソート順序に対する変更が反映されるようになりました。 GitHub-13401
- ストアビューのトップレベル URL キーを変更した後、アプリケーションがカテゴリと製品に対して正しいURLを作成するようになりました。 以前は、ストアビューのカテゴリーツリーに変更された
url_keysが含まれている場合、カテゴリーキーが変更されなかったが、カテゴリの親キーが変更された場合、元のコードはURLの作成時にカテゴリのデフォルトのストアビューを使用していました。 GitHub-28633
ターゲットルール
- 製品詳細ページの読み込みが最適化されました。 多くの場合、ターゲットルール条件クエリを最適化するデータベーステーブルのインデックスを追加しました。
- 関連製品のターゲットルールは、製品の表示機能に使用される
is one of条件に複数の条件が含まれている場合に機能するようになりました。 以前は、この条件に複数の値が含まれている場合、解析されませんでした。
税
- ゲスト注文の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
—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
- ユーザーがスクロールすると、アプリケーションが「顧客として管理者ログイン」ページに表示するバナーが、ページの上部に残るようになりました。 GitHub-29354
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。
頂点
-
アドレスが変更されたときに、アドレスの候補が期待どおりに削除されるようになりました。
-
一部の顧客がアカウントパネルにアドレスを保存できなかった競合状態が解決されました。
-
頂点アドレス検証では、特定の条件でアドレス編集ページがページ全体キャッシュに追加されなくなりました。
-
送料無料が税込み金額に設定されている場合、頂点で計算された税金が考慮されるようになりました。
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
\Magento\Wishlist\Controller\Shared\AllcartにActionInterfaceを実装しました。 GitHub-29537
既知の問題
問題: [magento_root]/index.php ファイルが削除され、Apache設定のデフォルトで/pubからアプリケーションが実行されるようになりました。 サブフォルダーから提供されるストアは期待どおりに動作せず、404 エラーが表示される場合があります。 回避策:シンボリックリンクを使用して、インストールをサブフォルダーにエミュレートします。 次の例では、2つのストア (https://shop01.com/shop/とhttps://shop02.com/shop/)を使用して、シンボリックリンクを使用してサブフォルダー内のインストールをエミュレートする方法を示しています。
-
https://shop01.com/shop/のサブディレクトリを作成:code language-shell mkdir magento_root/pub/shop01code language-shell cd magento_root/pub/shop01 -
新しく作成したディレクトリに、ストアの親ディレクトリのシンボリックリンクを作成します。
code language-shell ln -s ../media mediacode language-shell ln -s ../static staticcode language-shell ln -s ../../../pub pubcode language-shell ln -s ../.htaccess .htaccesscode language-shell 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>
問題:すべてのストアページでグローバル HTTPからHTTPSへのリダイレクトを有効にするには、管理者からFastly Force TLS機能を有効にする必要があります。 「HTTPをHTTPSにリダイレクトしてCloudのすべてのページを取得(TLSを強制) ナレッジベース記事」を参照してください。
問題: addConfigurableProductToCart GraphQLの変異を使用して、Inventoryを実行するマルチストア展開で、デフォルト以外のストアビューで構成可能な商品をカートに追加することはできません。 (Luma ストアフロントは影響を受けません)。 次のエラーが表示されます:Could not add item to cart. Please check required options and try again。 回避策:代わりにaddProductsToCartの変異を使用します。 GitHub-31660
問題:買い物客が最初に支払いページのCAPTCHA フィールドに正しいコードを入力したときに、アプリケーションが期待どおりに支払い情報を送信しませんが、次のエラーが表示されます:There has been an error processing your request。 これは、買い物客がCAPTCHA コードを入力せずに、または誤って入力して、注文を行おうとした場合にのみ発生します。 回避策: ページを更新します。
問題:買い物客が Venmo で支払いをクリックすると、アプリケーションはBraintreeで予想どおりに注文を作成しますが、管理画面では注文を作成しません。 回避策:なし。 2.4.2既知の問題:Braintree Venmoの支払いが機能しない ナレッジベースの記事を参照してください。
B2Bの既知の問題
問題:B2B バイヤーは、オンライン支払い方法を使用して、通常の発注フローを回避できます。 このシナリオは、購入者がチェックアウト全体の合計を0に減らすことができ(例:プロモーションコードやギフトカードなど)、その後コードやギフトカードを削除すると発生する可能性があります。 そのような状況でも、アプリケーションは割り当てられたカタログ内の商品の価格に基づいて、正しい金額の注文を行います。 回避策:オンライン支払い方法で発注の承認が有効になっている場合は、ギフトカードとクーポンコードを無効にします。
問題: インコンテキストモードが無効になっている場合、PayPal Express Checkoutを使用して発注書から注文しようとすると、購入者がショッピングカートにリダイレクトされます。
問題:購入者が発注書を作成してからチェックアウトページに移動すると、アプリケーションに404 エラーが表示されることがあります。 このエラーは、購入者が以前にオンライン支払い方法で別の発注を作成した後、前回の購入を完了せずにチェックアウトページに移動した場合に発生します。 その時点で顧客は発注できます。 回避策:なし。
問題:購入者が最終チェックアウト中に支払い方法を変更しても、購入注文のチェックアウト中は特定の支払い方法の割引が維持されます。 その結果、お客様は、資格のない割引を受け取ることができます。 これは、支払い方法が変更されたにもかかわらず、元の支払い方法のカートルールが引き続き適用されるために発生します。 回避策:なし。 2.4.2 B2Bの既知の問題:支払い方法を変更した後のオンライン購入注文の割引が残る ナレッジベースの記事を参照してください。
問題: deleteRequisitionListOutput クエリは、残りの購買リストではなく、削除された購買リストに関する詳細を返します。
コミュニティへの貢献
より多くのMagento Open Source コミュニティに感謝し、このリリースに対する貢献を認めたいと思います。
コミュニティエンジニアリングチーム Magento Contributorsは、月、四半期、年ごとに、最も貢献度の高い個人とパートナーのリストを管理しています。 その貢献者ページから、GitHub上の結合されたPRへのリンクをフォローできます。
パートナーの貢献
次の表は、パートナーによる貢献を示しています。 この表は、プルリクエストに貢献したパートナー、外部プルリクエスト、およびそれに関連付けられているGitHub イシュー番号(利用可能な場合)を示しています。
個々の貢献者貢献
次の表に、コミュニティメンバーからの貢献を示します。 次の表は、外部プルリクエスト、それに関連付けられているGitHub イシュー番号(使用可能な場合)、プルリクエストに貢献したコミュニティメンバーを示しています。
必要システム構成
アドビのテクノロジースタックはPHPとMySQL上に構築されています。 詳しくは、必要システム構成を参照してください。
インストールとアップグレードの手順
Adobe Commerce 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 モジュールとレイアウトを変換するためのスクリプトが含まれています。