Adobe Commerce 2.4.5 リリースノート

Adobe Commerceでは、プラットフォームの品質、支払い方法、GraphQL キャッシュのパフォーマンス、アクセシビリティが向上しました。 また、統合されたGoogle モジュールとUpgrade Compatibility Toolのアップデートが含まれ、ライブサーチ B2B サポートが導入されています。

このリリースには、400以上の品質の修正と機能強化が含まれています。

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

その他のリリース情報

これらの機能のコードは、四半期ごとにリリースされるAdobe Commerce コアコードにバンドルされますが、これらのプロジェクト(B2B、Page Builder、Progressive Web Applications (PWA) Studioなど)の一部も個別にリリースされます。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントに記載されている、プロジェクト固有の個別のリリース情報に記載されています。

このリリースに含まれるホットフィックス

Adobe Commerce 2.4.5には、Adobe Commerceで提供された次のホットフィックスで解決されたすべての問題の解決が含まれています。

Adobe Commerce 2.4.5のハイライト

このリリースでは、次のハイライトを確認してください。

セキュリティの強化

このリリースには、20件のセキュリティ修正とプラットフォームのセキュリティ強化が含まれています。 このセキュリティ修正プログラムは、Adobe Commerce 2.4.3-p3およびAdobe Commerce 2.3.7-p4にバックポートされています。

これらの問題に関連する確認された攻撃は、これまでに発生していません。 ただし、特定の脆弱性を悪用して、顧客情報にアクセスしたり、管理者セッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセスを取得する必要があります。 その結果、管理者を保護するために必要なすべての手順を実行することをお勧めします(以下を含むがこれに限定されません)。

  • IP許可リストに加える
  • 二段階認証
  • VPNの使用
  • /adminではなく一意の場所を使用
  • パスワードの健全性を保つ

これらの修正された問題の最新の説明については、Adobe セキュリティ情報を参照してください。

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

このリリースのセキュリティの改善点は、次のような最新のセキュリティのベストプラクティスに準拠することです。

  • reCAPTCHAのサポートが、ウィッシュリスト共有、新規顧客アカウントの作成、ギフトカードのフォームに追加されました。

  • ACL リソースがインベントリに追加されました。

  • インベントリテンプレートのセキュリティが強化されました。

  • MaliciousCode フィルターは、HtmlPurifier ライブラリを使用するようにアップグレードされました。

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

  • Adobe Commerce オンプレミスのデプロイメント: Adobe Commerce 2.4.5がテストされ、Elasticsearch 7.17 (制約を含む約7.17.0)と互換性があることが確認されました。 Adobe Commerce オンプレミスをホストしているマーチャントは、ElasticsearchまたはOpenSearch 1.2のいずれかを使用できます。

  • Adobe Commerce クラウドホスティング型デプロイメント: Elasticsearch 7.11以降は、Adobe Commerce 2.4.5 クラウドホスティング型デプロイメントではサポートされていません。 OpenSearchは、Adobe Commerce 2.4.5 クラウドデプロイメントのデフォルトの検索エンジンです。

Adobe Commerce 2.4.5がサポートされるようになりました

  • Composer 2.2

  • TinyMCE (5.10.2)。 以前のバージョンのTinyMCE (v5.9.2以前)では、特別に細工されたURLまたは特別に細工されたURLを含む画像が更新されたときに、任意のJavaScriptを実行できるようになりました。

  • jQueryUI (1.13.1)

  • PHPStan (^1.5.7と制約) GitHub-35315

DHL統合スキーマがv6.0からv6.2に更新されました。 このアップグレードでは、製品の動作は変更されません。

古いJavaScript ライブラリが最新バージョンに更新され、古い依存関係が削除されました。 これらの変更は下位互換性があります。

Composerの依存関係の更新

次のコンポーザーの依存関係が、制約を含む最新バージョンに更新されました。

  • colinmollenhour/credis (1.13.0)?
  • guzzlehttp/guzzle (^7.4.2)
  • laminas/laminas-captcha (制約^2.12で更新)
  • laminas/laminas-db (^2.15.0)
  • laminas/laminas-di (^3.7.0)
  • laminas/laminas-escaper (~2.10.0)
  • laminas/laminas-eventmanager (^3.5.0)
  • laminas/laminas-feed (^2.17.0)
  • laminas/laminas-mail (^2.16.0)
  • laminas/laminas-mvc (^3.3.3)
  • laminas/laminas-server (^2.11.1)
  • laminas/laminas-servicemanager (^3.11.0)
  • laminas/laminas-validator (^2.17.0)
  • league/fly (2.4.3)
  • monolog/monolog (^2.5)
  • phpmd/phpmd (^2.12.0)
  • phpstan/phpstan (^1.5.7)
  • phpunit/phpunit (~9.5.20)
  • php-cs-fixer (^3.4.0)
  • webonyx/graphql-php (14.11.6)

laminas/laminas-sessionlaminas/laminas-textおよびlaminas/laminas-viewの依存関係が削除されました。

その他のアップグレードや置き換え

  • DHL統合スキーマがv6.0からv6.2に更新されました。

  • USPS配送のデフォルトのゲートウェイ URLが、httpではなくhttpsを使用するように更新されました。

  • Froogaloop ライブラリは、Vimeo Player.js ライブラリ (2.16.4)に置き換えられました。

  • grunt-eslint (NPM) ライブラリが最新バージョンにアップグレードされました。

  • jQuery Storage ライブラリはjulien-maurel/js-storageに置き換えられました。

  • php-cs-fixerおよびphpcsの静的コード分析ツールがPHP 8.xと互換性を持つようになりました。

  • glob.js依存関係(制約を付けて~7.2.0にアップグレード)

  • serve-static.js依存関係(制約~1.14.2でアップグレード)

  • underscore.js依存関係(NPM) (1.14.2)

  • moment-timezone-with-data.js (0.5.34)

  • ライブラリ jquery/jquery-cookiejs-cookie/js-cookieに置き換えられました。

  • jarallax.jsおよびjaralax-video.js ライブラリが更新され、最新バージョンのVimeo REST APIが使用されるようになりました。

パフォーマンスとスケーラビリティの強化

価格インデクサーの最適化

catalog_product_index_price_tmp テーブルのプライマリインデックスの数を3から1に減らすことにより、プライマリインデックスのパフォーマンスが向上しました。 この機能強化により、共有カタログに起因するeSKUの乗算が減り、物価指数で作成されるレコードの数が減少しました。 インデックス作成時間が大幅に短縮されました。

アクセシビリティの更新

このリリースの焦点は、Venia (PWA)で、より知名度が高く、操作可能で、理解しやすく、堅牢なストアフロント体験を構築することに置かれています。 次の機能強化が含まれます。

  • スクリーンリーダーのユーザーに検索結果の概要情報が通知されるようになりました
  • 新しいページビューが読み込まれると、スクリーンリーダーに通知されるようになりました
  • コントラストとキーボードのアクセシビリティが向上しました

Adobe Sign

Adobe Commerceのチェックアウト中に、保証ドキュメント、購入契約、利用条件など、カスタマイズされた契約に顧客が電子サインできるようになりました。

Adobe CommerceとAdobe IMSの統合

Adobe Commerceを使用しており、Adobe IDおよびAdobe Business製品への効率的なログインを希望するAdobe Commerce販売者は、Commerce認証とAdobe IMS認証ワークフローを統合できます。 この統合がCommerce ストアで有効になった後、各管理者ユーザーは、Commerceの資格情報ではなく、Adobeの資格情報を使用してログインする必要があります。 Adobe Identity Management Service (IMS)統合の概要を参照してください。

ブランディングとスタイルの変更

管理者は、Adobeのブランド戦略に合わせて更新されました。 変更は、ヘッダー、フッター、データグリッドのカラー更新、ナビゲーション要素に影響します。

B2B

共有カタログ機能の実装に必要な正規化されたデータベースデータを最適化しました。 eSKUの乗算が減少すると、データベース行の保存数が少なくなるため、パフォーマンスが向上します。 以前は、Adobe Commerceはカタログ内のすべてのSKUを各共有カタログに複製していました。 Adobe Commerceでは、共有カタログに直接割り当てられたユーザーに対して、一意のeSKUが作成されるようになりました。

新しい​ 有効な共有カタログ直接製品価格割り当て ​設定オプションを有効にすると、製品価格インデクサーのパフォーマンスも向上します。

このリリースには、複数のバグ修正が含まれています。 B2B リリースノート ​を参照してください。

Google Analytics

Googleは、GTagとの統合を通じて、Web アプリケーションのAdWordsとAnalyticsのトラッキングと統合メカニズムを更新しました。 Googleの機能がweb サイトページに統合されたことで、Googleサービスによるコンテンツの追跡と管理が可能になります。 Adobe Commerceには、Google AdWords、Analytics、Optimizer、TagManagerなどの一連の組み込みモジュールがあり、Google サービスとの統合に以前のAPIを活用しています。  このリリースでは、GTag アプローチを使用してこの統合を再実装しました。​Analytics.jsからgtag.jsへの移行(ユニバーサル分析) ​を参照してください。

GraphQL

