Adobe Commerce 2.4.5 リリースノート

Adobe Commerceでは、プラットフォームの品質、支払い方法、GraphQLのキャッシュ機能、アクセシビリティを向上させました。 統合Google モジュールおよびアップグレード互換性ツールのアップデートが含まれており、Live Search B2B のサポートが導入されています。

このリリースには、400 を超える品質修正および機能強化が含まれています。

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

その他のリリース情報

これらの機能のコードは、Adobe Commerce コアコードの四半期リリースにバンドルされていますが、これらのプロジェクトのいくつか(B2B、ページビルダー、Progressive Web Application(PWA) Studio など)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。

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

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

Adobe Commerce 2.4.5 のハイライト

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

セキュリティ機能の強化

このリリースには、20 のセキュリティ修正と platform セキュリティの改善が含まれています。 このセキュリティ修正は、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 の依存関係の更新

制約を使用して、次の 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-textlaminas/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-fixerphpcs の静的コード分析ツールは、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 IDを持ち、Adobe CommerceおよびAdobeビジネス製品への効率的なログインを必要とするAdobe Commerce マーチャントは、Commerce認証をAdobe IMS認証ワークフローと統合できます。 この統合がCommerce ストアに対して有効になると、各管理者ユーザーは、Commerce資格情報ではなく、Adobe資格情報を使用してログインする必要があります。 Integration Identity Management Service (IMS)のAdobeの概要を参照してください。

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

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

B2B

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

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

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

Google Analytics

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

GraphQL

GraphQLのパフォーマンスの強化には、次のものが含まれます。

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

  • GraphQL API の JSON web トークン(JWT)を使用して、認証トークンの有効期限の日時を使用できるようになりました。

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

  • 必要な場合にのみ、クラスプロキシを使用して、GraphQLの操作でセッション cookie が起動されるようになりました。

  • GraphQLの http ヘッダープロセッサー(ストア、お客様、通貨など)からセッションの使用状況が削除されました。

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

在庫

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

このリリースでは、B2B 顧客グループとカスタム価格のサポートが導入されています。 Live Search は、顧客グループへの製品の割り当てと、特定の顧客グループ/共有カタログに設定された価格に従うようになりました。

ページビルダー

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

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

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

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

支払額

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

PayPal

  • スペインとイタリアのマーチャントは、買い物客に後で PayPal Pay を提供できるようになりました。

  • 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 以外のコア クラスまたは非推奨の 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 のコントラスト比が提供されるようになりました。
  • フィルター および 並べ替え ボタンのテキストが、太字の場合、標準テキストの 18pt (24px)または 14pt (19px)に対して必要な 4.5:1 の最小カラーコントラスト比である WCAG 2.0 を満たすようになりました。 以前は、カルーセルのナビゲーションボタンは、これらの最低限のコントラスト要件を満たしていませんでした。
  • スクリーンリーダーが、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 サイトに再度ログインする必要がなくなりました。 顧客データは、買い物客がサブドメインに移動すると読み込まれるようになりました。 買い物客は再度ログインするように求められなくなり、以前の買い物かごの内容が表示されます。
  • 複数住所のチェックアウトで単一数量の住所項目が削除された場合、チェックアウトワークフローの住所ドロップダウンの値が、見積もりの残りの項目で変更されなくなりました。 以前は、複数アドレスのチェックアウト中に商品が見積もりから削除されると、すべての商品の住所ドロップダウン値がデフォルトに変更されていました。
  • 製品の在庫切れになっても、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_price テーブルからトリガーcatalogrule_product 削除されていました。
  • 製品をカテゴリに割り当てるために使用されるカテゴリルールがランダムに変更されなくなりました。
  • カテゴリルールによって商品がカテゴリに割り当てられ、その後、マルチサイトデプロイメントで並べ替えられる場合に、Adobe Commerceがエラーをスローしなくなりました。
  • スコープ制限アクセスを持つ管理者がカテゴリをグローバルに更新できなくなりました。 以前は、複数の web サイトで同じカテゴリで異なる製品を使用し、権限が 1 つのストアに制限されている管理者がカテゴリ内の製品を変更すると、他のストアでも製品の選択が変更されていました。
  • 指定したロケールのデフォルト以外の通貨が使用された場合、製品の詳細ページに正しい価格が表示されるようになりました。 以前は、ストアフロントで数値が期待どおりにローカライズされていませんでした。
  • スケジュールされた更新を使用して、製品を有効にできるようになりました。
  • レコードが重複している製品の階層価格を取得しようとすると、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 exists」というエラーが表示されていました。 GitHub-33145
  • カタログ価格スコープが web サイト から グローバル に変更された後、製品詳細ページとマルチストアデプロイメントのストアフロント検索で製品価格が同じになりました。 以前は、カタログ検索結果ページには global 価格が表示され、製品詳細ページには website 価格が表示されていました。 GitHub-34074
  • 「価格ナビゲーションステップの計算 が「手動 に設定されている場合に、レイヤナビゲーションで想定どおりに最も高い価格の商品が表示される うになりました
  • カテゴリのページネーションを保存 が有効になっている場合に、カテゴリ内に表示されるページごとの製品制限を変更できるようになりました。 以前は、cookie の form_key と UIform_key 異なり、Adobe Commerceに「Invalid Form Key. Please refresh the page」というエラーが表示されていました。
  • EAV インデクサーは、パフォーマンスの問題を防ぐために、製品 ID をタイプ int として処理するようになりました。
  • 名前に「。」を含む新しい画像を追加した後、新しい製品キャッシュが正常に生成されるようになりました。 製品に移動したら、製品を保存し、画像キャッシュをクリーンアップします。 GitHub-32699
  • 管理者フィールドを入力せずに商品ページから属性を作成しようとすると、Adobe Commerceで期待どおりにエラーメッセージが表示されるようになりました。 GitHub-33099

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

