プラットフォームの機能強化
Magento Open Source 2.4.5 では、をサポートするようになりました
-
コンポーザー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 の最新バージョンを使用するようにしました。
アクセシビリティの更新
このリリースでは、より知覚、操作、理解および堅牢な Venia (PWA)でのストアフロント体験の構築に重点を置いています。 以下のような機能強化が含まれています。
- 検索結果の概要情報が、スクリーンリーダーのユーザーに対して読み上げられるようになった
- スクリーンリーダーが、新しいページビューが読み込まれたときに通知されるようになりました
- コントラストとキーボードのアクセシビリティが向上しました
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 の作成を完全に無効にすることができます。 デフォルトでは、Open Source アプリケーションがこれらの Cookie を作成し、承認のためにそれらを利用するので、パフォーマンスに影響を与えます。 今後は、GraphQL リクエストの唯一の認証形式としてトークンを使用することをお勧めします。 セッション Cookie を単独で、または認証トークンと組み合わせて使用することはお勧めしません。 GraphQL認証を参照してください。 -
必要な場合にのみ、クラスプロキシを使用して、GraphQLの操作でセッション cookie が起動されるようになりました。
-
GraphQLの
http
ヘッダープロセッサー(ストア、お客様、通貨など)からセッションの使用状況が削除されました。
これらの機能強化について詳しくは、GraphQL開発者ガイドを参照してください。
在庫
在庫テンプレートのセキュリティが強化されました。
ページビルダー
Page Builder v.1.7.2 は、Magento Open Source 2.4.5 と互換性があります。
ページビルダーの列レイアウトには、次の機能強化が含まれています。
-
列が公開され、ユーザーがストアフロントで列設定を制御できるようになりました。
-
列のサイズ変更で、ユーザーアクションによってトリガーされるラッピングがサポートされるようになりました。
支払額
Apple Pay は、支払いサービスが有効になっているデプロイメントを実行しているすべてのマーチャントが利用できるようになりました。 この支払い方法では、買い物客がクレジットカードまたはデビットカードの詳細を入力する必要はありません。 Apple Pay は、商品の詳細ページ、ミニカート、買い物かご、チェックアウトワークフローで使用できます。 マーチャントはこの機能をオンに切り替えることができます。
PayPal
-
スペインとイタリアのマーチャントは、買い物客に後で PayPal Pay を提供できるようになりました。
-
PayPal、「クレジット」、「後で支払う」ボタンのプレビューが、管理者のチェックアウト、ミニ買い物かご、製品の各ページで使用できるようになりました。 プレビューでは、これらのボタンが有効になり、ストアフロントでレンダリングされた場合の外観が表示されます。
Braintree
-
Braintreeは、KOUNT の不正対策の統合を廃止しました。 Magento Open Source コードベースから削除されています。
-
常に 3DS をリクエスト オプションが管理者に追加されました。
PWA Studio
PWA Studio v.12.5.x はMagento Open Source 2.4.5 と互換性があります。
このリリースの新機能は次のとおりです。
-
買い物客の行動データは、web 分析サービス用にPWA Studio ストアフロントで収集されます。 マーチャントは、必要に応じてこれらのイベントを購読および拡張できるようになりました。
-
マーチャントは、デプロイするサービスを管理者(Google Tag Manager)から選択できるようになりました。
機能強化とバグ修正について詳しくは、PWA Studio リリースを参照してください。 PWA Studioのバージョンと互換性のあるMagento Open Source コアバージョンのリストについては、 バージョンの互換性を参照してください。
修正された問題
Magento Open Source 2.4.5 コアコードの何百もの問題を修正しました。
インストール,アップグレード,デプロイメント
- データパッチの名前を変更し、古いクラス名をエイリアスとして
patch_list
データベーステーブルに追加できるようになりました。 Magento Open Sourceは、パッチを適用する前に、データパッチのエイリアスがデータベース内に既に存在するかどうかを確認するようになりました。 以前は、これらの条件下で applicationOpen Sourceがエラーをスローしていました。
- 管理者から管理者 URL をカスタム URL に変更しようとすると、Magento Open Sourceで例外がスローされなくなりました。 以前は、管理者 URL を変更すると、ログインできませんでした。 GitHub-35416
- マーチャントは、Klarna を使用したMagento Open Source 2.4.2 のデプロイメントからMagento Open Source 2.4.3 に正常にアップグレードできるようになりました。GitHub-33760
- Magento Open Source Analytics へのパスがハードコードされなくなりました。 以前は、このハードコードパスは、1 つのサーバーに複数のMagento Open Source インスタンスがインストールされた場合に競合を引き起こしていました。 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 サイトの製品価格属性を更新できるようになりました。 以前は、特定のストア表示で一部の製品属性が上書きされた場合、その同じストア表示でその製品の価格属性を更新することはできませんでした。
- Magento Open Sourceは、製品のサブ選択ルールが適用される際に、バンドル製品の買い物かごの合計を正しく計算するようになりました。
キャッシュ
- Magento Open Sourceのキャッシュがフラッシュされ、
use_stale_cache
が有効になっている場合、フルページキャッシュが管理者に無効として表示されなくなりました。
- キャッシュがフラッシュされた際に、New Relic デプロイメントマーカーが期待どおりに動作するようになりました。 GitHub-32649
買い物かごとチェックアウト
- チェックアウトワークフローの請求手順で、アドレス検索のポップアップが DOM エラーを引き起こさなくなりました。
addProductsToCart
のミューテーションが複数の製品で正しく機能するようになりました。 以前は、このクエリは、正確な小計を含む最初の製品を返しましたが、他の製品については小計 0 を返しました。
- SKU によって追加された制限付き製品に対する権限の例外が処理されるようになりました。 買い物客にストアフロントの適切なメッセージが表示され、エラーテーブルの「数量」フィールドが無効になりました。 以前は、applicationOpen Sourceが
There has been an error processing your request
のような例外をスローしていました。
- 買い物かごの価格ルールを無効にした後に影響を受ける見積もりを更新する SQL クエリが最適化され、見積もりテーブル全体がロックされなくなりました。
- グローバルアカウントを共有している買い物客は、ゲストのチェックアウトが無効な場合、マルチサイトデプロイメントのセカンダリ web サイトに再度ログインする必要がなくなりました。 顧客データは、買い物客がサブドメインに移動すると読み込まれるようになりました。 買い物客は再度ログインするように求められなくなり、以前の買い物かごの内容が表示されます。
- 複数住所のチェックアウトで単一数量の住所項目が削除された場合、チェックアウトワークフローの住所ドロップダウンの値が、見積もりの残りの項目で変更されなくなりました。 以前は、複数アドレスのチェックアウト中に商品が見積もりから削除されると、すべての商品の住所ドロップダウン値がデフォルトに変更されていました。
- 製品の在庫切れになっても、
cart
クエリが null 応答を返さなくなりました。 エラーメッセージを含む新しいerrors
要素が応答に導入されました。 以前は、在庫切れの商品を含むクエリを実行すると、「Sourceを開く」アプリケーションの応答の「items
」セクションにnull
値が表示されていました。 買い物かごクエリを参照してください。
- ゲストの買い物客がチェックアウトに進む前に買い物かごに製品を追加した後にアカウントを作成した場合、発送方法が期待どおりに使用できるようになりました。 以前は、ゲストがアカウントを作成する前に買い物かごに製品を追加した場合、チェックアウト中に発送方法は使用できませんでした。 他の商品を買い物かごに追加すると、配送方法が利用できるようになります。
- 国を許可 フィールドでオプションが選択されていない場合、買い物客が買い物かごに製品を追加できるようになりました。
- 永続化を有効にする が「はい に設定されている場合、セッションがタイムアウトした後、買い物かごの内容とログインステータスが期待どおりに再読み込みされるよう なりました。 GitHub-35182
- 複数の配送先住所を持つ注文のチェックアウトワークフローで、買い物客が配送ページから買い物かごページに移動すると、ミニ買い物かごの小計が正しく更新されるようになりました。 以前は、小計は 2 倍でした。
- 永続化を有効にする が有効になっている場合、セッションタイムアウト後に、以前に追加された製品がミニ買い物かごに表示されるようになりました。 GitHub-35183
- マーチャントは、払い戻し配送(含む。 税金) は–0.01 に設定され、この金額を 0 に設定できるようになりました。 以前は、これらの条件ではクレジット メモを作成できませんでした。
買い物かご価格ルール
Parent Only
属性スコープが、買い物かごルール条件で正しく使用されるようになりました。
カタログ
- ストア表示で
PUT /V1/products/
を使用して製品名を更新する際に、製品の URL キーが変更されなくなりました。 以前は、新しい製品名に基づいて新しい URL キーが生成され、製品に割り当てられていましたが、これはストア表示の URL キーを上書きしていました。
- ページビルダー製品ウィジェットをカルーセルモードに設定してからカテゴリに製品を追加しても、ページのリロードがトリガーされなくなりました。
- 個別に表示されない に設定された製品は、カタログの詳細検索結果に表示されなくなります。
- 「一括属性の更新」ページで動的バンドル属性が正しく更新されるようになりました。 以前は、「動的 SKU 属性は、一括更新ページで無効になっていても はい に設定されたままでした。
- カタログルールが、完全な再インデックスではなく、増分インデクサーを使用して正しく適用されるようになりました。
- 複数ページの製品リストのリスト表示とグリッド表示を正常に切り替えられるようになりました。 以前は、複数ページの商品リスト表示の最後のページに移動してからグリッド表示に切り替えると、「Sourceを開く」アプリケーションに次のエラーが表示されていました。
Unfortunately there are no products in this category on our website currently
- 管理アクションログレポートに、更新された製品 ID と更新されたステータス情報が期待どおりに表示されるようになりました。
- 完全な再インデックス後、トリガーは
catalogrule_product_price
テーブルに期待どおりに復元されるようになりました。 以前は、catalogrule_rule
ールまたは完全な再インデックスの後に、catalogrule_product_price
テーブルからトリガーcatalogrule_product
削除されていました。
- 製品をカテゴリに割り当てるために使用されるカテゴリルールがランダムに変更されなくなりました。
- スコープ制限アクセスを持つ管理者がカテゴリをグローバルに更新できなくなりました。 以前は、複数の web サイトで同じカテゴリで異なる製品を使用し、権限が 1 つのストアに制限されている管理者がカテゴリ内の製品を変更すると、他のストアでも製品の選択が変更されていました。
- 指定したロケールのデフォルト以外の通貨が使用された場合、製品の詳細ページに正しい価格が表示されるようになりました。 以前は、ストアフロントで数値が期待どおりにローカライズされていませんでした。
- レコードが重複している製品の階層価格を取得しようとすると、API とストアフロントに同じエラーメッセージが表示されるようになりました。 以前は、
PUT /V1/products/tier-prices
が誤ったエラーメッセージを返していました。
- 末尾にハイフンを含む商品 URL キーを追加しようとすると、Magento Open Sourceに検証エラーメッセージが表示されるようになりました。 情報を提供するツールヒントテキストも使用できます。
- 新しい
ConfigurableWishlistItem.configured_variant
フィールドはConfigurableWishlistItem.child_sku
フィールドを置き換えました。 顧客のウィッシュリストに未設定の設定可能な製品が含まれている場合、後者のフィールドで内部エラーがトリガーされました。
- 製品の表示を変更するための属性の一括更新時に、選択したストアに対してのみ URL の書き換えが生成されるようになりました。 以前は、一括属性の更新により、間違ったストアに対して URL の書き換えが作成されていました。
Synchronize widget products with backend storage
設定が有効な場合、Open Sourceは最近ビューの商品データをcatalog_product_frontend_action
データベーステーブルに追加します。 レコードを追加する際の顧客 ID または訪問者 ID が含まれます。 顧客 ID と訪問者 ID が null の場合、応答のrecently_viewed_product
セクションが空になりました。 その結果、customer/section/load
Ajax リクエストが送信されると、Open Sourceは、最近閲覧された商品を顧客 ID または訪問者 ID に基づいて正しくフィルタリングできます。 以前は、空の顧客 ID または訪問者 ID のチェックがなかったので、応答にはcatalog_product_frontend_action
データベーステーブルで使用可能なすべてのデータが含まれていました。
- 管理者は、管理スライドパネルから、買い物客の買い物かごの設定可能な製品オプションを変更できるようになりました。 以前は、スライドパネルは正しく機能しませんでした。
- 子製品への変更が保存される際に、設定可能な製品の親に対してページキャッシュが期待どおりにクリアされるようになりました。 以前は、キャッシュがクリアされていなかったので、ストアフロントの設定製品ページで変更が選択されていませんでした。 GitHub-34508
- 製品リストが管理者で正しくレンダリングされるようになりました。 以前は、商品リストがレンダリングされず、Magento Open Sourceに「
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
異なり、Magento Open Sourceに「Invalid Form Key. Please refresh the page
」というエラーが表示されていました。
- EAV インデクサーは、パフォーマンスの問題を防ぐために、製品 ID をタイプ
int
として処理するようになりました。
- 名前に「。」を含む新しい画像を追加した後、新しい製品キャッシュが正常に生成されるようになりました。 製品に移動したら、製品を保存し、画像キャッシュをクリーンアップします。 GitHub-32699
-
管理者フィールドを入力せずに商品ページから属性を作成しようとすると、Magento Open Sourceで期待どおりにエラーメッセージが表示されるようになりました。 GitHub-33099
-
ホームページに複数のカタログリストが含まれている場合、製品の評価がすべてのカタログ製品リストで正しくされるようになりました。 GitHub-33867
設定可能な製品
- Magento Open Sourceの製品詳細ページで、設定可能な製品の正しい製品価格を、選択したオプションで数量を変更した後で表示するようになりました。 以前は、数量が変更された後に価格が初期値にリセットされていました。
products
クエリは、「在庫切れを表示 設定を正確に反映する設定可能な製品の価格を取得する うになりました。 以前は、クエリは正確な価格を返しませんでした。
- 設定可能なオプションが、
POST /V1/configurable-products/configurable1/child
を使用して管理で作成される設定可能な製品にリンクされるようになりました。
- 製品の編集中に複数選択の属性が正しく保存されるようになりました。 以前は、applicationOpen Sourceは、商品を保存する際に、選択されていない属性と選択された属性のデフォルトオプションを保存していました。
- Magento Open Sourceは、パッチスクリプトを使用してグローバル
select
属性を作成する際に、設定可能な属性を期待どおりに表示するようになりました。 以前は、適格なグローバル属性は非表示でした。
-
addConfigurableProductsToCart
ミューテーションを使用して、カスタムオプションを持つ設定可能な製品を追加できるようになりました。 以前は、applicationOpen Sourceが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 -
オプションのカスタムオプションを使用して、設定可能な製品の順序を変更できるようになりました。 以前は、並べ替えの試行に失敗し、というエラーが表示されていました:
Some of the selected options are not currently available
。 GitHub-35409
addConfigurableProductsToCart
のミューテーションは、複数の製品で期待どおりに機能するようになりました。 以前は、誤った製品情報が返されたか、無効なエラーメッセージが返されていました。 GitHub-30948
顧客
- Magento Open Sourceでは、ストアフロントの web サイト設定に従って、事前定義済みの EAV システム属性が正しく表示されるようになりました。 以前は、ある web サイトで有効になり、別の web サイトで無効になった web サイトレベルの顧客属性は、両方の web サイトで有効として表示されていました。