Adobe Commerce 2.4.5 リリースノート
Adobe Commerceでは、プラットフォームの品質、支払い方法、GraphQLのキャッシュ機能、アクセシビリティを向上させました。 統合Google モジュールおよびアップグレード互換性ツールのアップデートが含まれており、Live Search B2B のサポートが導入されています。
このリリースには、400 を超える品質修正および機能強化が含まれています。
その他のリリース情報
これらの機能のコードは、Adobe Commerce コアコードの四半期リリースにバンドルされていますが、これらのプロジェクトのいくつか(B2B、ページビルダー、Progressive Web Application(PWA) Studio など)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。
このリリースに含まれるホットフィックス
Adobe Commerce 2.4.5 には、Adobe Commerceに提供された次のホットフィックスで対処されたすべての問題の解決が含まれています。
-
Braintree_disabled_partial_capture_for_applepay_googlepay.zip
。 このパッチは、支払い方法としてApple Pay またはGoogle Pay throughBraintreeを使用する場合、部分的な請求書を作成できないことに対処します。 ナレッジベースの記事「Adobe Commerce 2.4.4:部分請求書を作成できせん」を参照してください。 -
AC-2655_2.4.4.patch.zip
。 このパッチは、「国を許可」オプションが選択されていない場合、買い物客が買い物かごに製品を追加できないという問題を解決します。 ナレッジベースの記事 国を許可で何も選択されていない場合、ユーザーが買い物かごに製品を追加できないを参照してください。
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-session
、laminas/laminas-text
、laminas/laminas-view
の依存関係は削除されました。
その他のアップグレードと交換
-
DHL 統合スキーマが v6.0 から v6.2 に更新されました。
-
USPS 配送用のデフォルト ゲートウェイ URL が更新され、
http
の代わりにhttps
を使用するようになりました。 -
Froogaloop
ライブラリは VimeoPlayer.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-cookie
はjs-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開発者ガイドを参照してください。
在庫
在庫テンプレートのセキュリティが強化されました。
Live Search
このリリースでは、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_id
とentity_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 62
。 GitHub-28860
-
スケジュールされた更新によって設定可能な製品の子製品の 1 つの可用性が変更された場合、Adobe Commerceが設定可能な製品の在庫ステータス、利用可能な設定および表示価格を正しく表示するようになりました。 以前は、設定可能な製品に 2 つの子があり、スケジュールされた更新で 1 つの子製品の可用性が無効になっている場合、更新がアクティブになると、親製品の在庫ステータスが誤って 在庫切れ と表示されていました。更新が完了すると、表示価格とその設定の可用性が誤って計算されていました。
-
オプションのカスタムオプションを使用して、設定可能な製品の順序を変更できるようになりました。 以前は、並べ替えの試行に失敗し、というエラーが表示されていました:
Some of the selected options are not currently available
。 GitHub-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 69
。 GitHub-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.php
のTypeError
がint
からstring
に修正されました。 GitHub-34415
nginx
設定ファイル内の禁止された場所に.htpasswd
が追加されました。 GitHub-35150
Magento_Ui/js/core/app
as adeps
を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 (管理者 ストア/設定/設定 – 詳細)に設定しても、管理者はログアウトしません。 GitHub-35312
- デフォルト以外の web サイトに割り当てられている管理者から新しい顧客アドレスを追加した際に、顧客が割り当てられている web サイトに基づいて、顧客アドレス属性の設定が正しく読み込まれるようになりました。
- カテゴリページと製品編集ページの両方で、制限付き管理者のカテゴリの作成がブロックされるようになりました。 以前は、カテゴリの作成はカテゴリページでブロックされていましたが、製品の編集ページでは引き続き可能でした。
- ページビルダーからバンドル商品を追加しても、Adobe Commerceが例外をスローしなくなりました。
- カテゴリツリーから顧客セグメントの条件としてカテゴリを選択できるようになりました。
- iOS デバイスで、名前(名、ミドルネーム、姓)にアポストロフィ(')が傾斜したカスタマーアカウントを作成できるようになりました。 以前は、直線形アポストロフィのみが許可されていて、iOS 11 以降のデフォルトの傾斜アポストロフィを使用すると、
Name is not valid!
エラーが発生していました。
products
クエリは、「関連製品を表示」設定を正確に反映する製品情報を返すようになりました。 GraphQL ProductInterface のrelated_products
、upsell_products
、crosssell_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
属性がGraphQLBundleItemOption
タイプに追加されました。 GitHub-35010
- 検索結果で使用 レイヤナビゲーション設定が無効になっている場合、
products
クエリは属性を集計として返さなくなりました。 GitHub-33318
price_including_tax
フィールドがCartItemPrices
に追加されました。 GitHub-29057
ProductInterface
のnew_from_data
とnew_to_datefields
は、非推奨(廃止予定)ではなくなりました。 GitHub-34783
- ファイルシステムに見つからない画像を含むカテゴリのリストを取得する場合、
categories
クエリで例外がスローされなくなりました。 以前は、Adobe Commerceは次の例外をスローしていました:Category image not found
。 GitHub-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
createCustomer
、createCustomerV2
、updateCustomer
またはupdateCustomerV2
のミューテーションで追加または更新された顧客は、アクティブなニュースレター購読で追加されるようになりました。 以前は、リクエストに適切な入力パラメーターが含まれている場合でも、お客様はニュースレターの購読を解除されていました。 GitHub-33599
- 特定のストア表示の
products
クエリで、マルチサイトデプロイメントの特定の web サイトのルートカテゴリにあるカテゴリのみを返すようになりました。 以前は、クエリは、他の web サイトのルートカテゴリからカテゴリを返していました。 GitHub-34570
products
クエリは、指定されたカテゴリ ID のサブカテゴリのみを返すようになりました。 以前は、すべてのカテゴリが返されていました。 GitHub-35220
gift_message
オブジェクトが応答で指定されているがギフトメッセージが存在しない場合、customerOrders
クエリは期待どおりに応答するようになりました。 以前は、クエリは次のメッセージを返していました:Can't load gift message for order is returned
。 GitHub-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-32378AdminCreateStoreViewTest
GitHub-34631
新しいテスト
AdminUnlockAdminUserEntityTest
GitHub-34836
StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTest
GitHub-33344
リファクタリングされたテスト
AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTest
GitHub-33692
ニュースレター
- ログインした顧客は、管理者/マーケティング/ニュースレターの購読者 でゲストとしてマークされなくなりました。
- 顧客がデフォルト以外のストアに割り当てられ、管理者が購読または購読解除すると、ニュースレターの購読確認メールの 送信者 フィールドに、ストア固有の正しいメールアドレスが表示されるようになりました。 以前は、顧客は、デフォルトのメールが記載されたメールを From ヘッダーで受け取っていました。 GitHub-34963
- ニュースレターのメールテンプレートの購読解除 URL が期待どおりに動作するようになりました。 GitHub-33310
順序
- ストアフロントで非表示になっているカスタム顧客属性を使用して、新しい注文から新しい顧客を正常に作成できるようになりました。 以前は、Adobe Commerceは、カスタム顧客属性の正しい値を保存していませんでした。
- 注文の編集後、ゲストの顧客の詳細が正常に保存されるようになりました。 以前は、
customer_firstname
やcustomer_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 Match
、Prefix Match
、Full 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 deprecated
。 GitHub-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 ID
。 GitHub-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_date
とto_date
の値が含まれるようになりました。 GitHub-35265
CartItemInterface
にcustomizable_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 ラベルの問題を参照してください。
この問題を解決する一般的な手順は次のとおりです。
- 必要なパッチをダウンロードします ナレッジベースの記事 バージョン < 2.4.5 からのアップグレード時の salesRules ラベルの問題を参照してください。
- アップグレードプロセスのパッケージを管理フェーズ アップグレードを実行で説明されているアップグレード手順に従います。
- このパッチは、アップグレード中、パッケージの管理フェーズの後、メタデータの更新フェーズの前に適用します。詳しくは、Adobeが提供するコンポーザーパッチの適用方法を参照してください。
- アップグレードプロセスを完了します。
問題: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 問題番号(使用可能な場合)の一覧です。
必要システム構成
当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、 システム要件を参照してください。
インストールとアップグレードの手順
Composer を使用してAdobe Commerce 2.4.5 をインストールできます。