GraphQLのパフォーマンスに関する機能強化は次のとおりです。

  • 開発者と管理者は、デプロイメント時や本番環境で属性を変更する際に、統合ストアフロントのGraphQL スキーマをより迅速に再構築できます。 また、GraphQLのスキーマを何らかの理由で再構築する必要がある場合、ページの読み込み速度が大幅に向上します。

  • GraphQL APIでJSON Web Tokens (JWT)を使用して、認証トークンの有効期限を利用する機能を追加しました。

  • bin/magento config:set graphql/session/disable 1 コマンドを使用すると、すべてのGraphQL操作のセッション Cookieの作成を完全に無効にできます。 デフォルトでは、Adobe CommerceはこれらのCookieを作成し、認証に依存しているため、パフォーマンスに影響します。 今後は、トークンをGraphQL リクエストの唯一の認証形式として使用することをお勧めします。 セッション Cookieを単独で、または認証トークンと組み合わせて使用することはお勧めしません。 GraphQL認証を参照してください。

  • セッション Cookieは、必要な場合にのみクラスプロキシを使用して、GraphQLのオペレーションで起動されるようになりました。

  • 店舗、お客様、通貨など、GraphQLのhttp個のヘッダープロセッサーからセッションの使用が削除されました。

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

在庫

インベントリテンプレートのセキュリティが強化されました。

ライブサーチ

このリリースでは、B2B顧客グループのサポートとカスタム価格が導入されました。 ライブサーチでは、顧客グループに対する製品の割り当てと、特定の顧客グループ/共有カタログに設定された価格が尊重されるようになりました。

ページビルダー

Page Builder v.1.7.2は、Adobe Commerce 2.4.5と互換性があります。

ページビルダー列レイアウトには、次の機能強化が含まれています:

  • 列が公開され、ユーザーがストアフロントの列設定を制御できるようになりました。

  • 列のサイズ変更で、ユーザーのアクションによってトリガーされるラッピングがサポートされるようになりました。

支払い

Apple Payは、決済サービスが有効になっているデプロイメントを実行しているすべてのマーチャントで利用できるようになりました。 この決済方法では、買い物客はクレジットカードやデビットカードの詳細を入力する必要がありません。 Apple Payは、商品詳細ページ、ミニカート、ショッピングカート、チェックアウトワークフローで利用できます。 マーチャントはこの機能を切り替えることができます。

ペイパル

  • スペインとイタリアの加盟店は、PayPal Pay Laterを顧客に提供できるようになりました。

  • 「PayPal」、「クレジット」、「後払い」ボタンのプレビューが、管理画面のチェックアウト、ミニカート、カート、製品ページで利用できるようになりました。 プレビューでは、これらのボタンが有効になり、ストアフロントでレンダリングされたときに、これらのボタンがどのように表示されるかを確認できます。

Braintree

  • Braintreeは、KOUNTの不正利用防止の統合を廃止しました。 Adobe Commerce コードベースから削除されました。

  • 常に3DS​を要求するオプションが管理者に追加されました。

PWA Studio

PWA Studio v.12.5.xは、Adobe Commerce 2.4.5と互換性があります。

このリリースの新機能は次のとおりです。

  • 買い物客の行動データは、web分析サービス向けにPWA Studio ストアフロントで収集されます。 販売者は、必要に応じてこれらのイベントを購読し、拡張できるようになりました。

  • 管理者(Google Tag Manager)からデプロイするサービスを選択できるようになりました。

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

互換性のアップグレード ツール

次の機能が強化されました。

  • メソッド署名の検証で、メソッドまたはコンストラクター署名内の互換性のない変更が識別されるようになりました。

  • データベーススキーマの検証で、スキーマの変更と非互換性が識別されるようになりました。

  • DI設定の検証で、di.xmlの削除または非推奨の非API コアクラスへの参照と、コアクラスとインターフェイスの環境設定が検証されるようになりました。

  • UCTは現在、コードの非推奨事項を特定し、各問題を解決するための具体的な推奨事項を提供しています。

修正された問題

Adobe Commerce 2.4.5 コアコードの数百もの問題を修正しました。

インストール、アップグレード、導入

  • データパッチの名前を変更し、古いクラス名をエイリアスとしてpatch_list データベーステーブルに追加できるようになりました。 Adobe Commerceは、パッチを適用する前に、データパッチエイリアスがデータベースに既に存在するかどうかを確認するようになりました。 以前、Adobe Commerceはこれらの条件下でエラーをスローしました。
  • 管理者URLを管理者からカスタム URLに変更しようとすると、Adobe Commerceで例外がスローされなくなりました。 以前は、管理者URLを変更した後、ログインできませんでした。 GitHub-35416
  • マーチャントは、Klarnaを使用したAdobe Commerce 2.4.2のデプロイメントからAdobe Commerce 2.4.3へのアップグレードに成功しました。 GitHub-33760
  • Adobe Commerce Analyticsへの移行は、もはやハードコーディングされていません。 以前は、このハードコードされたパスは、1つのサーバーに複数のAdobe Commerce インスタンスがインストールされたときに競合が発生していました。 GitHub-29373

アクセシビリティ

  • ショッピングバッグ ボタンは、その状態をプログラムまたはテキストで示すようになりました。 スクリーンリーダーのユーザーには、このボタンをクリックすると他のコンテンツが展開されるか、関連するコンテンツが展開または折りたたまれることが通知されます。 以前は、このボタンは、その状態をプログラム的またはテキスト的に示しませんでした。
  • 支払い情報クレジットカードのオプション テキスト要素またはテキストの画像が、太字の場合、標準テキストが18pt (24px)または14pt (19px)の場合、WCAG 2.0で必要な最小カラーコントラスト比4.5:1を満たすようになりました。 以前は、予想されるコントラスト比を満たしていませんでした。
  • アドレス帳 > 通信 > アカウント情報​のカスタムフォーカスインジケーターが、背景色に対して少なくとも3:1のコントラスト比を提供するようになりました。
  • フィルター​と​並べ替え ボタンのテキストが、太字の場合、標準テキストが18 pt (24 px)または14 pt (19 px)の場合、WCAG 2.0で必要な最小カラーコントラスト比4.5:1を満たすようになりました。 以前は、カルーセルのナビゲーションボタンは、これらの最低限のコントラスト要件を満たしていませんでした。
  • スクリーンリーダーは、Venia ヘッダーとフッターに移動する際に、「Venia」という単語を1回だけアナウンスします。 以前は、同じ言葉が2回連続して発表されていました。
  • トリガードロップダウンのボタンは、拡張または折りたたまれたステータスとアクセス可能な名前を示す情報をスクリーンリーダーに提供するようになりました。
  • 新しいページビューがレンダリングされると、スクリーンリーダーのユーザーに通知されます。 以前は、ページタイトルを変更しても、タイトルの変更は通知されませんでした。

Adobe Stock

  • Adobe Stockから正常にログアウトできるようになりました。

バンドル製品

  • PUT /V1/products エンドポイントを使用して、特定のweb サイトの製品価格属性を更新できるようになりました。 以前は、特定のストアビューに対して一部の製品属性が上書きされた場合、同じストアビューでその製品の価格属性を更新できませんでした。
  • 製品サブセレクトルールが適用された場合、Adobe Commerceでバンドル製品のカート合計が正しく計算されるようになりました。

キャッシュ

  • Adobe Commerce キャッシュがフラッシュされ、use_stale_cacheが有効になっている場合、管理者にフルページキャッシュが無効と表示されなくなりました。
  • キャッシュがフラッシュされたときに、New Relic デプロイメントマーカーが正常に機能するようになりました。 GitHub-32649

カートとチェックアウト

  • チェックアウトワークフローの請求手順のアドレス検索ポップアップでDOM エラーが発生する問題が解消されました。
  • addProductsToCart変異が複数の製品で正しく機能するようになりました。 以前は、このクエリは正確な小計を持つ最初の製品を返しましたが、他の製品の小計は0でした。
  • SKUによって追加される制限付き製品に対して、権限の例外が処理されるようになりました。 これにより、買い物客にはストアフロント上で適切なメッセージが表示され、エラーテーブルの「数量」フィールドは無効になります。 以前、Adobe Commerceは次のような例外をスローしました:There has been an error processing your request
  • 買い物かごの価格ルールを無効にした後に影響を受ける見積もりを更新するSQL クエリは、見積もりテーブル全体をロックしないように最適化されています。
  • ゲストチェックアウトが無効になっている場合、グローバルアカウント共有を持つ買い物客は、マルチサイト展開でセカンダリ web サイトに再度ログインする必要がなくなりました。 買い物客がサブドメインに移動すると、顧客データが読み込まれるようになりました。 買い物客は再度ログインするように求められなくなり、以前のカートの内容が表示されます。
  • 複数アドレスのチェックアウトで1つの数量のアドレス項目が削除された場合、チェックアウトワークフローのアドレスドロップダウン値が、見積もりの残りの項目で変更されなくなりました。 以前は、マルチアドレスチェックアウト中に製品が見積もりから削除されると、アドレスドロップダウン値がすべての製品のデフォルトに変更されていました。
  • 商品の在庫切れの場合、cart クエリでnull応答が返されなくなりました。 エラーメッセージを含む新しいerrors要素が応答に導入されました。 以前、在庫切れ商品を含むクエリを実行した場合、Adobe Commerceは応答のitems セクションの下にnull値を表示しました。 買い物かごクエリ ​を参照してください。
  • ゲストの買い物客が、チェックアウトに進む前に商品をカートに追加した後にアカウントを作成すると、配送方法が予想どおりに利用できるようになりました。 以前は、アカウントを作成する前にゲストが商品をカートに追加した場合、チェックアウト時に配送方法を利用できませんでした。 他の商品をカートに入れた後、配送方法が利用可能になりました。
  • 買い物客は、国を許可 フィールドのオプションが選択されていない場合に、商品をカートに追加できるようになりました。
  • 永続性を有効にする​が​ はい ​に設定されている場合、セッションがタイムアウトした後、カートの内容とログインステータスが期待どおりに再読み込みされるようになりました。 GitHub-35182
  • 買い物客が複数の配送先住所を持つ注文のチェックアウトワークフローで配送ページからカートページに移動すると、ミニカートの小計が正しく更新されるようになりました。 以前は、小計は2倍でした。
  • 永続性を有効にする​が有効になっているときに、セッションのタイムアウト後に以前に追加された製品がミニカートに表示されるようになりました。 GitHub-35183
  • 加盟店は、送金返金(含む)を含むクレジットメモを作成できるようになりました。 税)​は–0.01に設定され、この金額を0に設定できるようになりました。 以前は、この条件ではクレジットメモを作成できませんでした。