CMS コンテンツ

  • マーチャントは、エンティティ編集ページからアクティブなスケジュール済み更新を編集できなくなりました。
  • 権限が制限されている管理者は、スケジュールされた更新の後、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
  • スケジュールされた更新によって設定可能な製品の子製品の 1 つの可用性が変更された場合、Adobe Commerceが設定可能な製品の在庫ステータス、利用可能な設定および表示価格を正しく表示するようになりました。 以前は、設定可能な製品に 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 関数は、cart オブジェクト内のオブジェクトではなく、文字列を設定するようになりました。 以前は、Adobe Commerceは getQuote を使用して引用符を読み込んでいませんでした。これは、updateCartCurrency 関数が cart オブジェクト内の文字列ではなくオブジェクトをセットしたためです。 GitHub-34199
  • 単体テストで、\DateTimeFormatter::formatObject() が原因で非推奨(廃止予定)通知が発生しなくなりました。 このメソッドは、$format の数値で期待どおりに機能するようになりました。
  • Adobe Commerceでは、管理者に 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
  • SSL 設定なしで AMPQ 接続を設定した場合に、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
  • nginx 設定ファイル内の禁止された場所に .htpasswd が追加されました。 GitHub-35150
  • Magento_Ui/js/core/app as a depsapp/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 (管理者 ストア/設定/設定 – 詳細)に設定しても、管理者はログアウトしません。 GitHub-35312
  • デフォルト以外の web サイトに割り当てられている管理者から新しい顧客アドレスを追加した際に、顧客が割り当てられている web サイトに基づいて、顧客アドレス属性の設定が正しく読み込まれるようになりました。
  • カテゴリページと製品編集ページの両方で、制限付き管理者のカテゴリの作成がブロックされるようになりました。 以前は、カテゴリの作成はカテゴリページでブロックされていましたが、製品の編集ページでは引き続き可能でした。
  • ページビルダーからバンドル商品を追加しても、Adobe Commerceが例外をスローしなくなりました。
  • カテゴリツリーから顧客セグメントの条件としてカテゴリを選択できるようになりました。
  • iOS デバイスで、名前(名、ミドルネーム、姓)にアポストロフィ(')が傾斜したカスタマーアカウントを作成できるようになりました。 以前は、直線形アポストロフィのみが許可されていて、iOS 11 以降のデフォルトの傾斜アポストロフィを使用すると、Name is not valid! エラーが発生していました。
  • products クエリは、「関連製品を表示」設定を正確に反映する製品情報を返すようになりました。 GraphQL ProductInterface の related_productsupsell_productscrosssell_products の各フィールドは、それぞれ Show Related Products、Show Upsell Products および Show Cross-Sell Products 設定に従って解決されるようになりました。
  • 製品を新規開始日として設定 属性が、製品の一括更新を使用して 製品を新規設定 属性を設定した場合に、正しい日付が表示されるようになりました。 以前は、製品を新開始日に設定1970 年 1 月 1 日 と表示されていました。
  • 役割が制限されているユーザーには、新しいモジュールへのアクセス権が自動的に付与されなくなりました。
  • カテゴリに基づくターゲットルールには、ルールで宣言されたカテゴリの製品のみが表示されます。 以前は、関連製品ルールには、製品に割り当てられているがルールで定義されていないカテゴリの製品が表示されていました。
  • 関連する製品ルール条件が、multiselect 属性を含む製品で期待どおりに機能するようになりました。
  • マーチャントは、階層価格属性(tier_price)を製品の比較に追加できるようになりました。 以前は、この属性の ストアフロントで比較する 設定が有効になっている場合、製品比較ページがクラッシュしていました。 GitHub-35244
  • 無効な cookie ドメイン(Store/Configurations/Web/Default Cookie Settings Cookie Domain)を設定すると、Adobe Commerceでエラーメッセージが表示されるようになりました。 以前は、web サイトがクラッシュしていました。 GitHub-35048
  • 1 つの web サイトを範囲とする役割を持つ管理者が PageBuilder を使用してコンテンツ要素に商品を追加した場合に、Adobe Commerceがエラーをスローしなくなりました。 以前は、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 が正常に検証されるようになりました。 以前は、リージョンコードの代わりにリージョン ID を使用した場合、Adobe Commerceがエラーをスローしていました。
  • クエリ products、リクエストで渡されたストアに関連付けられたカテゴリのみを返すようになりました。
  • categoryList クエリは、ヘッダーでストアが指定されている場合、クエリされたストアのルートカテゴリを反映した結果を返すようになりました。 以前は、ヘッダーで別のストアが指定されている場合でも、デフォルトのルートカテゴリのカテゴリが結果に含まれていました。
  • 検索結果のレイヤー化されたナビゲーションで使用 設定が無効になっている場合、products クエリは属性を集計として返さなくなりました。 GitHub-33318
  • cart クエリは、無料注文に対して 1 つの支払い方法のみを返すようになりました。 以前は、すべてのアクティブな支払い方法がクエリ応答で返されていました。 GitHub-34036
  • collectQuoteTotals 呼び出しの前にプラグインを追加して、ストアクレジットが複数回適用されないようにしました。
  • generateCustomerTokenAsAdmin のミューテーションで、顧客トークンが期待どおりに取得されるようになりました。 以前は、トークンは返されず、次のエラーが返されていました:Customer email provided does not exist
  • カスタムの type product 属性が定義されている場合、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-35204, GitHub-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 violation GitHub-34210

インフラストラクチャ

  • 非推奨(廃止予定)のコンテキストメニュープラグインがプラグインリストから削除されました。
  • ページビルダーモジュールの TinyMCE エディターツールバー関連のロジックが、TinyMCE にツールバーのロジック delayedRender 導入された結果、更新されました。
  • 競合状態によって、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 ヘッダーで受け取っていました。 GitHub-34963
  • ニュースレターのメールテンプレートの購読解除 URL が期待どおりに動作するようになりました。 GitHub-33310

順序

  • ストアフロントで非表示になっているカスタム顧客属性を使用して、新しい注文から新しい顧客を正常に作成できるようになりました。 以前は、Adobe Commerceは、カスタム顧客属性の正しい値を保存していませんでした。
  • 注文の編集後、ゲストの顧客の詳細が正常に保存されるようになりました。 以前は、customer_firstnamecustomer_lastname, x_forwarded_for など、お客様の詳細情報の一部が失われていました。
  • マーチャントは、製品またはグローバル設定レベルで 小数数量 が無効になっている場合、小数合計数量のクレジットメモを作成できなくなりました。 以前は、マーチャントは、該当しない場合、小数点以下の合計数量のクレジットメモを作成できました。
  • 環境設定で設定されたタイムゾーンがローカルコンピューターで設定されたタイムゾーンと異なる場合、日付によるフィルターが、請求書、出荷、クレジットメモ、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:75」というエラーが表示されていました。 GitHub-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 の既知の問題でした。

PayPal

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

パフォーマンス

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

Pricing

  • デフォルトのスコープに値を持たない(ただし、ストアビューレベルで定義される)価格属性に対して、適切なインデックスが作成されるようになりました。 以前は、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 ータベーステーブルのクエリがスキップされるようになりました。 この変更により、パフォーマンスが向上しました。

役割

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

検索 search-heading

  • レイヤーナビゲーションのカラースウォッチで商品をフィルタリングすると、修正後の商品の正しい画像が表示されます。
  • 検索可能なバックエンド type 属性として設定されている場合、Elasticsearchクエリ int 期待どおりに動作するようになりました。 以前は、Adobe Commerceは Elasticsearch\Common\Exceptions\BadRequest400Exception 例外をスローしていました。
  • Elasticsearchクエリで、検索同義語を 一致する最小用語 パラメーターと共に使用できるようになりました。 以前は、このパラメーターが「設定」で指定され、特定のキーワードに検索語句が追加されている場合、検索結果は返されませんでした。
  • Adobe Commerceは、検索候補と「各提案の結果数を表示 設定が有効になっているデプロイメントのストアフロントに、正確な検索結果候補の数を表示す ようになりました。 以前は、キーワードの横に表示されるカウントはゼロでした。
  • カタログページのカスタム属性で並べ替えられた製品が、期待した順序で表示されるようになりました。 以前は、製品は、属性オプション値 ID で並べ替えられていました。これは、製品が属性に追加された順序を反映しています。 GitHub-33810
  • レイヤーナビゲーションのカラースウォッチによる商品のフィルタリングで、正しい商品画像が表示されるようになりました。 以前は、レイヤー化されたナビゲーション PageCache キーには、設定可能な製品のフィルターパラメーターが含まれていませんでした。
  • catalogsearch/advanced/result での PHP エラーを修正しました。 catalogsearch/advanced/index ページ。 以前は、任意の詳細検索文字列 Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-search で配列が渡された場合、Adobe Commerceにこのエラーが表示されていました。 GitHub-33586

送料

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

ステージング

  • Adobe Commerceでは、キャッシュされたページが変更されていないセールスルールに対してステージング更新を適用した後、フルページキャッシュをクリーンアップしなくなりました。
  • コンテンツのステージングダッシュボードに、非アクティブな永久更新が表示されなくなりました。
  • ステージングダッシュボードからステージング更新の終了日を変更すると、これらの変更がステージング更新とそのエンティティに正常に適用されるようになりました。 (ステージング更新の変更を処理するためのキューが導入されました)。
  • マーチャントは、スケジュールされた更新の終了日を削除したり、更新を削除して再作成したりできるようになりました。 以前は、終了日が削除されても、その時点でエンティティのスケジュールが維持されていました。 Adobe Commerceで、削除されたロールバックの古い更新が削除されるようになりました。
  • CMS ページのアクティブなスケジュールの更新が、CMS ページの「スケジュールされた変更」セクションで期待どおりに表示されるようになりました。
  • スケジュールされた更新が変更された場合、custom_design_to 属性値が期待どおりに更新されるようになりました。 以前は、終了時間のない 2 つの異なるカテゴリデザインの更新は、1 つとして扱われていました。 最初の更新の実行中にスケジュールされた更新の 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
  • subtotal_with_discount_excluding_tax を返す際、cart クエリに税金が含まれなくなりました。 GitHub-33905
  • 注文データ(GET /V1/orders/)に対する Web API リクエストで、行の合計に負の値が返されなくなりました。

テスト

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

  • PHP 8.1 で product image が設定されていない場合に、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 回以上編集できるようになりました。 以前は、このツールを使用して行われた最初の変更のみが含まれていました。
  • 管理テキストまたはラベルを編集する際に、ストア表示セレクターで翻訳ペインがブロックされなくなりました。 翻訳ペインからこれらの機能を編集できるようになり、「送信」をクリックするとインターフェイスにこれらの変更が表示されます。
  • ポルトガル語(ブラジル)とフランス語(フランス)のロケールの管理日時形式が有効になりました。
  • 名前バリデーターに [&#39;] のアクセント記号を追加し、このアクセントを含む姓名の顧客アカウントを作成できるようにしました。
  • 製品の詳細ページの 買い物かごに追加 ボタンのテキストが、関連するロケールで指定された言語に翻訳されたままになりました。 翻訳ファイルは、ア 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 年より後に設定して、ユーザーを正常に保存できるようになりました。 以前は、有効期限が変更されたユーザーは、ログアウト後にログインし直すことができませんでした。
  • 管理者が管理 ストア/属性/顧客の住所 で住所に過度の番地を含む場合に、Adobe Commerceに情報エラーメッセージが表示されるようになりました。 管理者は追加のアドレス情報を削除し、アドレスを正常に保存できるようになりました。 以前は、Adobe Commerceは追加の行をコミットしていましたが、データは保存されませんでした。
  • データベースおよびローカルストレージの製品リスト表示設定が更新されました。 ページの再読み込み時やビューの変更時に、カスタムグリッドビューが保存されるようになりました。
  • Web サイト制限が有効な場合に、ストアの表示を切り替えられるようになりました。 以前は、ストア表示スイッチャーの問題により、ストア表示を切り替えることができませんでした。
  • favicon アイコンのアップロードフォームで、.ico ファイルタイプがサポートされるようになりました。 以前は、この拡張子タイプの favicon ファイルを管理者にアップロードしようとすると、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 64」というエラーが表示されていました。 GitHub-34858
  • 管理グリッドのドロップダウンの選択メニューに関する表示の問題を修正しました。 GitHub-35386

URL の書き換え

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

ビデオ

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

Web API フレームワーク

  • 同時要求による更新時の競合状態を防ぐために、注文に対して Mutex が実装されました。 以前は、同時 REST API 呼び出し時の競合状態により、管理項目順序テーブルの出荷ステータス情報が上書きされていました。
  • REST API を使用して特定のストア表示で製品を更新する際に、ペイロードで明示的に定義されていない限り、製品画像の役割の継承が保持されるようになりました。
  • Swagger スキーマ(/rest/schema)で一意の操作 ID が使用されるようになりました。
  • POST /V1/salesRules/ エンドポイントを通じて作成された買い物かご価格ルールで、ステータスを無効から有効に変更した後、既存のクーポンコード値が保持されるようになりました。 GitHub-35298
  • POST /V1/salesRules/ エンドポイントを通じて作成された買い物かご価格ルールに、有効な from_dateto_date の値が含まれるようになりました。 GitHub-35265
  • CartItemInterfacecustomizable_options が含まれるようになりました。 GitHub-31180
  • Magento_ReCaptchaWebapiRest モジュールが有効な場合、REST API の一括PUTリクエストとDELETEリクエストが期待どおりに動作するようになりました。 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 フィールドに入力するようになりました。

既知の問題

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

この問題を解決する一般的な手順は次のとおりです。

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

問題:Braintreeが有効な場合、管理者ユーザーは、管理者から顧客の注文の作成や並べ替えができない。 管理者ユーザーが 注文 または 並べ替え をクリックすると、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 が使用可能になりました。 この問題の説明とパッチへのアクセスについては、Braintree支払いが有効な場合、管理者が注文を作成または並べ替えることができないナレッジベースの記事を参照してください。 Cloud マーチャントは、Commerce v1.0.18 のクラウドパッチをダウンロードする必要があります。修正は、Adobe Commerce 2.4.5-p1 にも含まれる予定です。

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

コミュニティの投稿

より広いMagento Open Sourceコミュニティに感謝し、今回のリリースへの貢献を認めたいと思います。

コミュニティエンジニアリングチーム のMagento貢献者は、貢献した上位の個人とパートナーのリストを月別、四半期別、年別に管理しています。 その投稿者ページから、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 をベースに構築されています。 詳しくは、 システム要件を参照してください。

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

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

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