Magento Open Source 2.4.5 リリースノート
Magento Open Sourceでは、プラットフォームの品質、支払い方法、GraphQLのキャッシュ機能、アクセシビリティを向上させました。 統合Google モジュールのアップデートも含まれています。
このリリースには、290 を超える品質修正および機能強化が含まれています。
その他のリリース情報
これらの機能のコードは、Magento Open Source コアコードの四半期リリースにバンドルされていますが、これらのプロジェクトの一部も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。
Magento Open Source 2.4.5 のハイライト
このリリースのハイライトは次のとおりです。
セキュリティ機能の強化
このリリースには、20 のセキュリティ修正とプラットフォームセキュリティの改善が含まれています。 このセキュリティ修正は、Magento Open Source 2.4.4-p1 およびMagento Open Source 2.3.7-p4 に移植されました。
これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、管理者を保護するために必要なすべての措置をとることをお勧めします。これには、以下の取り組みが含まれますが、これらに限定されません。
- IP許可リストに加える
- 二要素認証
- vpn の使用
/adminではなく一意の場所の使用- 適切なパスワードハイジーン
修正された問題の最新の説明については、Adobe セキュリティ速報 を参照してください。
その他のセキュリティ機能強化
このリリースのセキュリティの強化により、次のような最新のセキュリティのベストプラクティスへのコンプライアンスが向上しています。
-
ウィッシュリストの共有、「新しい顧客アカウントを作成」およびギフトカードのフォームに reCAPTCHA のサポートが追加されました。
-
ACL リソースがインベントリに追加されました。
-
在庫テンプレートのセキュリティが強化されました。
-
MaliciousCodeフィルターは、HtmlPurifierライブラリを使用するようにアップグレードされました。
プラットフォームの機能強化
Magento Open Source 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 が更新され、
httpsの代わりにhttpを使用するようになりました。 -
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)の場合、WCAG 2.0 で必要とされる最小カラーコントラスト比の 4.5:1 を満たすようになりました(太字の場合)。 以前は、カルーセルのナビゲーションボタンは、これらの最低限のコントラスト要件を満たしていませんでした。
- スクリーンリーダーが、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を開く」アプリケーションの応答の「null」セクションにitems値が表示されていました。 買い物かごクエリ を参照してください。
- ゲストの買い物客がチェックアウトに進む前に買い物かごに製品を追加した後にアカウントを作成した場合、発送方法が期待どおりに使用できるようになりました。 以前は、ゲストがアカウントを作成する前に買い物かごに製品を追加した場合、チェックアウト中に発送方法は使用できませんでした。 他の商品を買い物かごに追加すると、配送方法が利用できるようになります。
- 国を許可 フィールドでオプションが選択されていない場合、買い物客が買い物かごに製品を追加できるようになりました。
- 永続化を有効にする が「はい に設定されている場合、セッションがタイムアウトした後、買い物かごの内容とログインステータスが期待どおりに再読み込みされるよう なりました。 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_product_priceールまたは完全な再インデックスの後に、catalogrule_ruleテーブルからトリガー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/loadAjax リクエストが送信されると、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 サイトで有効として表示されていました。
ダウンロード可能
- ダウンロード可能な製品からサンプルリンクとファイルを削除できるようになりました。 GitHub-31887
電子メール
- システム発行メールが、「」で受信者に正常に送信されるようになりました。 –」というエラーメッセージが表示されます。
- 顧客は、放棄された買い物かごについて、正しいスケジュールに従ってリマインダーが送信されるようになりました。 新しい
TIMESTAMPDIFF(DAY, ,)SQL 関数は、TO_DAYS()関数を置き換え、日時に基づいてタイムスタンプの違いを計算します。 以前は、買い物かごの放棄(任意のタイムゾーン)とサーバー時間(UTC)の 2 つの日時値の計算が誤っているので、スケジュールごとにメールのリマインダーが送信されませんでした。
- 買い物客が「注文する をクリックした後に買い物客が無効なメールフォーマットを入力すると、Magento Open Sourceで「送料」ページにエラーメッセージが表示される うになりました。 以前は、エラーメッセージは支払いページに表示されていました。 [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要素で終了スラッシュが使用されているかどうかを確認するための新しいスニフが追加されました。
- 新しいソースを商品に割り当てて数量を変更した後、Magento Open Sourceが SQL エラーをスローしなくなりました。 GitHub-35262
- 属性の並べ替え順が、更新後に
di.xmlファイルで指定したとおりに機能するようになりました。
updateCartCurrency関数は、cart オブジェクト内のオブジェクトではなく、文字列を設定するようになりました。 以前は、applicationOpen SourceはgetQuoteを使用して引用符を読み込んでいませんでした。これは、updateCartCurrency関数が cart オブジェクト内の文字列ではなくオブジェクトをセットしたためです。 GitHub-34199
- 単体テストで、
\DateTimeFormatter::formatObject()が原因で非推奨(廃止予定)通知が発生しなくなりました。 このメソッドは、$formatの数値で期待どおりに機能するようになりました。
- Magento Open Sourceでは、管理者に
preg_replace()エラーが表示されなくなりました。 3 番目の引数($subject)の型は、array|stringではなくboolになりました。
isFreeShippingメソッドは、ブール値ではなく整数を返すようになりました。GitHub-35164
- クラス
vendor/magento/module-backend/Model/Menu.phpのいずれかのメソッドのプラグインを作成した場合、Magento Open Sourceが次のエラーをスローしなくなりました:Error: Call to undefined method ReflectionUnionType::getName()。 GitHub-35292
- ストアフロントで
/checkout/sidebar/updateItemQty/?item_qty=errorに移動すると、Magento Open Sourceが 500 エラーではなく 404 エラーを返すようになりました。 以前は、このエラーがスローされていました:Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69。 GitHub-34380
- SSL 設定なしで AMPQ 接続を設定した場合に、Magento Open Sourceで
trim(): Passing null to parameter #1 ($string) of type string is deprecatedエラーがトリガーされなくなりました。
longblogデータベース定義をlong blobに修正しました。 GitHub-35108
- 一重引用符を含むノックアウトテキストが変換可能になりました。 GitHub-34319
TypeErrorのmagento2/app/code/Magento/Security/Model/AdminSessionsManager.phpがintからstringに修正されました。 GitHub-34415
.htpasswd設定ファイル内の禁止された場所にnginxが追加されました。 GitHub-35150
Magento_Ui/js/core/appas 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 サイトに基づいて、顧客アドレス属性の設定が正しく読み込まれるようになりました。
- ページビルダーからバンドル商品を追加しても、Magento Open Sourceが例外をスローしなくなりました。
- 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)を設定すると、Magento Open Sourceでエラーメッセージが表示されるようになりました。 以前は、web サイトがクラッシュしていました。 GitHub-35048
- 1 つの web サイトを範囲とする役割を持つ管理者が PageBuilder を使用してコンテンツ要素に商品を追加した場合に、Magento Open Sourceがエラーをスローしなくなりました。 以前は、applicationOpen Sourceが SQL エラーをスローしていました。
- 住所の編集および追加ページの番地の 2 行目に検証が追加されました。 2 番目に指定したテキストの長さの最小値と最大値が適用されるようになりました。
- アップグレード後、Magento Open Sourceが管理者でカタログルールを作成する際に、次のエラーがスローされなくなりました。
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 フィードをリンクするには、ここをチェック」チェックボックスをアクティブ化しても、Magento Open Sourceがエラーをスローしなくなりました。 GitHub-34998
- 「パスワードを表示」チェックボックス(顧客ログイン、顧客登録、顧客編集(パスワード変更セクション)、顧客設定新しいパスワードの各フォーム)のタイトルが翻訳可能になりました。 GitHub-34857
app/code/Magento/NewRelicReporting/etc/adminhtml/system.xmlのラベルとコメントの説明を更新しました。 GitHub-31947
- 不要な
csp_whitelist.xmlファイルを削除しました。 GitHub-30607
GraphQL
- 見つからない
price_range属性がGraphQLBundleItemOptionタイプに追加されました。 GitHub-35010
products検索結果で使用 レイヤナビゲーション設定が無効になっている場合、 クエリは属性を集計として返さなくなりました。 GitHub-33318
price_including_taxフィールドがCartItemPricesに追加されました。 GitHub-29057
new_from_dataのnew_to_datefieldsとProductInterfaceは、非推奨(廃止予定)ではなくなりました。 GitHub-34783
- ファイルシステムに見つからない画像を含むカテゴリのリストを取得する場合、
categoriesクエリで例外がスローされなくなりました。 以前は、applicationOpen Sourceが次の例外をスローしていました:Category image not found。 GitHub-34266
productsクエリは、期待どおりに集計としてcategory_uidを返すようになりました。 GitHub-32557
updateCartItemsのミューテーションは、商品の在庫が最大在庫量に達した場合、期待どおりに商品を削除するようになりました。 GitHub-30220
- 複数のホームページの識別子が同じ場合、
urlResolverクエリでパス区切り文字(/)が正しく解決されるようになりました。 以前は、クエリで区切り文字が解決されず、null が返されていました。 GitHub-33615
customerクエリで、注文をクエリする際に、バンドル製品の複数選択オプションが期待どおりに取得されるようになりました。 GitHub-34717
- GraphQL リクエストが行われた後にMagento Open Source セッションが終了しなくなりました。 以前は、
ClearCustomerSessionAfterRequestプラグインは買い物客からログアウトしていました。 GitHub-34550
- 「
products在庫切れ 製品を表示」設定が有効になっている場合、クエリ応答の設定可能な製品価格範囲が正しく計算されるようになりました。 以前は、無効なオプションは最小および最大価格の計算で考慮されていました。
- 位置で並べ替える場合、
productsクエリは、正しくフィルタリングされた複数のカテゴリを返すようになりました。
setShippingAddressesOnCartリクエストで、地域 ID が正常に検証されるようになりました。 以前は、リージョンコードの代わりにリージョン ID を使用すると、applicationOpen Sourceがエラーをスローしていました。
- クエリ
products、リクエストで渡されたストアに関連付けられたカテゴリのみを返すようになりました。
categoryListクエリは、ヘッダーでストアが指定されている場合、クエリされたストアのルートカテゴリを反映した結果を返すようになりました。 以前は、ヘッダーで別のストアが指定されている場合でも、デフォルトのルートカテゴリのカテゴリが結果に含まれていました。
products検索結果のレイヤー化されたナビゲーションで使用 設定が無効になっている場合、 クエリは属性を集計として返さなくなりました。 GitHub-33318
cartクエリは、無料注文に対して 1 つの支払い方法のみを返すようになりました。 以前は、すべてのアクティブな支払い方法がクエリ応答で返されていました。 GitHub-34036
productsクエリは、無効なバリアントの影響を受ける設定可能な製品のprice_range値を返さなくなりました。 GitHub-33629
collectQuoteTotals呼び出しの前にプラグインを追加して、ストアクレジットが複数回適用されないようにしました。
generateCustomerTokenAsAdminのミューテーションで、顧客トークンが期待どおりに取得されるようになりました。 以前は、トークンは返されず、次のエラーが返されていました:Customer email provided does not exist。
- カスタムの
typeproduct 属性が定義されている場合、GraphQL スキーマが有効になりました。 以前は、製品タイプのtype属性がカスタムtype属性で上書きされたため、スキーマは無効でした。 GitHub-34929
createCustomer、createCustomerV2、updateCustomerまたはupdateCustomerV2のミューテーションで追加または更新された顧客は、アクティブなニュースレター購読で追加されるようになりました。 以前は、リクエストに適切な入力パラメーターが含まれている場合でも、お客様はニュースレターの購読を解除されていました。 GitHub-33599
- 特定のストア表示の
productsクエリで、マルチサイトデプロイメントの特定の web サイトのルートカテゴリにあるカテゴリのみを返すようになりました。 以前は、クエリは、他の web サイトのルートカテゴリからカテゴリを返していました。 GitHub-34570
productsクエリは、指定されたカテゴリ ID のサブカテゴリのみを返すようになりました。 以前は、すべてのカテゴリが返されていました。 GitHub-35220
customerOrdersオブジェクトが応答で指定されているがギフトメッセージが存在しない場合、gift_messageクエリは期待どおりに応答するようになりました。 以前は、クエリは次のメッセージを返していました:Can't load gift message for order is returned。 GitHub-28957
catalog_category_productクエリが別のストアからカテゴリを返す原因となったproductsインデクサーのバグを修正しました。 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 ファイルを再生成する前に管理者からクロスセル製品を削除した後、正しくなりました。 以前は、クロスセル製品が削除された後にクロスセル製品の位置が再計算されず、製品の位置の順序が正しくありませんでした。
- Magento Open Sourceは、レポートを書き出す際に、列をフィルタリングする前にカスタムビューを確認するようになりました。 以前は、書き出されたレポートでカスタムビューが考慮されず、書き出された列が正しくありませんでした。
- Magento Open Sourceは、長いファイル名を持つ画像を正常に読み込むようになりました。 以前は、applicationOpen Sourceは画像を読み込まないので、次のエラーがスローされていました:
Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s):。
- カテゴリ ID 属性が、スケジュールされた書き出しフィルターで使用できるようになりました。
- 疑問符(?)を含むバンドル製品 メソッド内のクエリビルダーが改善され、オプションののタイトルが正常に読み込まれるよう
populateExistingOptionsなりました。 オプションのタイトルも正しく表示されます。 以前は、最初の読み込みの後、読み込みを繰り返すと動作が破損し、オプションが 2 倍になっていました。 買い物客も商品を買い物かごに追加できませんでした。
- 読み込み時のカテゴリ名の検証を追加しました。 以前は、applicationOpen Sourceでカテゴリ名が検証されなかったので、カテゴリ名が 255 文字を超えるとエラーが発生していました。
catalog_url_rewrite_product_categoryテーブル内の既存のレコードが、新しいレコードを挿入する前に削除されるようになりました。 以前は、マルチストア製品の読み込み中に、次のエラーが発生していました。SQLSTATE[23000]: Integrity constraint violationGitHub-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_beforeevent引数が更新されました。 GitHub-26789
indexer:resetは、$indexer->invalidate()を呼び出すためにリファクタリングされました。 GitHub-34988
htmlClass属性値でコロン記号を使用できるようになりました。これにより、Tailwind UI などの追加コンポーネントの使用がサポートされます。 GitHub-34430
ログ
- 顧客、顧客の住所、注文のアクションが管理者アクションレポートに正しく記録されるようになりました。 以前は、
postDispatchハンドラーが設定で指定されていない場合、applicationOpen Sourceはアクションをログに記録しませんでした。
MFTF
アクショングループ
これらのテストでは、繰り返しアクションがアクショングループに置き換えられました。
AdminConfigurableProductChildrenOutOfStockTest GitHub-32378AdminCreateStoreViewTest GitHub-34631
新しいテスト
AdminUnlockAdminUserEntityTest GitHub-34836
StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTest GitHub-33344
リファクタリングされたテスト
AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTest GitHub-33692
ニュースレター
- ログインした顧客は、管理者/マーケティング/ニュースレターの購読者 でゲストとしてマークされなくなりました。
- 顧客がデフォルト以外のストアに割り当てられ、管理者が購読または購読解除すると、ニュースレターの購読確認メールの 送信者 フィールドに、ストア固有の正しいメールアドレスが表示されるようになりました。 以前は、顧客は、デフォルトのメールが記載されたメールを From ヘッダーで受け取っていました。 GitHub-34963
- ニュースレターのメールテンプレートの購読解除 URL が期待どおりに動作するようになりました。 GitHub-33310
順序
- 注文の編集後、ゲストの顧客の詳細が正常に保存されるようになりました。 以前は、
customer_firstnameやcustomer_lastname, x_forwarded_forなど、お客様の詳細情報の一部が失われていました。
- マーチャントは、製品またはグローバル設定レベルで 小数数量 が無効になっている場合、小数合計数量のクレジットメモを作成できなくなりました。 以前は、マーチャントは、該当しない場合、小数点以下の合計数量のクレジットメモを作成できました。
- 環境設定で設定されたタイムゾーンがローカルコンピューターで設定されたタイムゾーンと異なる場合、日付によるフィルターが、請求書、出荷、クレジットメモ、CMSページおよびCMS ブロックグリッドで正しく機能するようになりました。 以前は、日付が誤って解析され、フィルター結果に、設定された日付範囲外のデータが含まれていました。
- 管理者アカウントの編集ページで顧客に割り当てられたメインのメールアドレスを変更しても、Magento Open Sourceで注文に割り当てられたカスタムのメールアドレスが変更されなくなりました。 以前は、顧客のメインメールアドレスを編集すると、その顧客用に作成されたすべての注文に新しいメールアドレスが割り当てられました。 GitHub-34397
- Magento Open Sourceは、PHP 7.4 を実行している環境で、要求されたストアのレコードをクレジットメモグリッドページに表示するようになりました。以前は、クレジットメモを作成して表示しようとすると、applicationOpen Sourceが次のエラーをスローしていました:
The store that was requested wasn't found. Verify the store and try again。
- Magento Open Sourceでは、名前の先頭に数字が付いたストアビューから作成された注文のクレジットメモグリッドページに、クレジットメモが表示されるようになりました。 以前は、applicationOpen Sourceに「
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
- Magento Open Sourceでは、管理およびストアフロントの請求書ページの合計に送料無料コスト(0)が表示されるようになりました。 以前は、受注の出荷がゼロの場合に、「Sourceをオープン」消込によって請求書ページの出荷合計に出荷金額の合計が表示されませんでした。
increment_idテーブルのsales_order列が増えました。 以前は、sales_order.increment_idが 50 文字の長さを持つと想定したサードパーティモジュールで、increment_idの最初の 32 文字のみが保存されていました。 GitHub-34521
支払い方法
- 管理者は、PayPal PayflowPro 支払い方法を使用して管理者に注文できるようになりました。 以前は、applicationOpen Sourceに「
No such entity with cartId = 0」というエラーが表示されていました。
- チェックアウトワークフローの支払レビューページに、Venmo、PayPal Later または PayPal で支払いを行う際に、正しい支払い方法名が表示されるようになりました。
cartクエリでは、無料注文に対するすべてのアクティブな支払い方法を返さなくなりました。 GitHub-34036
Braintree
- マーチャントは、Braintreeを通じてApple Pay で支払われた注文に対して、部分的な返金を申請できるようになりました。 これは、Magento Open Source 2.4.4 の既知の問題でした。
PayPal
- Magento Open Sourceは、PayPal で支払われたゲスト注文に正しいお客様の名前を表示するようになりました。 以前は、顧客名は Guest と表示されていました。
- createPaypalExpressToken ミューテーションのリゾルバーが更新されて、use_paypal_credit 入力フィールドで指定された値が正しく使用されるようになりました。 以前は、無効な
paypal_creditフィールドを使用しようとしました。 GitHub-35180
パフォーマンス
- Redis キャッシュ管理は、設定可能な製品の関連する製品データキャッシュに TTL (有効期限)を追加することで改善されました。 以前は、Redis キー削除ポリシーが揮発性削除ポリシーに設定されている場合、TTL 値が欠落しているので、これらのキャッシュは削除されませんでした。
- 新しい
Grid Filter Condition Typecustomer/customer address 属性は、データベース内の属性値に対して属性フィルタを照合する方法を制御します。オプションには、Partial Match、Prefix Match、Full Matchがあります。
- カタログ検索フルテキスト インデクサーがストアループの外部に再配置され、インデックス再作成が効率化されました。 GitHub-33984
array_mergein ループの問題を修正しました。 GitHub-33929
Pricing
- デフォルトのスコープに値を持たない(ただし、ストアビューレベルで定義される)価格属性に対して、適切なインデックスが作成されるようになりました。 以前は、EAV テーブルから価格属性の値を取得する SQL 式では、デフォルトのスコープで値が定義されていないシナリオは考慮されていませんでした。
- 製品の詳細ページに表示される価格は、選択した数量によって異なる階層価格のチェックアウトワークフローに表示される価格と同じになりました(例えば、2 品目と 5 品目の購入に基づいて価格が異なる製品など)。 以前は、チェックアウト価格には最低製品数量の価格が反映されていました。
ReCAPTCHA
- ログイン ページとアカウントを作成ページの 送信 ボタンは、ReCaptcha が完全に読み込まれるまで非アクティブになりました。
役割
- ストア/設定/サービス ページの「役割のリソース」タブで「リソースアクセス」が カスタム に設定されている場合、Magento Open Source Web API 情報が期待どおりに表示されるようになりました。 GitHub-35506
検索 search-heading
- レイヤーナビゲーションのカラースウォッチで商品をフィルタリングすると、修正後の商品の正しい画像が表示されます。
- 検索可能なバックエンド
int属性として設定されている場合、Elasticsearchのクエリtype期待どおりに動作するようになりました。 以前は、applicationOpen SourceがElasticsearch\Common\Exceptions\BadRequest400Exception例外をスローしていました。
- Elasticsearch クエリで、検索同義語を 一致する最小用語 パラメーターと共に使用できるようになりました。 以前は、このパラメーターが「設定」で指定され、特定のキーワードに検索語句が追加されている場合、検索結果は返されませんでした。
- Magento Open Sourceは、検索候補と「各提案の結果数を表示 設定が有効になっているデプロイメントのストアフロントに、正確な検索結果候補の数を表示す ようになりました。 以前は、キーワードの横に表示されるカウントはゼロでした。
- カタログページのカスタム属性で並べ替えられた製品が、期待した順序で表示されるようになりました。 以前は、製品は、属性オプション値 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で配列が渡された場合、Magento Open Sourceにこのエラーが表示されていました。 GitHub-33586
送料
- 許可された配送方法が選択されていない場合に、Magento Open Sourceが UPS 配送料を読み込む際にエラーがスローされなくなりました。 以前は、これらの条件の下で買い物客がチェックアウトワークフローで配送先住所を入力した場合、他の配送方法は表示されず、Magento Open Sourceがストアフロントにエラーを表示していました。 GitHub-34411
- 仮想製品価格は、計算テーブルのレート配送額から除外されるようになりました。 以前は、これらの製品の送料が正しく計算されていませんでした。GitHub-35185
- 割引券が適用された注文に対して、料金が 0 の表レート配送料が、チェックアウトワークフローの「注文概要」ブロックに正しく表示されるようになりました。 以前は、発送方法は表示されていませんでした。
税
- 買い物かご内の製品に対して、固定製品税(FPT)が正しく表示されるようになりました。 以前は、買い物かご内の複数の製品で 固定製品税(FPT) および FPT に税を適用 が有効になっている場合、すべての FPT が買い物かご内の最後の製品に割り当てられ、他の製品はリセットされていました。
- チェックアウトワークフローの注文概要セクションの固定製品税(FPT)の合計が正しく計算されるようになりました。
- Magento Open Sourceでは、シンプルな商品の数量が変更された後、商品ページでシンプルな商品の免税階層価格を期待どおりに更新するようになりました。
- ドロップダウンリストから選択した国が EU 諸国リストに含まれているかどうかを確認するための検証がストア設定ページに追加されました。 VAT 番号を検証 ボタンが EU 諸国にのみ表示されるようになりました。 以前は、このボタンは、英国を含むすべての国で表示されていました。
- カタログに製品価格を表示 が 税抜き または 税込みと税抜き に設定されている場合、階層価格が正しく計算されるようになりました。 以前は、製品の詳細ページには、設定にかかわらず、階層価格と税金が表示されていました。
- ポルトガル語のロケールを使用して、ストアフロントの有効なアドレスへの注文に対して税金が正しく適用されるようになりました。 GitHub-34271
cartを返す際、subtotal_with_discount_excluding_taxクエリに税金が含まれなくなりました。 GitHub-33905
- 注文データ(
GET /V1/orders/)に対する Web API リクエストで、行の合計に負の値が返されなくなりました。
テスト
- AWS Elasticsearch設定で実行した場合の
Magento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestionsのエラーを修正しました。
-
testCreateProductOnStoreLevel統合テストで、データベースでネストされたトランザクションが発生しなくなりました。 -
PHP 8.1 で 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が有効になっており、「ストア表示からログイン先 が手動選択に設定されている場合、管理者から顧客を作成できるようになりました。 以前は、applicationOpen Sourceが(Magento\Framework\Exception\LocalizedException): Unable to get Customer IDというエラーをスローしていました。 GitHub-33096
- 買い物客が製品画像ギャラリーの最後のサムネール画像に到達した場合、「次へ」矢印が期待どおりに無効になりました。
- キーワードで検索 入力フィールドに、
aria-labelカタログ / 製品 ページのプレースホルダーではなく 要素が含まれるようになりました。
- 管理者フッターのプライバシーポリシーのリンクが、新しいAdobe プライバシーポリシーにリンクされるようになりました。
- 実稼動モードでJavaScriptのバンドルが有効な場合、管理者は管理メニューオプションにアクセスできるようになりました。 GitHub-35325
- 管理者は、現在のユーザーの有効期限を 2038 年より後に設定して、ユーザーを正常に保存できるようになりました。 以前は、有効期限が変更されたユーザーは、ログアウト後にログインし直すことができませんでした。
- 管理者が管理 ストア/属性/顧客の住所 で住所に過度の番地を含む場合に、Magento Open Sourceに情報エラーメッセージが表示されるようになりました。 管理者は追加のアドレス情報を削除し、アドレスを正常に保存できるようになりました。 以前は、applicationOpen Sourceは余分な行をコミットしていましたが、データは保存されませんでした。
- データベースおよびローカルストレージの製品リスト表示設定が更新されました。 ページの再読み込み時やビューの変更時に、カスタムグリッドビューが保存されるようになりました。
- Web サイト制限が有効な場合に、ストアの表示を切り替えられるようになりました。 以前は、ストア表示スイッチャーの問題により、ストア表示を切り替えることができませんでした。
- favicon アイコンのアップロードフォームで、
.icoファイルタイプがサポートされるようになりました。 以前は、この拡張子タイプの favicon ファイルを管理者にアップロードしようとすると、Sourceを開くアプリケーションに次のエラーが表示されていました。Warning: imagecreatefromstring(): one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully in /var/www/html/vendor/magento/module-media-storage/Model/File/Validator/Image.php on line 64GitHub-34858
- 管理グリッドのドロップダウンの選択メニューに関する表示の問題を修正しました。 GitHub-35386
URL の書き換え
- 特定のストア表示の製品の URL のみが、特定のストア表示の属性コードの表示ステータスが
url_rewrite個別に表示されない に変更された後、 テーブルおよび管理者から削除されるようになりました。 以前は、url_rewriteテーブル内の製品について、すべての URL が削除されていました。 GitHub-34937
ビデオ
- ページビルダーでYouTubeの URL パラメーターを使用して新しいビデオを追加できるようになりました。 以前は、これらのパラメーターは URL から自動的に削除されていました。
- CSP が
bannerに設定されている場合、restrict mode要素のバックグラウンドで実行されるように Vimeo ビデオを設定できるようになりました。 以前は、applicationOpen Sourceが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 エラーが返されていました。
POST /V1/products/special-priceエンドポイントを使用した新しい特別価格スケジュールの作成が、期待どおりに動作するようになりました。 以前は、エンドポイントは次のエラーを返していました:Future Update already exists in this time range. Set a different range and try again。
/V1/products/base-pricesエンドポイントが、カタログ価格モード - Web サイト で期待どおりに動作するようになりました。 GitHub-30132
ウィッシュリスト
- ウィッシュリストページから品目数量を更新すると、製品詳細ページの数量が期待どおりに更新されるようになりました。 「Sourceを開く」アプリケーションが商品 URL から更新された値を取得し、ウィッシュリスト自体から商品詳細ページの
qtyフィールドに入力するようになりました。
既知の問題
問題: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支払いが有効な場合、管理者が注文を作成または並べ替えでき せん」ナレッジベースの記事を参照してください。 修正は、Adobe Commerce 2.4.5-p1 にも含まれる予定です。
コミュニティの投稿
Magento Open Sourceの皆さまには深く感謝申し上げるとともに、今回のリリースに対する皆さまのご尽力を心より感謝申し上げます。
コミュニティエンジニアリングチーム Magentoのコントリビューター は、月、四半期、年ごとに、貢献した上位の個人とパートナーのリストを管理します。 その投稿者ページから、GitHub の結合された PR へのリンクをフォローできます。
パートナーの投稿
次の表に、パートナー様のコントリビューションを示します。 この表には、プルリクエストを行ったパートナー、外部プルリクエスト番号、関連付けられた GitHub 問題番号(使用可能な場合)が一覧表示されます。
個々のコントリビューターの投稿
次の表に、コミュニティメンバーからの投稿を示します。 この表は、プルリクエストを行ったコミュニティメンバー、外部プルリクエスト番号、関連付けられた GitHub 問題番号(使用可能な場合)の一覧です。
必要システム構成
当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、 システム要件 を参照してください。