買い物かご価格ルール

  • Parent Only属性のスコープが、買い物かごルール条件で正しく使用されるようになりました。

カタログ

  • ストアビューのPUT /V1/products/を介して製品名を更新する際に、製品URL キーが変更されなくなりました。 以前は、新しい製品名に基づいて新しいURL キーが生成され、製品に割り当てられていました。これにより、ストアビューのURL キーが上書きされました。
  • ルールベースのアップセル商品は、商品ページに2回表示されなくなりました。
  • カルーセルモードに設定されたページビルダー製品ウィジェットからカテゴリに商品を追加しても、ページのリロードがトリガーされなくなりました。
  • 個ごとに表示されない​に設定された製品は、カタログの詳細検索結果に表示されなくなりました。
  • 一括属性の更新ページで、動的バンドル属性が正しく更新されるようになりました。 以前は、動的SKU​属性は、一括更新ページで無効になっていましたが、はい​に設定されたままでした。
  • カタログルールが、完全な再インデックスではなく、増分インデックスを使用して正しく適用されるようになりました。
  • 複数ページの商品リストのリストビューとグリッドビューを正常に切り替えることができるようになりました。 以前は、グリッドビューに切り替える前にマルチページの商品リストビューの最後のページに移動すると、Adobe Commerceに次のエラーが表示されていました:Unfortunately there are no products in this category on our website currently
  • 管理者アクションログレポートに、更新された製品IDと更新されたステータス情報が期待どおりに表示されるようになりました。
  • 完全なインデックス再作成後に、トリガーが期待どおりにcatalogrule_product_price テーブルに復元されるようになりました。 以前は、catalogrule_ruleまたはcatalogrule_productの完全な再インデックスの後に、トリガーがcatalogrule_product_price テーブルから削除されていました。
  • 製品をカテゴリに割り当てるために使用されるカテゴリルールは、ランダムに変更されなくなりました。
  • カテゴリルールで製品がカテゴリに割り当てられ、その後のマルチサイトデプロイメントで並べ替えられても、Adobe Commerceでエラーがスローされなくなりました。
  • 範囲が制限されたアクセス権を持つ管理者は、カテゴリをグローバルに更新できなくなります。 以前は、同じカテゴリで異なる製品を複数のweb サイトで使用し、権限を持つ管理者がカテゴリ内の製品を変更した場合、他のストアでも製品の選択が変更されていました。
  • 指定したロケールのデフォルト以外の通貨を使用すると、製品詳細ページに正しい価格が表示されるようになりました。 以前は、在庫量はストアフロントで予想されたほどローカライズされていませんでした。
  • スケジュールされた更新を使用して製品を有効にできるようになりました。
  • レコードが重複している製品の階層価格を取得しようとすると、同じエラーメッセージがAPIとストアフロントに表示されるようになりました。 以前、PUT /V1/products/tier-pricesは誤ったエラーメッセージを返しました。
  • 末尾のハイフンを含む製品URL キーを追加しようとすると、Adobe Commerceで検証エラーメッセージが表示されるようになりました。 情報を提供するツールチップのテキストも使用できます。
  • 新しいConfigurableWishlistItem.configured_variant フィールドがConfigurableWishlistItem.child_sku フィールドに置き換わりました。 後者のフィールドは、顧客のウィッシュリストに設定不可の製品が含まれている場合に内部エラーをトリガーしました。
  • URLの書き換えが、一括属性の更新中に選択したストアに対してのみ生成され、製品の表示が変更されるようになりました。 以前は、一括属性の更新により、間違ったストアのURL書き換えが作成されていました。
  • Synchronize widget products with backend storage設定が有効になっている場合、Adobe Commerceは最近表示した商品データをcatalog_product_frontend_action データベーステーブルに追加します。 レコードを追加する際には、顧客IDまたは訪問者IDが含まれます。 顧客IDと訪問者IDがnullの場合、応答のrecently_viewed_product セクションが空になります。 その結果、customer/section/load Ajax リクエストが送信されると、Adobe Commerceでは、お客様IDまたは訪問者IDに基づいて、最近閲覧した商品を正しくフィルタリングできます。 以前は、空の顧客IDまたは訪問者IDのチェックがなかったため、応答にはcatalog_product_frontend_action データベーステーブルで使用可能なすべてのデータが含まれていました。
  • 設定可能な製品のQuantity属性を持つカテゴリルールが、ステージングが実装されたときに正しく機能するようになりました。 以前、ステージング更新によりcatalog_product_entity テーブルのrow_identity_idの値が異なる製品の場合、ビジュアルマーチャンダイザー​ ルールによる製品の一致 ​機能で製品が正しくフィルタリングされませんでした。
  • 管理者は、管理者スライドパネルから、買い物客のカート内の設定可能な製品オプションを変更できるようになりました。 以前は、スライドパネルが正しく機能しませんでした。
  • 子製品への変更を保存すると、設定可能な製品の親に対して、ページキャッシュが正常にクリアされるようになりました。 以前は、キャッシュがクリアされていなかったため、ストアフロント設定製品ページで変更が選択されませんでした。 GitHub-34508
  • 製品リストが管理者で正しくレンダリングされるようになりました。 以前は、商品リストがレンダリングされず、Adobe Commerceに次のエラーが表示されていました:Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already existsGitHub-33145
  • カタログの価格範囲が​ web サイト ​から​ グローバル ​に変更された後、製品詳細ページおよびマルチストア展開でのストアフロント検索で、製品価格が同じになりました。 以前は、カタログ検索結果ページには​ グローバル ​の価格が表示され、商品詳細ページには​ web サイト ​の価格が表示されていました。 GitHub-34074
  • 価格ナビゲーションステップ計算​が​ 手動 ​に設定されている場合に、レイヤーナビゲーションで予想通りの最高価格の製品が表示されるようになりました。
  • カテゴリのページネーションを記憶​が有効になっている場合に、カテゴリ内に表示されるページごとの製品制限を変更できるようになりました。 以前、Cookie form_keyとUI form_keyが異なり、Adobe Commerceに次のエラーが表示されていました:Invalid Form Key. Please refresh the page
  • EAV インデクサーは、パフォーマンス上の問題を回避するために、製品IDをタイプ intとして処理するようになりました。
  • 製品に「。」を含む名前の新しい画像を追加してから製品を保存し、画像キャッシュをクリーニングすると、新しい製品キャッシュが正常に生成されるようになりました。 GitHub-32699
  • 管理者フィールドを入力せずに商品ページから属性を作成しようとすると、Adobe Commerceに予期したとおりのエラーメッセージが表示されるようになりました。 GitHub-33099

  • ホームページに複数のカタログリストが含まれている場合、すべてのカタログ製品リストで製品の評価が正しくなりました。 GitHub-33867

CMS content

  • エンティティ編集ページからアクティブなスケジュールされた更新をマーチャントが編集できなくなりました。
  • 権限が制限されている管理者は、スケジュールされた更新後に、CMS階層でCMS ページを表示できるようになりました。

