セキュリティ機能の強化
このリリースには、20 のセキュリティ修正と platform セキュリティの改善が含まれています。 このセキュリティ修正は、Adobe Commerce 2.4.3-p3 およびAdobe Commerce 2.3.7-p4 に移植されました。
これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、管理者を保護するために必要なすべての措置をとることをお勧めします。これには、以下の取り組みが含まれますが、これらに限定されません。
- IP許可リストに加える
- 二要素認証
- VPN の使用
/admin
ではなく一意の場所の使用- 適切なパスワードハイジーン
修正された問題の最新の説明については、Adobe セキュリティ速報を参照してください。
その他のセキュリティ機能強化
このリリースのセキュリティの強化により、次のような最新のセキュリティのベストプラクティスへのコンプライアンスが向上しています。
-
ウィッシュリストの共有、「新しい顧客アカウントを作成」およびギフトカードのフォームに reCAPTCHA のサポートが追加されました。
-
ACL リソースがインベントリに追加されました。
-
在庫テンプレートのセキュリティが強化されました。
-
MaliciousCode
フィルターがアップグレードされ、HtmlPurifier
ライブラリを使用するようになりました。
Platform機能強化
-
Adobe Systems Commerce オンプレミス展開: Adobe Systems Commerce 2.4.5 はテスト済みであり、Elasticsearch 7.17 (制約付き ~7.17.0) との互換性が確認されています。 オンプレミスAdobe Systems Commerce をホストするマーチャントは、Elasticsearch または OpenSearch 1.2 のいずれかを使用できます。
-
Adobe Systems Commerce クラウド でホストされる配置: ElasticSearch 7.11 以降は、Adobe Systems Commerce 2.4.5 クラウド でホストされる展開ではサポートされていません。 OpenSearch は、Adobe Systems 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 Business Products への効率的なログインを必要とする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には、以前の 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 Systems Commerce のコードベースから削除されました。
-
常に 3DS をリクエスト オプションが管理者に追加されました。
PWA Studio
PWA Studio v.12.5.x はAdobe Commerce 2.4.5 と互換性があります。
このリリースの新機能は次のとおりです。
-
買い物客の行動データは、web 分析サービス用にPWA Studio ストアフロントで収集されます。 マーチャントは、必要に応じてこれらのイベントをサブスクライブおよび拡張できるようになりました。
-
販売者は、管理者(Google タグマネージャー)からデプロイするサービスを選択できるようになりました。
機能強化とバグ修正の詳細については、「 PWA Studio リリース」を参照してください。 PWA Studio バージョンと互換性のある Adobe Systems Commerce コアバージョンのリストについては、「 バージョン の互換性 を参照してください。
互換性ツールアップグレード専用
以下の点が強化されました。
-
シグネチャ検証メソッドメソッドまたはコンストラクターシグネチャ内の互換性のない変更を識別するようになりました。
-
データベーススキーマ 検証 で、スキーマの変更と非互換性が識別されるようになりました。
-
DI 構成 検証 では、コア クラスとインターフェイスの
di.xml
とプリファレンスで、削除または非推奨の非 API コア クラスへの参照が検証されるようになりました。 -
UCT は、コードの非推奨を特定し、各問題を解決するための具体的な推奨事項を提供するようになりました。
固定の問題
Adobe Systems Commerce 2.4.5 コアコードの数百の問題を修正しました。
インストール、アップグレード、デプロイメント
- データ パッチの名前を変更し、古いクラス名をエイリアスとして
patch_list
データベース テーブルに追加できるようになりました。 Adobe Systems Commerce は、パッチを適用する前に、データ パッチ エイリアスがデータベースに既に存在するかどうかを確認するようになりました。 以前は、Adobe Systems Commerce では、このような状況でエラーがスローされていました。
- Adobe Systems Commerce では、管理者URLを管理者からカスタムURLに変更しようとしたときに例外がスローされなくなりました。 以前は、管理者 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 に設定できるようになりました。 以前は、これらの条件ではクレジット メモを作成できませんでした。