コンフィグ商品

  • Adobe Commerceで、商品詳細ページで数量を変更した後、選択したオプションを持つ設定可能な商品の正しい商品価格が表示されるようになりました。 以前は、数量が変更された後、価格は初期値にリセットされていました。
  • products クエリは、在庫切れの表示​の設定設定を正確に反映する設定可能な製品の価格を取得するようになりました。 以前は、クエリは正確な価格を返しませんでした。
  • 設定可能なオプションは、管理者がPOST /V1/configurable-products/configurable1/childを使用して作成した設定可能な製品にリンクされるようになりました。
  • 複数選択した属性が、製品編集時に正しく保存されるようになりました。 以前、Adobe Commerceは、商品を保存する際に、選択されていない属性と選択した属性のデフォルトオプションを保存していました。
  • Adobe Commerceは、パッチスクリプトを使用してグローバル select属性を作成する際に、設定可能な属性を期待どおりに表示するようになりました。 以前は、適格なグローバル属性は非表示になっていました。
  • addConfigurableProductsToCartの変異を使用して、カスタムオプションを持つ設定可能な製品を追加できるようになりました。 以前、Adobe Commerceがこのエラーをスローしました:Magento 2.3.4 graphql Notice: Undefined index: option_value in /var/www/html/mg234/vendor/magento/module-configurable-product-graph-ql/Model/Resolver/ConfigurableCartItemOptions.php on line 62GitHub-28860
  • Adobe Commerceで、設定可能な製品の子製品の1つがスケジュールされた更新によって利用可能に変更された場合、設定可能な製品の在庫状況、利用可能な設定、および表示価格が正しく表示されるようになりました。 以前、設定可能な製品に2人の子が含まれ、スケジュールされた更新で1人の子製品の可用性が無効になった場合、更新がアクティブな場合、親製品の在庫状況が​ 在庫切れ ​と誤って表示され、更新が完了した後、表示された価格とその設定の可用性が誤算されていました。

  • オプションのカスタムオプションを使用して、設定可能な製品を再注文できるようになりました。 以前は、再注文の試行が失敗し、このエラーが表示されていました:Some of the selected options are not currently availableGitHub-35409

  • addConfigurableProductsToCart変異が複数の製品で期待どおりに機能するようになりました。 以前は、誤った製品情報が返されたり、無効なエラーメッセージが返されたりしていました。 GitHub-30948

お客様

  • Adobe Commerceでは、ストアフロントのweb サイト設定に従って、定義済みのEAV システム属性が正しく表示されるようになりました。 以前は、あるweb サイトに対して有効になっていて、別のweb サイトに対して無効になっているweb サイトレベルの顧客属性は、両方のweb サイトに対して有効として表示されていました。

顧客セグメント

  • 顧客セグメント固有の関連製品ルールが正常に機能するようになりました。 この問題は、メソッドを呼び出して、特定のweb サイトの訪問者セグメント関係を追加することで修正されました。 以前は、このルールのセグメントは、登録済みの顧客とweb サイトに基づいてのみ取得されていました。

ダウンロード可能

  • ダウンロード可能な製品からサンプルリンクとファイルを削除できるようになりました。 GitHub-31887

メール

  • システム発行の電子メールは、電子メールアドレスに「。 – 」が含まれている受信者に正常に送信されるようになりました。
  • 顧客は、カート放棄に関するリマインダーを適切なスケジュールで電子メールで受け取れるようになりました。 新しいTIMESTAMPDIFF(DAY, ,) SQL関数がTO_DAYS()関数に置き換わり、日付と時刻に基づいてタイムスタンプの差を計算します。 以前は、カート放棄(任意のタイムゾーン)とサーバー時間(UTC)の2つの日時値の計算が正しくなかったため、スケジュールごとにメールリマインダーが送信されませんでした。
  • 買い物客が​ 注文を行う ​をクリックした後、無効な電子メール形式を入力すると、Adobe Commerceで配送ページにエラーメッセージが表示されるようになりました。 以前は、支払いページにエラーメッセージが表示されていました。 [GitHub-33590] (https://github.com/magento/magento2/issues/33590

フレームワーク

  • bin/magento setup:config:set コマンドは、app/etc/env.phpで既に設定されているキャッシュ ID プレフィックスを上書きしなくなりました。
  • bin/magento setup:static-content:deploy -s compact コマンドに、子テーマのスタイルが想定どおりに含まれるようになりました。 以前は、テーマ CSS ファイルはデプロイメント後にストアフロントに存在しませんでした。
  • 閉じるスラッシュがvoid要素で使用されているかどうかを確認するために、新しいスニフが追加されました。
  • 新しいソースを製品に割り当てて数量を変更した後に、Adobe CommerceでSQL エラーがスローされなくなりました。 GitHub-35262
  • 属性の並べ替え順序が、更新後にdi.xml ファイルで指定されたとおりに機能するようになりました。
  • updateCartCurrency関数は、カートオブジェクト内のオブジェクトの代わりに文字列を設定するようになりました。 以前は、updateCartCurrency関数がcart オブジェクト内の文字列の代わりにオブジェクトを設定していたため、Adobe CommerceはgetQuoteを使用して見積もりを読み込みませんでした。 GitHub-34199
  • \DateTimeFormatter::formatObject()により、単体テストで非推奨化の通知が発生しなくなりました。 このメソッドは、$formatの数値で期待どおりに動作するようになりました。
  • Adobe CommerceでAdminにpreg_replace() エラーが表示されなくなりました。 3番目の引数($subject)は、boolではなくarray|string型になりました。
  • isFreeShipping メソッドは、ブール値ではなく整数を返すようになりました。GitHub-35164
  • クラス vendor/magento/module-backend/Model/Menu.phpの任意のメソッドにプラグインを作成すると、Adobe Commerceで次のエラーがスローされなくなりました:Error: Call to undefined method ReflectionUnionType::getName()GitHub-35292
  • ストアフロントで/checkout/sidebar/updateItemQty/?item_qty=errorに移動すると、Adobe Commerceで500 エラーではなく404 エラーが返されるようになりました。 以前は、このエラーがスローされていました:Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69GitHub-34380
  • AMPQ接続がSSL設定なしで設定されている場合、Adobe Commerceでtrim(): Passing null to parameter #1 ($string) of type string is deprecated エラーがトリガーされなくなりました。
  • longblog データベース定義をlong blobに修正しました。 GitHub-35108
  • 一重引用符を含むノックアウトテキストが翻訳可能になりました。 GitHub-34319
  • magento2/app/code/Magento/Security/Model/AdminSessionsManager.phpTypeErrorintからstringに修正されました。 GitHub-34415
  • .htpasswdnginx設定ファイルの禁止されている場所に追加されました。 GitHub-35150
  • Magento_Ui/js/core/appdepsとしてapp/code/Magento/Ui/view/frontend/requirejs-config.jsに追加することで、カテゴリ製品リストページの読み込み時間が改善されました。 GitHub-34847
  • ProductRepository.php:get メソッドは、キャッシュキーを1回返すようになりました。 以前は2回返されました。 GitHub-34958
  • cron ジョブの例外ハンドラーで作成された新しい例外にエラーメッセージを追加しました。 GitHub-34941
  • GraphQl-GroupedProductGraphQl モジュールのReadMe ファイルが更新されました。 GitHub-34951
  • ストアフロントの印刷注文/請求書/クレジットメモ ページに、web サイトでの表示用に指定されたロゴの代わりに、デフォルトのLuma ロゴが表示されなくなりました。 GitHub-34942

一般的な修正

  • 最大セッションサイズを0 (管理者​Store > 設定 > 構成 – 詳細)に設定すると、管理者がログアウトしなくなります。 GitHub-35312
  • デフォルト以外のweb サイトに割り当てられている管理者から新しい顧客アドレスを追加する際に、顧客が割り当てられるweb サイトに基づいて、顧客アドレス属性設定が正しく読み込まれるようになりました。
  • カテゴリ ページと製品編集ページの両方で、制限された管理者のカテゴリ作成がブロックされるようになりました。 以前は、カテゴリの作成はカテゴリーページでブロックされていましたが、それでも製品編集ページを通じて可能でした。
  • Adobe Commerceでは、Page Builderを使用してバンドル製品を追加する際に、例外がスローされなくなりました。
  • 顧客セグメントの条件として、カテゴリーツリーからカテゴリを選択できるようになりました。
  • IOS デバイスで、最初、中央、または姓に傾斜アポストロフィ(')を使用して顧客アカウントを作成できるようになりました。 以前は、直線アポストロフィのみが許可されていましたが、iOS 11以降のデフォルトの傾斜アポストロフィを使用すると、Name is not valid! エラーが発生しました。
  • products クエリは、「関連製品を表示」設定を正確に反映した製品情報を返すようになりました。 GraphQL ProductInterfaceのrelated_productsupsell_productsおよびcrosssell_productsのフィールドが、それぞれ関連製品の表示、アップセル製品の表示、クロスセル製品の表示の設定に従って解決されるようになりました。
  • 製品を新しい開始日​に設定の属性に、製品を一括更新で​ 製品を新しい ​に設定した属性の正しい日付が表示されるようになりました。 以前は、製品を新しい日付​として設定は、1970年1月1日​と表示されていました。
  • 役割が制限されているユーザーには、新しいモジュールへのアクセス権が自動的に付与されなくなりました。
  • カテゴリに基づくターゲットルールでは、ルールで宣言されたカテゴリの製品のみが表示されます。 以前は、関連製品ルールには、製品に割り当てられ、ルールで定義されていないカテゴリの製品が表示されていました。
  • 関連する製品ルール条件が、multiselect属性を含む製品で期待どおりに機能するようになりました。
  • 商品の比較に階層価格属性(tier_price)を追加できるようになりました。 以前は、この属性の「ストアフロントで比較可能」設定が有効になっていると、製品比較ページがクラッシュしていました。 GitHub-35244
  • 無効なCookie ドメインを設定すると、Adobe Commerceにエラーメッセージが表示されるようになりました(Store > Configurations > Web > Default Cookie Settings Cookie Domain)。 以前は、web サイトはクラッシュしていました。 GitHub-35048
  • Adobe Commerceでは、役割が1つのweb サイトにスコープされている管理者がPageBuilderを使用してContent Elementsに製品を追加する際に、エラーがスローされなくなりました。 以前、Adobe CommerceはSQL エラーをスローしていました。
  • 住所ページの編集と追加で、住所の2行目に検証が追加されました。 2番目に指定されたテキストの最小長と最大長が適用されるようになりました。
  • アップグレード後に管理者でカタログルールを作成する際に、Adobe Commerceで次のエラーがスローされなくなりました:A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
  • ウィッシュリストを共有​をクリックする前に、ここでRSS フィードをウィッシュリスト チェックボックスにリンクする際にAdobe Commerceがエラーをスローしなくなりました。 GitHub-34998
  • パスワードを表示」チェックボックスのタイトル(顧客ログイン、顧客登録、顧客編集(パスワードの変更セクション)、顧客が新しいパスワードを設定フォーム)が翻訳可能になりました。 GitHub-34857
  • app/code/Magento/NewRelicReporting/etc/adminhtml/system.xmlのラベルとコメント説明を更新しました。 GitHub-31947
  • 不要なcsp_whitelist.xml ファイルを削除しました。 GitHub-30607

ギフトカード

  • products件のクエリで、gift-card URL キーを持つギフトカード商品を含む商品データが正しく返されるようになりました。

GraphQL

  • 見つからないprice_range属性がGraphQL BundleItemOption タイプに追加されました。 GitHub-35010
  • 検索結果で使用」レイヤーナビゲーション設定が無効になっている場合、products クエリは集計として属性を返しません。 GitHub-33318
  • price_including_tax フィールドがCartItemPricesに追加されました。 GitHub-29057
  • ProductInterfacenew_from_datanew_to_datefieldsは非推奨(廃止予定)ではありません。 GitHub-34783
  • categories クエリで、ファイル システムで見つからない画像を含むカテゴリのリストを取得する際に例外がスローされなくなりました。 以前、Adobe Commerceはこの例外をスローしました:Category image not foundGitHub-34266
  • products クエリは現在、category_uidを集計として返しています。 GitHub-32557
  • 製品在庫が最大在庫量に達した場合に、updateCartItemsの突然変異が予想どおりに製品を削除するようになりました。 GitHub-30220
  • 複数のホームページに同じ識別子がある場合、urlResolver クエリでパス区切り(/)が正しく解決されるようになりました。 以前は、クエリで区切り文字が解決されず、nullが返されていました。 GitHub-33615
  • customer件のクエリで、注文のクエリ時に想定どおりにバンドル製品の複数選択オプションが取得されるようになりました。 GitHub-34717
  • GraphQL リクエストの実行後にAdobe Commerce セッションが終了しなくなりました。 以前は、ClearCustomerSessionAfterRequest プラグインが買い物客をログアウトしていました。 GitHub-34550
  • products クエリは、無効なバリアントの影響を受ける設定可能な製品のprice_range値を返さなくなりました。 GitHub-33629
  • 在庫切れ商品の表示​の設定設定が有効になっている場合に、products クエリ応答の設定可能な商品価格範囲が正しく計算されるようになりました。 以前は、最小および最大価格計算で無効なオプションが考慮されていました。
  • 位置で並べ替えると、products クエリが複数のカテゴリを正しくフィルタリングして返されるようになりました。
  • setShippingAddressesOnCart件のリクエストで、地域IDが正常に検証されました。 以前は、Adobe Commerceでリージョンコードではなくリージョン IDを使用すると、エラーがスローされていました。
  • products クエリは、リクエストで渡されたストアに関連付けられたカテゴリのみを返すようになりました。
  • categoryList クエリは、ストアがヘッダーで指定されたときに、クエリされたストアのルートカテゴリを反映する結果を返すようになりました。 以前は、ヘッダーに別のストアが指定されていても、デフォルトのルートカテゴリのカテゴリが結果に含まれていました。
  • 検索結果の階層化されたナビゲーションで使用」設定が無効になっている場合、products クエリで集計として属性が返されなくなりました。 GitHub-33318
  • cart クエリで、無料注文の支払い方法が1つだけ返されるようになりました。 以前は、クエリ応答ですべてのアクティブな支払い方法が返されていました。 GitHub-34036
  • ストアクレジットが複数回適用されないように、collectQuoteTotals呼び出しの前にプラグインを追加しました。
  • generateCustomerTokenAsAdminの突然変異は、顧客トークンを期待どおりに取得するようになりました。 以前は、トークンは返されず、このエラーが返されました:Customer email provided does not exist
  • カスタム type製品属性が定義されている場合、GraphQL スキーマが有効になりました。 以前は、製品タイプのtype属性がカスタム type属性によって上書きされたため、スキーマは無効でした。 GitHub-34929
  • createCustomercreateCustomerV2updateCustomerまたはupdateCustomerV2の突然変異で追加または更新された顧客が、アクティブなニュースレター購読で追加されるようになりました。 以前は、要求に適切な入力パラメーターが含まれていても、顧客はニュースレターの購読を解除されていました。 GitHub-33599
  • 特定のストアビューのproducts クエリで、マルチサイト展開で特定のweb サイトのルートカテゴリにあるカテゴリのみが返されるようになりました。 以前は、クエリは他のweb サイトのルートカテゴリからカテゴリを返していました。 GitHub-34570
  • products クエリは、指定されたカテゴリ IDのサブカテゴリのみを返すようになりました。 以前は、すべてのカテゴリが返されていました。 GitHub-35220
  • gift_message オブジェクトが応答で指定されているが、ギフトメッセージが存在しない場合、customerOrders クエリが期待どおりに応答するようになりました。 以前、クエリから次のメッセージが返されました:Can't load gift message for order is returnedGitHub-28957
  • products クエリが別のストアからカテゴリを返す原因となったcatalog_category_product インデクサーのバグを修正しました。 GitHub-31253
  • generateCustomerTokenの突然変異により、顧客トークンを生成した後、想定どおりcustomer_logにエントリが作成されるようになりました。 GitHub-33378

Google Analytics

  • Google タグモジュールがコードベースに追加され、2023年7月のGoogle Analytics 4への移行がサポートされました。 現在、Google Universal Analyticsのプロパティで新しいデータを使用して収集できますが、Google Universalは2023年7月に提供終了となります。 GitHub-35204GitHub-35376

画像

  • 商品の詳細ページの画像がちらつきなくなり、画像は期待どおりに中央に配置されたままになります。 以前は、商品詳細ページで画像の読み込みが完了すると、画像が目に見えて下向きになりました。

読み込み/書き出し

  • CSV ファイルを再生成する前に、管理者からクロスセル製品を削除した後、書き出しCSVの関連、アップセル、およびクロスセル製品の位置が正しくなりました。 以前は、クロスセル商品を削除した後にクロスセル商品のポジションが再計算されず、商品のポジションの順序が正しくありませんでした。
  • レポートの書き出し時に列をフィルタリングする前に、Adobe Commerceがカスタムビューをチェックするようになりました。 以前は、書き出されたレポートではカスタムビューが考慮されておらず、書き出された列が正しくありませんでした。
  • Adobe Commerceが、長いファイル名を持つ画像を正常に読み込めるようになりました。 以前、Adobe Commerceは画像を読み込まず、次のエラーをスローしました:Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s):
  • カテゴリ ID属性が、スケジュールされた書き出しフィルターで使用できるようになりました。
  • 疑問符(?)を含む製品をバンドルする populateExistingOptions メソッド内のクエリビルダーが改善されたため、オプションタイトルが正常に読み込まれるようになりました。 オプションのタイトルも正しく表示されます。 以前は、最初の読み込み後に、連続した読み込みによって動作が破損し、オプションが2倍になりました。 また、買い物客が商品をカートに入れることもできません。
  • 読み込み時にカテゴリ名の検証を追加しました。 以前は、Adobe Commerceでカテゴリ名が検証されず、カテゴリ名が255文字を超えるとエラーが発生していました。
  • catalog_url_rewrite_product_category テーブルの既存のレコードは、新しいレコードを挿入する前に削除されるようになりました。 以前、マルチストア製品のインポート中に次のエラーが発生しました:SQLSTATE[23000]: Integrity constraint violationGitHub-34210

メール基盤

  • 非推奨のコンテキストメニュープラグインがプラグインリストから削除されました。
  • TinyMCEでツールバーにdelayedRender件のロジックが導入された結果、ページビルダーモジュールのTinyMCE エディターのツールバー関連ロジックが更新されました。
  • レース条件でcontentUpdated イベントリスナーの作成が中断されなくなりました。 GitHub-32068
  • getTypeID関数は、商品IDではなく商品タイプ IDを返すようになりました。 GitHub-35458
  • jQuery UI スライダーとSelectMenu マッピングがvendor/magento/module-theme/view/base/requirejs-config.jsで修正されました。

  • sales_order_state_change_beforeに配置されたオブザーバーは、注文オブジェクトからのデータの取得をサポートするようになりました。 sales_order_state_change_before event引数が更新されました。 GitHub-26789

  • indexer:resetがリファクタリングされ、$indexer->invalidate()が呼び出されました。 GitHub-34988
  • htmlClass属性値でコロン記号を使用できるようになりました。これにより、Tailwind UIなどの追加コンポーネントの使用がサポートされます。 GitHub-34430

ログ

  • 顧客、顧客アドレス、注文アクションが管理者アクションレポートに正しく記録されるようになりました。 以前は、postDispatch ハンドラーが構成設定で指定されていない場合、Adobe Commerceはアクションをログに記録しませんでした。

MFTF

アクショングループ

次のテストでは、繰り返しアクションはアクショングループに置き換えられました。

AdminConfigurableProductChildrenOutOfStockTest GitHub-32378
AdminCreateStoreViewTest GitHub-34631

新しいテスト

AdminUnlockAdminUserEntityTest GitHub-34836

StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTest GitHub-33344

リファクタリングされたテスト

AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTest GitHub-33692

ニュースレター

  • ログインした顧客は、管理者/マーケティング/ニュースレター購読者​のゲストとしてマークされなくなりました。
  • お客様がデフォルト以外のストアに割り当てられ、管理者から購読または購読解除された場合、ニュースレター購読確認メールに、From フィールドに正しいストア固有の電子メールアドレスが含まれるようになりました。 以前、お客様は​From ヘッダーにデフォルトのメールを送信しました。 GitHub-34963
  • ニュースレター電子メールテンプレートの購読解除URLが正常に機能するようになりました。 GitHub-33310

注文

  • ストアフロントから非表示になっているカスタム顧客属性を使用して、新しい注文から新しい顧客を正常に作成できるようになりました。 以前は、Adobe Commerceはカスタム顧客属性の正しい値を保存しませんでした。
  • 注文の編集後、ゲスト顧客の詳細が正常に保存されるようになりました。 以前は、customer_firstnamecustomer_lastname, x_forwarded_forなど、一部のお客様の詳細が失われました。
  • 商品またはグローバル設定レベルで​ 小数点数 ​が無効になっている場合、マーチャントは小数点合計数量を含むクレジットメモを作成できなくなります。 以前は、10進数の合計数量が適用されない場合、マーチャントはクレジットメモを作成できました。
  • 環境設定で設定されたタイムゾーンが、ローカルコンピューターで設定されたタイムゾーンと異なる場合に、請求書、出荷、クレジットメモ、CMS ページ、CMS ブロックグリッドで日付によるフィルターが適切に機能するようになりました。 以前は、日付が誤って解析され、フィルタリングされた結果には、設定された日付範囲外のデータが含まれていました。
  • 管理者アカウント編集ページで、お客様に割り当てられたメインのメールアドレスを変更しても、Adobe Commerceで注文に割り当てられるカスタム電子メールアドレスが変更されなくなりました。 以前は、顧客のメイン電子メールアドレスを編集する際に、その顧客に対して作成されたすべての注文に新しい電子メールアドレスが割り当てられていました。 GitHub-34397
  • Adobe Commerceでは、PHP 7.4を実行するデプロイメントのクレジットメモのグリッドページに、リクエストされたストアのレコードが表示されるようになりました。 以前、Adobe Commerceは、クレジットメモを作成し、それを表示しようとすると、次のエラーをスローしました:The store that was requested wasn't found. Verify the store and try again
  • Adobe Commerceでは、名前に番号が付いたストアビューから作成された注文のクレジットメモが、クレジットメモのグリッドページに表示されるようになりました。 以前、Adobe Commerceは次のエラーを表示していました:The store that was requested wasn't found. Verify the store and try again. Exception in /var/www/html/vendor/magento/module-store/Model/StoreRepository.php:75GitHub-35122
  • Adobe Commerceでは、管理画面とストアフロントの請求書ページの合計に送料無料(0)が表示されるようになりました。 以前、注文の配送料がゼロの場合、Adobe Commerceでは請求書ページの配送料合計に合計配送金額が表示されませんでした。
  • Adobe Commerceで、お客様の店舗のクレジットが使用されている場合に、チェックアウト時に正しい注文状況が表示されるようになりました。
  • sales_order テーブルのincrement_id列が増加しました。 以前は、sales_order.increment_idの長さが50文字であると仮定したサードパーティモジュールは、increment_idの最初の32文字のみを保存していました。 GitHub-34521

支払い方法

  • 管理者は、PayPal PayflowPro支払い方法を使用して管理者に注文できるようになりました。 以前、Adobe Commerceはこのエラーを表示しました:No such entity with cartId = 0
  • Venmo、PayPal Later、PayPalで支払いが行われた場合、チェックアウトワークフローの支払いレビューページに正しい支払い方法名が表示されるようになりました。
  • cart クエリで、無料注文に対するすべてのアクティブな支払い方法が返されなくなりました。 GitHub-34036

Braintree

  • Braintreeを通じてApple Payで支払った注文に対して、一部の返金を送信できるようになりました。 これはAdobe Commerce 2.4.4の既知の問題でした。

ペイパル

  • Adobe Commerceでは、PayPalで支払ったゲスト注文で正しい顧客名が表示されるようになりました。 以前は、お客様の名前はゲストとして表示されていました。
  • createPaypalExpressToken変異用のリゾルバーが更新され、use_paypal_credit入力フィールドで指定された値を正しく使用できるようになりました。 以前は、無効なpaypal_credit フィールドを使用しようとしました。 GitHub-35180

パフォーマンス

  • 動的ブロック読み込みのパフォーマンスが向上しました。 以前は、訪問者セグメントはweb サイトごとにキャッシュされておらず、同じデータに対してデータベースに冗長なクエリを実行していました。
  • 設定可能な製品の関連する製品データキャッシュにTTL (有効期限)が追加されたことで、Redis キャッシュ管理が改善されました。 以前は、Redis キーの削除ポリシーが揮発性の削除ポリシーに設定されている場合、TTL値が欠落しているため、これらのキャッシュは削除されませんでした。
  • 新しいGrid Filter Condition Type顧客/顧客アドレス属性は、属性フィルターをデータベース内の属性値と照合する方法を制御します。オプションには、Partial MatchPrefix Match、およびFull Matchが含まれます。
  • カタログ検索のフルテキストインデクサーがストアループの外側に配置され、インデックスの再作成が効率化されました。 GitHub-33984
  • ループのarray_mergeの問題を修正しました。 GitHub-33929

価格

  • デフォルトのスコープに値がない(ただし、ストアビューレベルで定義されている)価格属性が適切にインデックス化されるようになりました。 以前は、EAV テーブルから価格属性値を取得するSQL式では、デフォルトのスコープで値が定義されていないシナリオは考慮されていませんでした。
  • 商品の詳細ページに記載されている価格は、選択した数量によって異なるティア価格(例えば、購入2品目と5品目に対して異なる価格の製品)のチェックアウトワークフローに記載されている価格と同じになりました。 以前は、チェックアウト価格には、最も少ない製品数量の価格が反映されていました。

プロモーション

  • ゲスト顧客が割引で注文し、その後アカウントを登録すると、割引の​ 利用回数 ​の値が2回増加しなくなります。

ReCAPTCHA

  • ReCaptchaが完全に読み込まれるまで、ログインおよびアカウント作成ページの​送信 ボタンが非アクティブになりました。

返品商品認証(RMA)

  • rma_item エンティティの既定の属性セット IDが既定のインストール IDと異なる場合、GET /V1/returnsAttributeMetadata エンドポイントが正しく機能するようになりました。 以前は、これらのIDが異なる場合、このエンドポイントは空の結果を返しました。
  • 製品編集ページでRMAを有効にするために使用される「デフォルトを使用」チェックボックスが、デフォルトストアで期待どおりに機能するようになりました。 以前は、製品が保存された直後にチェックボックスがオフになっていました。

報酬

  • ストアクレジット機能が無効になっている場合に、報酬ポイントを返金できるようになりました。
  • 報酬ポイントが適用される場合のチェックアウトのパフォーマンスが向上しました。 entityがnullの場合、magento_reward_history テーブルのクエリは必須ではないため、データベースクエリは実行されません。
  • ゲスト注文のクレジットメモでcustomer_idがチェックされなくなりました。これにより、magento_reward_history データベーステーブルテーブルに対するリワードポイントのクエリがスキップされます。 この変更により、パフォーマンスが向上しました。

役割

  • 「ロールのリソース」タブで「カスタム」にリソースアクセスが設定されている場合、Store > Configuration > Services」ページに、Adobe Commerce Web APIの情報が期待どおりに表示されるようになりました。 GitHub-35506

検索 search-heading

  • 階層化されたナビゲーションで色見本で製品をフィルタリングすると、修正後の製品の正しい画像が表示されます。
  • intが検索可能なバックエンド type属性として設定されている場合、Elasticsearch クエリが正常に動作するようになりました。 以前、Adobe CommerceはElasticsearch\Common\Exceptions\BadRequest400Exception個の例外をスローしました。
  • 検索の類義語と​一致する最小条件 パラメーターをElasticsearch クエリで使用できるようになりました。 以前は、このパラメーターを設定で指定し、特定のキーワードに検索語を追加した場合、検索結果は返されませんでした。
  • Adobe Commerceでは、検索候補と​ 各候補の結果数を表示 ​設定が有効になっているデプロイメントで、ストアフロントに正確な検索結果候補の数が表示されるようになりました。 以前は、キーワードの横に表示されるカウントは0でした。
  • カタログページのカスタム属性でソートされた製品が、想定される順序で表示されるようになりました。 以前は、製品は属性オプションの値IDでソートされていました。これは、製品が属性に追加された順序を反映しています。 GitHub-33810
  • 階層化されたナビゲーションの色見本で製品をフィルタリングすると、正しい製品画像が表示されるようになりました。 以前、階層化ナビゲーション PageCache キーには、設定可能な製品のフィルターパラメーターが含まれていませんでした。
  • catalogsearch/advanced/resultおよびcatalogsearch/advanced/index ページのPHP エラーを修正しました。 以前、Adobe Commerceは、高度な検索文字列で配列が渡されたときに、このエラーを表示していました:Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-searchGitHub-33586

発送

  • 許可された配送方法が選択されていない場合、Adobe CommerceでUPSの配送料を読み込む際にエラーがスローされなくなりました。 以前は、この条件でチェックアウトワークフローで買い物客が配送先住所を入力すると、他の配送方法は表示されず、Adobe Commerceではストアフロントにエラーが表示されていました。 GitHub-34411
  • 計算表の配送料率の金額で、仮想製品価格が除外されるようになりました。 以前は、これらの製品の送料は正しく計算されていませんでした。GitHub-35185
  • 割引クーポンが適用された注文のチェックアウトワークフロー注文概要ブロックに、価格がゼロのテーブル配送料が正しく表示されるようになりました。 以前は、配送方法は表示されていませんでした。

ステージング

  • キャッシュされたページが変更されたままのセールスルールに対してステージング更新を適用した後、Adobe Commerceがページ全体のキャッシュをクリーンアップしなくなりました。
  • コンテンツステージングダッシュボードに、非アクティブな永久更新が表示されなくなりました。
  • ステージングダッシュボードからステージングアップデートの終了日を変更すると、これらの変更がステージングアップデートとそのエンティティに正常に適用されるようになりました。 (ステージング更新の変更を処理するためにキューが導入されました。)
  • スケジュールされた更新の終了日を削除したり、更新を削除して再作成したりできるようになりました。 以前は、終了日が削除された場合、エンティティはその時間にスケジュールされたままでした。 Adobe Commerceは、削除されたロールバックの古い更新プログラムを削除するようになりました。
  • CMS ページのアクティブなスケジュール更新が、CMS ページの「スケジュールされた変更」セクションに期待どおりに表示されるようになりました。
  • スケジュールされた更新が変更されたときに、custom_design_to属性値が期待どおりに更新されるようになりました。 以前は、終了時間のない2つのカテゴリのデザイン更新を1として扱っていました。 最初の更新の実行中にスケジュールされた更新のいずれかが削除されると、次のスケジュールされた更新でcustom_design_from時間の値がcustom_design_to時間の値よりも大きくなりました。
  • スケジュールされた更新が編集された後、Formsに期待どおりにデータが入力されるようになりました。
  • カスタムオプションを持つ製品がデータベースに含まれ、special_from_date属性が設定されている場合、vendor/magento/module-catalog-staging/Setup/Patch/Data/MigrateCatalogProducts.php データパッチが失敗しなくなりました。
  • 実行中のアップデートによって変更が追加されたときに、2回目のスケジュールされたアップデート中に変更が保存されるようになりました。 以前は、変更は保存されず、マーチャントは変更を再入力して保存する必要がありました。
  • 一括アクションログに、失敗したto be moved スケジュールされた更新に関する情報が表示されるようになりました。 以前は、これらのエラーに関する情報はcron.log ファイルでのみ利用できました。
  • 販売者は、ロケールに関係なく、スケジュールされた更新で製品価格を編集する際に、コンマ区切りの価格を使用することが制限されるようになりました。 以前は、スケジュールされた更新でコンマが含まれている価格は、ロケールに応じて1000で割られていました。
  • PHP 8.1を実行するデプロイメントでのDHL国内配送に関する問題は、国際配送にのみ課税対象のタグを要求することで解決されました。

  • ショッピングカート内の製品に対して、固定製品税(FPT)が正しく表示されるようになりました。 以前は、ショッピングカート内の複数の商品で​ 固定商品税(FPT) ​と​ 税金をFPT ​に適用が有効になっている場合、すべてのFPTがショッピングカート内の最後の商品に割り当てられ、他の商品にリセットされていました。
  • チェックアウトワークフローの注文概要セクションの固定製品税(FPT)合計が正しく計算されるようになりました。
  • Adobe Commerceは、シンプルな商品の数量が変更された後、商品ページ上のシンプルな商品の税額控除価格を予想どおりに更新するようになりました。
  • ドロップダウンリストから選択した国がEUの国リストにあるかどうかを確認するために、ストア設定ページに検証が追加されました。 「VAT番号を検証」ボタンは、EU諸国でのみ表示されるようになりました。 以前は、ボタンは英国を含むすべての国に表示されていました。
  • カタログ内の製品価格を表示​が​ 税抜 ​または​ 税抜 ​に設定されている場合、階層価格が正しく計算されるようになりました。 以前は、商品詳細ページには、設定に関わらず、税金を含むティア価格が表示されていました。
  • ポルトガル語のロケールを使用して、ストアフロントの有効な住所への注文に対して税金が正しく適用されるようになりました。 GitHub-34271
  • cart クエリにsubtotal_with_discount_excluding_taxを返す際の税金が含まれなくなりました。 GitHub-33905
  • 注文データ (GET /V1/orders/)に対するWeb API リクエストでは、行合計に対して負の値が返されなくなりました。

テスト

  • AWS Elasticsearch設定で実行する際のMagento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestionsのエラーを修正しました。
  • testCreateProductOnStoreLevel統合テストで、データベースにネストされたトランザクションが発生しなくなりました。

  • PHP 8.1で製品イメージが設定されていない場合に、Send Friend機能のWebAPI テストを実行する際に、次の例外が発生しなくなりました:exception main.ERROR: /var/www/html/lib/internal/Magento/Framework/DataObject.php:131 strpos(): Passing null to parameter #1 ($haystack) of type string is deprecatedGitHub-34864

翻訳とロケール

  • インライン翻訳ツールを使用して、同じエレメントを1回以上編集できるようになりました。 以前は、このツールを使用して行われた最初の変更のみが含まれていました。
  • 管理者テキストまたはラベルを編集する際に、ストアビューセレクターが翻訳ペインをブロックしなくなりました。 これらの機能を翻訳ペインから編集できるようになりました。インターフェイスには、送信​をクリックすると、これらの変更が表示されます。
  • ブラジルのポルトガル語およびフランス語のロケールの管理者の日時形式が有効になりました。
  • 名前バリデーターに重大なアクセント(`)文字を追加し、このアクセントを含む姓または名の顧客アカウントを作成できるようにしました。
  • 製品詳細ページの「カートに追加」ボタンのテキストが、関連するロケールで指定された言語に翻訳されたままになりました。 translate_strategy=embeddedの場合、翻訳ファイルは、領域、テーマ、ロケールに基づいて、対応するJavaScript ファイルに変換されるようになりました。 以前は、商品をカートに追加すると、テキストは英語に戻っていました。
  • 検索類義語は、割り当てられたストア範囲を尊重するようになりました。 以前は、特定のストアに割り当てられた同義語は、他のストアで検索できました。
  • フィリピン (フィリピン)のロケールに関する問題が解決されました。 GitHub-33996

UI

  • カタログ/製品 グリッドの長い製品名が、1行で表示されるのではなく、ワードラップになりました。
  • 最小値と最大値の生年月日の範囲が正しいタイムスタンプとして保存され、有効なタイムスタンプから有効な日付形式に変換されるようになりました。
  • magento.comを使用できないことが、管理者ログイン時にパフォーマンスの問題を引き起こさなくなりました。 リリース通知を取得するリクエストのタイムアウトが追加されました。
  • 管理者注文、お客様、および商品グリッドフィルターの結果が、Chrome ブラウザーに表示されたときに正常に保持されるようになりました。
  • Magento_LoginAsCustomerAdminUiが有効になっていて、ストア ビューからログイン先​が手動選択に設定されている場合に、管理者から顧客を作成できるようになりました。 以前、Adobe Commerceがこのエラーをスローしました:(Magento\Framework\Exception\LocalizedException): Unable to get Customer IDGitHub-33096
  • 買い物客が商品画像ギャラリーの最後のサムネイル画像に到達すると、次の矢印が期待どおりに無効になりました。
  • キーワードで検索​入力フィールドに、カタログ > 製品 ページのプレースホルダーの代わりにaria-label要素が追加されました。
  • 管理者フッターのプライバシーポリシーのリンクが、新しいAdobe プライバシーポリシーにリンクするようになりました。
  • 実稼動モードでJavaScript バンドルが有効になっている場合、管理者は管理メニューオプションにアクセスできるようになりました。 GitHub-35325
  • 管理者は、現在のユーザーの有効期限を2038より大きく設定し、ユーザーを正常に保存できるようになりました。 以前は、有効期限が変更されたユーザーは、ログアウト後に再度ログインできませんでした。
  • 管理者が管理者​Store > 属性 > お客様の住所​に過剰な街路がある住所を保存しようとすると、Adobe Commerceに有益なエラーメッセージが表示されるようになりました。 管理者は、追加のアドレス情報を削除して、アドレスを正常に保存できるようになりました。 以前、Adobe Commerceは余分な行をコミットしましたが、データを保存しませんでした。
  • データベースおよびローカルストレージの製品リストビュー設定が更新されました。 カスタムグリッドビューは、ページの再読み込み中や変更時に保存されるようになりました。
  • web サイト制限が有効になっている場合に、ストアビューを切り替えることができるようになりました。 以前は、ストアビュー切り替え機能の問題により、ストアビューを切り替えることができませんでした。
  • ファビコンアイコンのアップロードフォームで、.ico種類のファイルがサポートされるようになりました。 以前、この拡張機能タイプのfavicon ファイルをAdminにアップロードしようとすると、Adobe Commerceに次のエラーが表示されました:Warning: imagecreatefromstring(): one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully in /var/www/html/vendor/magento/module-media-storage/Model/File/Validator/Image.php on line 64GitHub-34858
  • 管理グリッドのドロップダウン選択メニューの表示に関する問題を修正しました。 GitHub-35386

URLの書き換え

  • 特定のストアビューの属性コードの表示ステータスが​ 個別に表示されない ​に変更された後、特定のストアビューの製品のURLのみがurl_rewrite テーブルおよび管理者から削除されるようになりました。 以前は、url_rewrite テーブルの製品に対してすべてのURLが削除されていました。 GitHub-34937

ビデオ

  • ページビルダーを使用してYouTubeのURL パラメーターを使用し、新しいビデオを追加できるようになりました。 以前は、これらのパラメーターはURLから自動的に削除されていました。
  • CSPがrestrict modeに設定されている場合、Vimeo ビデオをbanner要素でバックグラウンドで実行するように設定できるようになりました。 以前、Adobe CommerceはJavaScript エラーをスローしていました。

Web API フレームワーク

  • 同時要求による更新中に競合状態を防ぐため、注文に対してMutexが実装されました。 以前は、REST APIの同時呼び出し中に競合状態が発生し、管理項目の注文済みテーブルの配送ステータス情報が上書きされていました。
  • REST APIを介して特定のストアビューで製品を更新する際に、ペイロードで明示的に定義されていない限り、製品画像の役割の継承が保持されるようになりました。
  • Swagger スキーマ (/rest/schema)で一意の操作IDが使用されるようになりました。
  • POST /V1/salesRules/ エンドポイントを通じて作成されたカート価格ルールは、ステータスを「無効」から「有効」に変更した後、既存のクーポンコード値を保持するようになりました。 GitHub-35298
  • POST /V1/salesRules/ エンドポイントを通じて作成されたカート価格ルールに、有効なfrom_date値とto_date値が含まれるようになりました。 GitHub-35265
  • CartItemInterfaceにはcustomizable_optionsが含まれるようになりました。 GitHub-31180
  • REST APIの一括PUT リクエストとDELETE リクエストは、Magento_ReCaptchaWebapiRest モジュールが有効になっている場合に、想定どおりに機能するようになりました。 GitHub-35348
  • Bulk Rest APIは、設定可能な製品のbySku オプションで動作するようになりました。 以前は、500 エラーが返されていました。
  • /V1/products/base-prices エンドポイントは、カタログ価格モード - Web サイト​で期待どおりに機能するようになりました。 GitHub-30132
  • POST /V1/products/special-price エンドポイントを使用して新しい特別価格スケジュールを作成すると、期待どおりに機能するようになりました。 以前、エンドポイントから次のエラーが返されました:Future Update already exists in this time range. Set a different range and try again

ウィッシュリスト

  • 欲しいものリストページから品目数量を更新すると、製品詳細ページの数量が期待どおりに更新されるようになりました。 Adobe Commerceは、更新された値を商品URLから取得し、ウィッシュリスト自体から商品詳細ページのqty フィールドに入力するようになりました。

既知の問題

問題: Adobe Commerce 2.4.5より前の製品バージョンから2.4.6以降にアップグレードした後、ステージングされたセールス ルール ラベルが一致しない可能性があります。 回避策: メタデータの更新手順の前に、アップグレード中にACSD-50625_2.4.5-P1.patchを適用します。 バージョン < 2.4.5🔗からアップグレードする際のsalesRules ラベルの問題に関するナレッジベース記事を参照してください。

この問題を解決するための一般的な手順:

  1. 必要なパッチをダウンロードします。 バージョン < 2.4.5🔗からアップグレードする際のsalesRules ラベルの問題に関するナレッジベース記事を参照してください。
  2. アップグレード プロセス ​ アップグレードを実行のパッケージ管理フェーズで説明されているアップグレード手順に従います。
  3. このパッチは、パッケージの管理フェーズの後、メタデータの更新フェーズの前のアップグレード時に適用します。Adobe🔗が提供するコンポーザーパッチの適用方法については、を参照してください。
  4. アップグレードプロセスを完了します。

問題:管理者ユーザーは、Braintreeが有効になっている場合、管理者からユーザーの注文または再注文を作成できません。 管理者ユーザーが​ Order ​または​ Reorder ​のいずれかをクリックすると、Adobe Commerceは注文を送信せず、system.logに次のエラーが表示されます:report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174回避策: BUNDLE-3137-composer.patchが利用可能になりました。 この問題とパッチへのアクセスについて詳しくは、「Admin can’t create order/reorder when Braintree payment enabled Knowledge Base」を参照してください。 Cloudのマーチャントは、Commerce v1.0.18用のCloud Patchesをダウンロードする必要があります。 Adobe Commerce 2.4.5-p1にも修正が含まれます。

問題: RabbitMQ個のインフラストラクチャ要素(交換、キュー)が、Adobe Commerce 2.4.5の新しいインストール(アップグレードではない)後に初期化されない可能性があります。 このRabbitMQの設定が正しくないと、非同期操作が実行されたり、パフォーマンスプロファイルが生成されたりすると、致命的なエラーが発生する可能性があります。 クラウドのデプロイメントは影響を受けません。 回避策: オンプレミスでAdobe Commerce 2.4.5の新しいインストールを実行しているマーチャントは、bin/magento setup:config:setを使用してRabbitMQを構成した後にbin/magento setup:upgrade --keep-generatedを実行するか、RabbitMQ設定オプションをsetup:install コマンドに渡してAdobe Commerceをインストールする必要があります。 RabbitMQを参照してください。

コミュニティへの貢献

より多くのMagento Open Source コミュニティに感謝し、このリリースに対する貢献を認めたいと思います。

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

パートナーの貢献

次の表は、パートナーによる貢献を示しています。 この表は、プルリクエストに貢献したパートナー、外部プルリクエスト番号、それに関連付けられているGitHub イシュー番号(利用可能な場合)を示しています。

個々の貢献者貢献

次の表に、コミュニティメンバーからの貢献を示します。 この表は、プルリクエストに貢献したコミュニティメンバー、外部プルリクエスト番号、それに関連付けられているGitHub イシュー番号(利用可能な場合)を示しています。

コミュニティメンバーの投稿
プルリクエスト
関連する GitHub の問題
hostep
magento/magento2#30640
magento/magento2#30607
ヌジル
magento/magento2#31944
magento/magento2#31947
ケイト・キジマ
magento/magento2#32293
magento/magento2#32378
ワスカップ
magento/magento2#32371
magento/magento2#33767
ヌジル
magento/magento2#32648
magento/magento2#32649
DmitryTsymbal
magento/magento2#33342
magento/magento2#33344
AnnaAPak
magento/magento2#33557
magento/magento2#33692
ihor-sviziev
magento/magento2#33904
magento/magento2#33929
marvinhinz
magento/magento2#34388
magento/magento2#35150
ケイト・キジマ
magento/magento2#34552
magento/magento2#34631
in-session
magento/magento2#34558
magento/magento2#34563 magento/magento2#34595
便利
magento/magento2#34582
magento/magento2#34988
ihor-sviziev
magento/magento2#34943
magento/magento2#34942
liamjtoohey
magento/magento2#35050
magento/magento2#35180
ドゥジオ 12
magento/magento2#35109
magento/magento2#35108 magento/magento2#35128
shochdoerfer
magento/magento2#35234
magento/magento2#35315
トビアス・フォーケル
magento/magento2#35299
magento/magento2#35458
Inevix
magento/magento2#35349
magento/magento2#35480
フレッデン
magento/magento2#35356
magento/magento2#35587
マヘシュ・シン・ラジャワット
magento/magento2#35376
magento/magento2#35204
Usik2203
magento/magento2#35385
magento/magento2#35386
arifadobe
magento/magento2#35439
magento/magento2#35506
ピケットク
magento/magento2#35504
magento/magento2#35505

必要システム構成

アドビのテクノロジースタックはPHPとMySQL上に構築されています。 詳しくは、必要システム構成を参照してください。

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

Adobe Commerce 2.4.5は、Composerを使用してインストールできます。

recommendation-more-help
commerce-operations-help-release