Adobe Commerce 2.4.3 リリースノート
Adobe Commerce 2.4.3 では、パフォーマンスとセキュリティの強化に加えて、プラットフォームが大幅に改善されました。 セキュリティの強化には、reCAPTCHA の対象範囲の拡張と、組み込みのレート制限の組み込みが含まれます。 Core composer の依存関係とサードパーティライブラリは、PHP 8.x と互換性のある最新バージョンにアップグレードされました。
このリリースには、コアコードに対する 370 を超える新しい修正と、33 のセキュリティ強化が含まれています。 Adobe Commerce 2.4.2 リリースノートで確認された既知の問題はすべて、このリリースで修正されました。
Adobe Commerce 2.4.2-p2 について詳しくは、Adobe Commerce 2.4.2-p2 リリースノートを参照してください。
その他のリリース情報
これらの機能のコードは四半期ごとのリリースにバンドルされていますが、これらのプロジェクトのいくつか(B2B、ページビルダー、Progressive Web Application(PWA) Studio など)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。
API レート制限の問題に対処するには、MC-43048__set_rate_limits__2.4.3.patch を適用します
このホットフィックスは、配列に 20 個を超える項目を含むリクエストを web API で処理できない問題の解決策を提供します。 この問題は、Magento Open Source 2.4.3、Adobe Commerce 2.4.3、または 2.3.7-p1 を実行するデプロイメントに影響します。 サービス拒否(DoS)攻撃を防ぐために、これらのリリースには組み込みのレート制限が追加され、デフォルトの最大値は 20 に設定されていました。 このパッチは、デフォルトの制限を高い値に戻します。 ストアで DoS 攻撃が発生していると思われる場合、Adobeでは、リクエストできるリソースの数を制限するために、デフォルトの入力制限をより低い値にすることをお勧めします。 ナレッジベースの記事 20 個を超える項目を含むリクエストを Web API で処理できないを参照してください。
AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch を適用し、アップグレード時に PHP の致命的なエラーに対処します
Adobe Commerce 2.4.3 にアップグレード中に、次の致命的なエラーが発生する場合があります。
PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74
このエラーは、PHP 8.x 関数である str_contains
関数を使用した結果です。 Adobe Commerce 2.4.3 では PHP 8.x をサポートしていません。このホットフィックスは、この関数を、サポートされている PHP 7.x 関数に置き換えます。 ナレッジベースの記事「Adobe Commerceのアップグレード 2.4.3、2.3.7-p1 PHP 致命的なエラーに関するホットフィックス」を参照してください。
配送業者として DHL を引き続き提供するには、AC-3022.patch
を適用してください
DHL ではスキーマバージョン 6.2 を導入しており、近い将来、スキーマバージョン 6.0 を廃止する予定です。 DHL 統合をサポートするAdobe Commerce 2.4.4 以前のバージョンは、バージョン 6.0 のみをサポートしています。これらのリリースをデプロイするマーチャントは、DHL を配送業者として引き続き提供するために、できるだけ早い時期に AC-3022.patch
を適用する必要があります。 パッチのダウンロードとインストールについては、ナレッジベースの記事 DHL を引き続き配送業者として提供するためのパッチを適用するを参照してください。
ハイライト
このリリースのハイライトは次のとおりです。
セキュリティの大幅な強化
このリリースには、33 のセキュリティ修正と platform のセキュリティの改善が含まれています。 これらのセキュリティ修正の多くは 2.4.2-p2 および 2.3.7-p1 に移植されています。
リモートコード実行(RCE)およびクロスサイトスクリプティング(XSS)の脆弱性を閉じるのに役立つ 33 のセキュリティ強化
これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、IP許可リストに加える、 二要素認証、VPN の使用、/admin
ではなく一意の場所の使用、適切なパスワードハイジーンなど、管理者を守るために必要なすべての手順を実行してください。 修正された問題の詳細については、Adobe セキュリティ速報を参照してください。
その他のセキュリティ機能強化
このリリースのセキュリティの強化により、次のような最新のセキュリティのベストプラクティスへのコンプライアンスが向上しています。
-
新しい Composer プラグイン は、依存関係の混乱を防ぎ、公開パッケージリポジトリ上の内部パッケージと同じ名前を持つ悪意のあるパッケージを識別するのに役立ちます。 ブログ投稿「Adobeリリース 2.4.3 リリースの新しい Composer プラグイン」を参照してください。
-
サービス拒否(DoS)攻撃を防ぐために API に レート制限が組み込まれるようになりました。 Web API では、クライアントが要求できるリソースのサイズまたは数に制限を課すようになりました(デフォルトの最大値は 20 に設定されており、ビジネスニーズに基づいて異なる値に設定できます)。 これらの制限の設定については、 レート制限を参照してください。
-
ReCAPTCHA の対象範囲が拡張され 以下が含まれるようになりました。
-
対応するHTMLページを持つ Web API については、ReCAPTCHA を参照してください。 (統合からアクセスする web API は除く。) ReCAPTCHA カバレッジは、スパム攻撃からエンドポイントを保護します。 OAuth を使用するサードパーティの統合サービスから web API にアクセスすると、ReCAPTCHA が無効になります。
-
注文ストアフロントページと支払関連の web API。 これらのページの reCAPTCHA 保護は、デフォルトで無効になっており、管理者から有効にすることができます。 このカバレッジは、カード攻撃から店舗を保護するための抗ブルートフォースメカニズムを追加します。
-
インフラストラクチャの改善
このリリースには、フレームワークの品質と次の機能領域を向上させる機能強化が含まれています。
-
顧客アカウント
-
カタログ
-
CMS
-
OMS
-
インポート/エクスポート
-
プロモーションとターゲティング
-
買い物かごとチェックアウト
-
B2B
-
ステージングとプレビュー
PayPal Pay Later が PayPal を含むデプロイメントでサポートされるようになりました。 この機能により、買い物客は購入時に全額を支払うのではなく、隔週の分割払いで注文の支払いを行うことができます。
新しい use_application_lock
インデックスモード。 use_application_lock
モードでは、環境変数を使用するか、app/etc/env.php
ファイルを設定して、インデックスを再作成できます。 このモードを有効にしてエラーが発生した後に、インデクサーを手動でリセットする必要がなくなりました。 再インデックスプロセスに対するアプリケーションロックモードの使用を参照してください。
プラットフォームの機能強化
バージョン 2.4.3 はまだ PHP 8.x と互換性がありませんが、次のプラットフォームアップグレードにより、PHP 8.x との将来の互換性に近づいています。
-
Core Composer の依存関係とサードパーティライブラリは、PHP 8.x と互換性のある最新バージョンにアップグレードされました。
-
KnockoutJS ライブラリが v3.5.1 (最新バージョン)にアップグレードされました。
-
非推奨(廃止予定)の TinyMCE v3 ライブラリが削除されました。 TinyMCE v3.x に関連する
Magento_Tinymce3Banner
モジュールおよび MFTF テストがAdobe Commerceから削除されました。 -
バージョン 2.4.3 はテストされ、Redis 6.0.12 との互換性が確認されています。 (バージョン 2.4.x は Redis 5.x と互換性があります)。
-
Laminas ライブラリの依存関係は、PHP 8.x 互換バージョンにアップグレードされました。 一部の冗長な依存関係が
composer.json
ファイルから削除されました。 Adobe Commerce 2.4.3 ではラミナス 3.4.0 を使用します。
パフォーマンスの強化
このリリースには、製品価格およびカタログルールインデクサーのインデックス化時間を短縮する機能強化が含まれています。 マーチャントは、顧客グループまたは共有カタログから web サイトを除外できるようになりました。これにより、インデックス作成のレコード数が減り、インデックス作成時間が短縮されます。
Live Search
2}Adobe Sensei を活用した 🔗 ライブサーチ } では、人工知能と機械学習アルゴリズムを使用して、集計した訪問者データの詳細な分析を行うことで、直感的な検索エクスペリエンスを提供します。 Live Search リリースノートを参照してください。
GraphQL
このリリースでは、次の機能がGraphQLでサポートされるようになりました。
-
共有カタログ
-
ウィッシュリスト。 addWishlistItemsToCart mutation は、指定したウィッシュリストから顧客の買い物かごに項目を移動します。
-
ギフトレジストリ。 以下のタスクが対象となります。
-
交渉可能な見積もり.
negotiableQuote
クエリとnegotiableQuotes
クエリを参照してください。新しい突然変異は次のとおりです。
-
共有ルート。 route query および RoutableInterface は、product、category、およびCMS ページ上のルーティングリクエストをサポートします。
urlResolver
クエリは非推奨(廃止予定)になり、その機能はroute
クエリに置き換えられました。
これらの機能強化について詳しくは、GraphQL開発者ガイドを参照してください。
B2B
バージョン 2.4.3 では、B2B v1.3.2 が導入されています。このリリースには、複数のバグ修正が含まれています。 B2B リリースノートを参照してください。
ページビルダー
ページビルダーが、Magento Open Sourceのバンドル拡張機能として使用できるようになりました。 これは、Adobe Commerce 2.4.3 およびMagento Open Source 2.4.3 のデフォルトのコンテンツ編集ツールになりました。WYSIWG エディターをサードパーティのモジュールに置き換えることができます。
ページビルダーは、次の管理領域で TinyMCE エディターを置き換えます。
- CMSページ
- CMSブロック
- カテゴリの説明
- 製品の説明
TinyMCE で作成されたすべてのコンテンツは、HTMLとしてページビルダーに移行されました。
PWA Studio
機能強化とバグ修正について詳しくは、PWA Studioリリースを参照してください。 PWA Studioのバージョンとその互換性のあるバージョンの一覧については、 互換性を参照してください。
互換性アップグレードツール
アップグレード互換性ツールの範囲を、コミュニティからのフィードバックに基づいて拡大しました。 #upgrade-compatibility-tool のSlackチャネルに参加して、Adobe製品チームやコミュニティからのサポートを得たり、ツールの将来の方向性を導いたりするのに役立ちます。
Cloud Managed Services のアップデート
このリリースには、Amazon Simple Storage Service (AWS S3)およびAmazon Aurora Cloud Managed Services のサポートに対する機能強化が含まれています。 これは、AWS ElastiCache、AWS Elasticsearch、およびAWS管理キュー(Rabbit MQ)の認定サポートを提供します。 (これらのサービスの機能、パフォーマンス、およびAdobe Commerceとの統合についてテストしました。)
Adobe Stockの統合
このリリースにはAdobe Stock Integration v2.1.1 が含まれています。
ベンダーが開発した拡張機能
このリリースの機能および変更点の更新については、次のトピックを参照してください。
-
Amazon支払。 Amazon Pay は非推奨(廃止予定)となり、2.4.x の今後のリリースで削除される予定です。 バージョン 2.4.3 以降には、互換性のアップデートと主要なバグの修正のみが含まれます。
修正された問題
2.4.3 コアコードの何百もの問題を修正しました。
インストール,アップグレード,デプロイメント
- アップグレードが成功した後、
bin/magento setup:db:status
コマンドは、すべてが最新であることを示すメッセージを返すようになりました。 以前は、アプリケーションに「Declarative Schema is not up to date
」というエラーが表示されていました。
- 新しい設定可能な製品の作成に失敗した場合に、フォームの再読み込み時に設定値が保持されるようになりました。 以前は、フォームの再読み込み時に値が失われ、アプリケーションに次のエラーが表示されていました。
The value specified in the URL Key field would generate a URL that already exists
GitHub-32102
bin/magento setup:upgrade
を実行して Redis を使用したMagento Open SourceデプロイメントからAdobe Commerceにアップグレードする際に、アプリケーションが例外をスローしなくなりました。
- 以前に作成した買い物かご価格ルールは、デプロイメントをMagento Open SourceからAdobe Commerceにアップグレードした後、コンテンツステージングダッシュボードページに表示されるようになりました。
- Galera クラスターで実行されるデプロイメントで、より多くのお客様がサポートされるようになりました。 GitHub-31038
- アプリケーションが
—use-rewrites=0
オプションまたはcore_config_data_table
でweb/seo/use_rewrites
を 0 に設定してインストールされている場合、管理者は配置に正常にログインできるようになりました。 GitHub-32100
AsyncCssPlugin
のsortOrder
の読み込みが更新されました。 アプリケーションは、JsFooterPlugin
の前にAsyncCssPlugin
を読み込むようになりました。 GitHub-30882
Magento\Config\Model\Config\PathValidator
は、表示パスをチェックして要素が存在するかどうかを判断し、設定パスが含まれている場合は、検証の代わりにconfig.xml
パスを使用するようになりました。 GitHub-27678
- Grunt を使用して、またはサーバー側コンパイルで Less ファイルをコンパイルしても、同じ結果が得られるようになりました。 以前。 Grunt を使ってコンパイルした場合、
_extends.less
で他の.abs- styles
を拡張する.abs- styles
が正しく出力されませんでした。 その結果、実稼動デプロイメントと開発デプロイメントの違いが生じました。 GitHub-7231
AdminGWS
- カスタム権限を持つ管理者の場合、管理 GWS が管理コレクションの
website_id
SQL 条件にint
の値を使用するようになりました。
Adobe Stockの統合
- API キー(クライアント ID) および クライアントシークレット が設定されていない場合、アプリケーションに情報メッセージと、Adobe Stockを検索ページの管理者 ストア/設定/詳細/システム ページへのリンクが表示されるようになりました。 以前は、アプリケーションに「
We couldn't find any records
and no link」というエラーが表示されていました。
バックエンド
- 制限付きアクセスを持つ管理者(例えば、1 つの web サイトのみにアクセス権を割り当てられている管理者)は、グローバルスコープに設定されたカテゴリを編集できなくなりました。
- 生成されたシステムレポート(システム/サポート/システムレポート)が正しくレンダリングされるようになりました。 以前は、レポートのコンテンツの位置がずれていました。
- バンドル製品の作成中に 動的価格 設定が有効な場合、アプリケーションは 価格 フィールドの検証を期待どおりにオフにするようになりました。 以前は、「動的な価格 設定が有効な場合に「 価格 」フィールドから値を削除すると、アプリケーションが検証エラーをスローしまし。 GitHub-26214
- 2 つの URL からアクセスできるようにアプリケーションが設定されているデプロイメントで、管理者 URL がデフォルトの web サイト URL と異なる場合に、無限リダイレクトが発生しなくなりました。
バンドル製品
addProductsToCart
ミューテーションを使用して、複数のチェックボックスオプションを持つバンドル製品を買い物かごに追加できるようになりました。
- バンドル製品の価格インデックス作成が一時テーブルを使用して実行され、データベーステーブルのロックを回避できるようになりました。 以前は、アプリケーションは物理テーブルを使用していたため、テーブルがロックされていました。
- バンドル品目の価格を 0.00 に設定できるようになりました。以前は、価格を 0.00 に設定した後に編集ページに戻ると、価格がデフォルト値に戻っていました。 GitHub-32383
- バンドル製品を含む注文の注文詳細で、注文前に価格が変更された場合、バンドル製品の正しい価格が表示されるようになりました。
- バンドル製品の在庫ステータスが、子製品の在庫ステータスに基づいて更新されるようになりました。 以前は、バンドル製品が、製品から 1 つのオプションが削除され、バンドル製品に同じ SKU を持つ 2 つのオプションがあった場合に、在庫切れと表示されていました。
- 管理者は、バンドル製品の
Shipment Type
属性の値を、別の属性グループに移動した後で変更できるようになりました。 以前は、この属性が属性セット内のデフォルトグループ以外の属性グループに移動された場合、この属性は常にTogether
値で保存されていました。
- GraphQL
setGuestEmailOnCart
のミューテーションが、ゲストのメールを正しく更新するようになりました。 以前は、見積もりアドレス テーブルと見積もりアドレス テーブルは更新されていませんでした。
- REST API 呼び出しを使用して、バンドル製品に子製品を追加、削除または更新すると、期待どおりにインデックス再作成がトリガーされるようになりました。 以前は、これらのアクションでは、インデックス再作成がトリガーになっていませんでした。その結果、手動でインデックス再作成を実行するまで、バンドル製品のストックステータスは変更されませんでした。
- 階層価格を持つバンドル製品の正しい価格範囲がアプリケーションに表示されるようになりました。 GitHub-30284
- バンドルのオプションの価格が変更された後、アプリケーションの買い物かごページとチェックアウトワークフローの出荷手順で、期待どおりの合計価格が表示されるようになりました。
- 顧客の買い物かごからアクセスして、バンドル製品を正常に設定できるようになりました。 以前は、製品の設定ページが完全に読み込まれることはなく、設定を保存できませんでした。
- マーチャントは、マルチストアデプロイメントの各ストア表示で、バンドル製品に一意の価格を割り当てることができるようになりました。 Web サイト固有の価格は
catalog_product_bundle_selection_price
テーブルに保存されます。 以前は、アプリケーションは、Stores/Configuration/Catalog/Catalog/Price/Catalog Price Scope がWebsite
に設定されている場合でも、web サイトの範囲に基づいてバンドル製品の価格を決定していませんでした。catalog_product_bundle_selection_price
では、web サイト固有の価格は保存されませんでした。 GitHub-12584
- 動的価格設定 が無効になっている場合、バンドル製品の請求書に、関連するシンプルな製品の正しい数量が表示されるようになりました。 以前は、バンドル製品に関連付けられた単純な製品は、バンドル製品ではなく、親製品の数量を持っていました)。 GitHub-30802
updateProductsInWishlist
ミューテーションは、ウィッシュリスト内のバンドル製品に属する項目を正常に更新するようになりました。 以前は、このミューテーションは、ウィッシュリストの項目を更新する代わりに、項目を削除して新しい項目を作成し、項目 ID を変更していました。
POST /V1/product/:sku
エンドポイントを使用してバンドル製品を作成または更新する際に、required_options
とhas_options
のバンドル属性を期待どおりに設定できるようになりました。 以前は、1 に設定しようとしても、これらのカスタム アトリビュートは 0 (ゼロ)に設定されていました。
- 以前は見つからなかったバンドル製品データが、ステージングプロセスに含まれるようになりました。 これにより、買い物客が製品リストページからバンドル製品を購入した場合と、製品ページから直接追加した場合の製品の動作の不整合が解決されます。
キャッシュ
- 顧客ページのキャッシュを回避するように
varnish6.vcl
ファイルを更新しました。
CAPTCHA
- CAPTCHA は、買い物客から提供されたデータを正しく検証し、買い物客が PayPal Payflow Pro でのチェックアウトに何度も失敗した後、CAPTCHA フィールドが期待どおりに表示されるようになりました。
- CAPTCHA 検証が、チェックアウトワークフローの支払いページでランダムに失敗しなくなりました。
- 失敗した完了試行回数を超えると、アプリケーションに CAPTCHA フィールドが期待どおりに表示されるようになりました。 以前は、アプリケーションで CAPTCHA チャレンジを再度試みるように促されましたが、CAPTCHA フィールドは表示されませんでした。
- CAPTCHA がチェックアウトページで期待どおりに機能するようになりました。 以前は、買い物客が CAPTCHA チャレンジに正しく回答すると、チェックアウトページのローダーが完了せず、アプリケーションに「
captchaData[formId] is undefined
」というエラーが表示されていました。 (このエラーは、買い物客が、以前に 2.3.5-p1 を実行するデプロイメントにアクセスしたのと同じブラウザーを使用した場合にのみ発生しました)。
defaultCaptcha.js
ファイル_.isEmpty()
チェックインが正常に完了しました。 以前は、これらのチェックが完了しなかったため、アップグレード後にチェックアウトページを読み込むことができませんでした。 GitHub-31641
買い物かごとチェックアウト
- カート内の製品数量を変換および更新する際に、アプリケーションでロケール固有の小数点以下のロケーターが考慮されるようになりました。
- 注文の際に、指定した顧客名と配送先住所が省略されなくなりました。 以前は、
same_as_billing
フラグがデータベースに保存されなかったので、名前は省略されていました。
- 買い物かごで商品を編集した際に、ギフトレジストリへのリンクが期待どおりに保持されるようになりました。 以前は、「買い物かごを更新 ボタンをクリックすると、これらのリンクは表示されていませんでした。
- 消費者
quoteItemCleaner
のすべてのキューメッセージは、複数の製品を削除した後、ステータスが期待どおりにcomplete
に変更されるようになりました。 以前は、このコンシューマーの 1 つのメッセージのみがステータスをcomplete
に変更し、残りのメッセージはステータスをin progress
に変更していました。
- 買い物客が「注文を行う ボタンをクリックした場合にのみ、関連するブロックに利用条件の検証メッセージが表示されるようになりました。 以前は、買い物客がチェックアウトワークフローで支払い方法を変更するたびに、アプリケーションによって「割引コードを適用」ブロックにこのメッセージが表示されていました。
The order wasn't placed. First, agree to the terms and conditions, then try placing your order again
- スケジュール更新プレビューからバンドル製品を買い物かごに追加して買い物かごをクリックした後、期待どおりにチェックアウトページにリダイレクトされるようになりました。 GitHub-447
- 買い物客が「更新」ボタンをクリックせずに出荷手順に戻った場合、チェックアウト支払い手順で請求先住所フォームへの変更が破棄されるようになりました。
- 買い物客が無効な製品数量を追加し、「買い物かごを管理」ページの 項目と数量を更新 ボタンをクリックしても、アプリケーションに情報エラーメッセージが表示され、製品数量が更新されなくなりました。 以前は、アプリケーションによって製品数量がアップグレードされ、エラーメッセージが表示されていませんでした。 GitHub-459
- カスタマイズ可能なオプションを備えた製品に、複数出荷のチェックアウトプロセス全体で期待どおりにアクティブなリンクが含まれるよ
(File)
になりました。 以前は、このリンクはありませんでした。 GitHub-31095
- 管理者の買い物かごに、複数通貨をサポートするストアの正しい通貨で製品価格が表示されるようになりました。 以前は、価格は指定された通貨に複数回変換されていました。最初はストアフロントから買い物かごに製品が追加されたとき、次に注文が後で管理者にレンダリングされたときに変換されました。
- ストアフロントで買い物客によって作成された管理者からの注文を管理者が完了すると、アプリケーションは買い物かごを期待どおりに空にするようになりました。 以前は、管理者が注文を完了した後に顧客が再度ログインしても、ストアフロントのカートには注文の内容が含まれていました。 GitHub-30262
- 買い物客は、Minimum Advertised Price (MAP)が通常の製品価格を超える製品を買い物かごに追加できるようになりました。
- 買い物客は、複数の住所を使用してチェックアウトする際に、チェックアウトワークフローから請求先住所を正常に変更できるようになりました。
- ゲストが作成したすべての有料支払いトランザクションがデータベースに保存され、期待どおりに管理者に表示されるようになりました。 以前は、同時注文のごく一部のみがデータベースに保存され、データベースのロックによるタイムアウトが原因で、ほとんどの注文が失われていました。 GitHub-25862
- ゲストがミニ買い物かごに製品を入れたときに、特殊文字を含むインラインのようこそメッセージがアプリケーションで正しく表示されるようになりました。 以前は、アプリケーションは製品をミニカートに追加しなかったか、ウェルカムメッセージを表示しませんでした。 GitHub-32250
- ストア内配信が有効な場合、チェックアウトワークフローの出荷ページが正常に読み込まれるようになりました。 以前は、アプリケーションがJavaScript エラーをスローし、配送チェックアウトページが完全にレンダリングされませんでした。
- カタログ
di.xml
ファイルにitemResolvers
引数を追加しました。 その結果、設定可能な製品モジュールとグループ化された製品モジュールが無効になっている場合でも、チェックアウトが機能しなくなります。 GitHub-30860
- 管理者の再注文時のワークフローで、アプリケーションの 支払いと発送情報 セクションに、期待どおりにラジオボタンが表示されるようになりました。 GitHub-30257
- 複数のオプションを持つバンドル製品が買い物かごに含まれている場合、アプリケーションは、買い物かごレベルの固定割引を使用して、買い物かご価格ルールを正しく適用できるようになりました。 以前は、買い物かご価格ルールは注文に完全には適用されていませんでした。 GitHub-30952
- カテゴリリスト表示の 買い物かごに追加 ボタンが期待どおりに動作するようになりました。 GitHub-32232
- POST
/V1/carts/mine/items
を使用して、グループ化された商品のカスタム数量を買い物かごに追加できるようになりました。 GitHub-26909
- チェックアウトワークフローの請求先住所領域に出荷先住所が入力されなくなりました。 以前は、請求先住所の 都道府県 フィールドが空で、配送先住所と請求先住所が異なる場合、アプリケーションによって請求先住所 都道府県 フィールドに配送先住所の情報が入力されていました。 GitHub-31608
カタログ
- 数量増分を有効にする 属性と 数量増分 属性の一括更新が期待どおりに動作するようになりました。 GitHub-29544
- 数値のみの SKU を含む共有カタログを正常に複製できるようになりました。 以前は、
\Magento\Catalog\Model\ProductIdLocator
クラスが数値のみの SKU で正しく動作しなかったので、共有カタログを複製しようとするとアプリケーションでエラーが発生していました。
- 管理者との最近の製品同期を有効にすると、JavaScript エラーがスローされなくなりました。 以前は、アプリケーションに「JavaScript」エラー
Cannot read property 'status' of undefined
が表示されていました。
- カスタムテーマレイアウトの更新が期待どおりに適用されるようになりました。 以前は、カスタムテーマレイアウトの更新は無視されていました。
- 製品カテゴリのキャッシュが、実行時に
cron
で期待どおりにクリアされindexer_update_all_views
ようになりました。 以前は、インデックス再作成後のカテゴリページの製品数が正しく表示されていませんでした。
- ストア表示の製品の更新 REST API リクエストで属性が指定されていない場合、属性値が変更されなくなりました。 以前は、属性が指定されていない場合、アプリケーションは属性値をデフォルトのスコープ値にリセットしていました。
- 製品が SKU でフィルターされている場合に、管理製品グリッド(管理者 カタログ/製品)に正しい製品数が表示されるようになりました。
- カテゴリ権限が有効な場合、商品がCMSページに追加されるとアプリケーションに正確な在庫ステータスが表示され、指定された顧客グループの価格を表示できなくなりました。 以前は、実際の在庫状況に関係なく、すべての製品が在庫切れと表示されていました。
- 詳細価格設定顧客グループ価格ブロック価格入力フィールドの最小幅が 5 桁になりました。 以前は、低解像度ディスプレイではこのフィールドに 2 つの記号しか表示されていませんでした。
- 製品を削除した後、アプリケーションによって製品メディア画像が正常に削除されるようになりました。 以前は、製品の削除が成功した後、製品メディア画像はフォルダーに残っていました。
- 管理で製品を作成または編集してから、デザインの更新をスケジュールを作成すると、ページレイアウトが期待どおりに更新されるようになりました。 GitHub-32007
- 値が 0 のカスタム製品属性は、正常に空白として保存できるようになりました。 以前は、アプリケーションはこの値を空白に更新していませんでした。
- カスタムカテゴリレイアウトの更新ファイルが、期待どおりに製品に適用されるようになりました。 以前は、更新ファイルハンドル(
catalog_category_view_*
)が製品ハンドルと一致しませんでした。 GitHub-27285
- 管理製品リストの固定製品税(FPT)列の並べ替えが無効になっています。 以前は、FPT 列が並べ替えられた後は、製品ページを再読み込みできませんでした。
- 複数の Web サイトのデプロイメントで、一致する製品の価格が各 Web サイトで異なる場合、ページビルダー製品ウィジェットのプレビューが期待どおりに機能するようになりました。
- GET
/rest/V1/products/?searchCriteria[filterGroups]
を使用した商品検索で、位置で並べ替えると、期待どおりに動作するようになりました。 以前は、製品コレクションには並べ替え用のフィールドposition
値がありませんでした。 GitHub-31591
- 管理者ユーザーは、製品グリッドの「名前」フィールドと SKU フィールドに二重のスペースを表示できるようになりました。 以前は、アプリケーションは複数のスペースを 1 つのスペースに折りたたんでいました。
- 管理者の販売可能数量が 0 の場合、製品はストアフロントに在庫切れとして表示されるようになりました。 以前は、これらの製品はストアフロントに在庫としてリストされ、アプリケーションにはアクティブな 買い物かごに追加 ボタンが表示されていました。 GitHub-31117
- 管理者は、管理顧客ページの「買い物かご」セクション(顧客のアクティビティ列)から「注文された項目」グリッドに
(File)
するカスタマイズ可能なオプションを使用して、製品を追加できるようになりました。 以前は、\Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions
に挿入する前に値の形式が正しくなかったので、アプリケーションはリストに項目を追加しませんでした。
- 1 つのオプションのみを持つバンドル製品の場合、アプリケーションでは、製品オプションを選択するように買い物客に求めるプロンプトが表示されなくなりました。
- 新しいウィジェットの作成中に、レイアウトの更新(アンカーおよびアンカー以外のカテゴリ)にすべてのサブカテゴリが表示されるようになりました。
- 製品名が 1 つのストアビューのみに更新された場合に、マルチストアデプロイメントで
product
クエリが、すべてのストアビューのデフォルト値を上書きしなくなりました。 GitHub-31083
- Adobe Commerceは、管理関連商品、アップセルおよびクロスセルのリストのページあたりの値を変更した場合に、予想どおりに合計ページ数を更新します。 GitHub-31059
- 管理者は、SKU による注文に
(File)
じて 2 つ以上のカスタマイズ可能なオプションを持つ製品を追加できるようになりました。
- 権限が制限された管理者が管理者のCMS ページに Product ウィジェットを追加しても、アプリケーションがエラーをスローしなくなりました。 以前は、管理者が 保存 ボタンをクリックすると、アプリケーションがこのエラーをスローしていました:
We are sorry, an error has occurred while generating the content
。
- JavaScript カレンダーを使用 が有効な場合、商品詳細ページが開き、以前の注文の日付を使用して日付をカスタマイズ可能オプションが入力されるようになりました。 現在の設定に基づいて値がフォーマットされていない場合、カスタム日付オプション値リゾルバーは代替形式にフォールバックするようになりました。 以前は、カスタム日付オプションの値は空でした。
- 商品が在庫切れの場合、アプリケーションには買い物かごにエラーが 1 つだけ表示されるようになりました。 以前は、アプリケーションに冗長なメッセージが表示されていました。 GitHub-27469
- 管理者は、SKU による注文に
(File)
して、カスタマイズ可能なオプションを使用して製品を追加できるようになりました。 GitHub-30285
type_id
を指定せずに製品と価格を保存できるようになりました。 GitHub-13639
- 新しい子製品を新しいグループ製品に関連付けるために REST
PUT /V1/products/:sku/links
リクエストを使用する際に、グループ製品が期待どおりにストアフロントで使用できるようになりました。 以前は、bin/magento cron:run
の実行後に製品のインデックスが正しく作成されていませんでした。
NULL
しい SKU 値を持つ製品を作成できなくなりました。 以前は、カスタムインポーターを通じて、またはデータベース内で直接、SKU 値のない製品を作成できましたが、管理者から編集しようとすると、アプリケーションがエラーをスローしました。 GitHub-27411, GitHub-32525
- シンプルな製品に必要なカスタムオプションを追加しても、警告が表示されずに親の複合製品から削除されなくなりました。 アプリケーションに情報の警告が表示され、製品は保存されません。 以前は、アプリケーションは製品の変更を保存し、警告を表示していませんでした。 GitHub-30492
カタログルール
- カタログ価格ルールが品目に適用される場合、
products
クエリは現在の値を返すようになりました。 GitHub-26738
catalogrule_product__temp
で始まる一時テーブルは、買い物かごまたはカタログルールの有効期限が切れた後、無効になった後、または非アクティブになった後に再インデックスに失敗した場合、期待どおりに削除されるようになりました。 GitHub-22273
- タイムゾーンは、
\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById
と\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds
で同じ方法で適用されるようになりました。 GitHub-29549
CMS コンテンツ
- フロントエンドのサイズ変更を有効にする 設定が有効になっている場合、大きな画像はアップロード中に期待どおりにサイズ変更されるようになりました。
- CMS ページ保存コントローラーのエラー処理を修正しました。 以前は、
cms_page_prepare_save
イベントでError
オブジェクトがスローされると、この関数はException
を想定しているので、アプリケーションによってこのオブジェクトがaddExceptionMessage
関数に渡され、そのコントラクトが解除されていました。 この問題は、addErrorMessage
関数を使用してエラーメッセージを追加することで解決されました。 GitHub-30149
- CMSの「ページ階層を編集」タブで、新しいページを複数のノードに割り当てることができるようになりました。 以前は、ページをノードに割り当てようとしたときに、一意の制約違反が発生していました。 GitHub-363
設定可能な製品
- 製品の設定可能なオプションをクリックしても、製品の画像ギャラリーに製品のサムネールが重複しなくなりました。
- ウィッシュリストから設定可能な製品を編集しているときにアプリケーションに表示される設定ポップアップが、「OK」ボタンをクリックすると期待どおりに閉じられるようになりました。
- 構成可能な製品が 1 つしかない受注の請求書が正しく生成されるようになりました。 GitHub-31143
- 買い物客は、デフォルト以外のストア表示から設定可能な製品を買い物かごに追加できるようになりました。 以前は、デフォルト以外のストア表示の買い物客が設定可能な製品を追加しようとすると、アプリケーションに次のエラーが表示されていました。
Could not add item to cart. Please check required options and try again
GitHub-31660
コンテンツセキュリティポリシー(CSP)
- コンテンツセキュリティポリシーで、base64 エンコードされた画像とフォントの
data: scheme
を介した読み込みがサポートされるようになりました。
cron
- Cron のクリーンアップクエリがリファクタリングされて、保留状態のままのジョブの数、MySQL クエリの実行速度の低下、CPU 使用率の増加な
cron
のパフォーマンスの問題が削減または排除されました。 GitHub-26507
- 24 時間以上ステータス
running
になっているcronjobs
は、自動的にステータスerror
に変更されます。 その結果、そのジョブの新しいインスタンスが再び実行される可能性があり、ジョブが誤ってステータスrunning
に設定されたままになっている場合は、ジョブのステータスを手動で変更する必要はありません。 以前は、cronjob
ージがステータスrunning
で停止していると、アプリケーションで同じジョブの新しいインスタンスが開始できず、ジョブのステータスを手動で変更する必要がありました。 GitHub-8933
cron
ジョブが期待どおりに完了し、このシリアル化エラーがスローされなくなりました:[Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28')
。 GitHub-18409
indexer_update_all_views
cron ジョブは、前回のエラー後に期待どおりに実行されるようになりました。 失敗した実行はcron_schedule schedule
で失敗とマークされ、後続の実行は自動的には失敗しません。 以前は、cron_schedule
テーブルに保留中のジョブが表示され、cron ジョブindexer_update_all_views
実行されていませんでした。 GitHub-23054
- グループが重複する大規模なデプロイメントで
cron
がロックの設定を試みた結果、cron
のデッドロックが発生しなくなりました。 GitHub-8933
cron
ジョブを数回実行しただけで、cron_schedule
テーブルでcron
デッドロックが発生しなくなりました。 GitHub-22438
カスタム顧客属性
- ストアフロントの顧客アカウントのアドレス帳にある 状態 フィールドは、として読み込まれるようになり、ドロップダウンページ要素として残ります。 すべてのページ要素が完全に読み込まれるまで、「送信」ボタンは無効になります。 以前は、アプリケーションはこのフィールドをドロップダウン要素としてレンダリングする前にテキストボックスとして読み込んでおり、買い物客がテキストフィールドに値を入力して保存できましたが、後でチェックアウト中にエラーが発生していました。
- このアプリケーションでは、ストアフロントと管理者の両方の注文ページにカスタムの顧客アドレス属性が正しく表示されるようになりました。 以前は、ドロップダウン属性の選択したオプションがアドレス情報セクションになく、入力属性の値に属性コードが含まれていました。 GitHub-508
- ファイルのアップロード時に、「管理者の顧客アドレス」フィールドに添付ファイルを含む顧客アドレス属性を保存すると、アプリケーションがエラーをスローしなくなりました。 これは、コントローラ アクションに return ステートメントがないことが原因で発生しました。 以前は、アプリケーションは次のエラーをスローしていました:
Something went wrong while saving the file
。
- REST GETの買い物かご API 呼び出しで、請求先と配送先住所に対して正しいカスタム属性値を返すようになりました。 以前は、カスタムアドレス属性がマイアカウントのストアフロントページの注文詳細ページと管理者に正しく表示されていませんでした。
- アプリケーションは、入力タイプが
file (attachment)
の顧客アドレス属性を含むファイルを正常に処理するようになりました。 以前は、添付ファイルのアップロード中にアプリケーションが次のエラーをスローしていました:Something went wrong while saving the file
。
顧客
- ストアのクレジットメールは、選択した範囲を考慮し、正しいメールアドレスから送信されるようになりました。
- アカウント作成日によるフィルタリングで、設定されたタイムゾーン設定に従い、関連するすべての作成済みアカウントを取り込んだ結果が生成されるようになりました。
- データが以前にキャッシュされていた場合、顧客グリッドフィルターは、制限付きユーザーに対して正しい web サイトオプションを使用するようになりました。 以前は、顧客グリッドフィルターは、キャッシュから web サイトパラメーターを取得し、制限されたユーザーに対して正しくないデータを含めていました。
- 複数の web サイトのデプロイメントで 1 つの web サイトが削除されると、アプリケーションが管理者顧客ページで例外をスローしなくなりました。 以前は、管理者が包括的な顧客リストにアクセスしようとすると、アプリケーションに一部の顧客が表示されず、次のエラーが表示されていました。
The website with id 2 that was requested wasn't found. Verify the website and try again
- 権限を持つ管理者は、顧客の「アカウント情報」タブから様々な web サイトに顧客を再割り当てできるようになりました。
- 入力タイプが
(File)
の顧客アドレス属性を作成する際に、ファイルを正常にアップロードできるようになりました。 以前は、ファイルをアップロードして保存しようとすると、アプリケーションが次のエラーをスローしていました:Something went wrong while saving the file
。
顧客セグメント
- アプリケーションでは、ストアフロントの顧客セグメントに基づいて、関連する製品が期待どおりに表示されるようになりました。 以前は、特定の顧客セグメントに関連する製品ルールが作成された際に、アプリケーションにこのセクションが表示されていませんでした。
- 対応する顧客セグメントがゲストと登録済みの顧客の両方に適用される場合、動的ブロックが買い物かごに登録された顧客に表示されるようになりました。 以前は、アプリケーションはゲストの場合にのみブロックを表示していました。
- 顧客セグメントは、管理者から注文があると、自動的に更新されるようになりました。 以前は、管理者の注文を作成した後、管理者ユーザーは、関連する顧客セグメントに移動して「セグメントデータを更新」ボタンをクリックすることで、関連するセグメントデータを手動で更新する必要がありました。
- このアプリケーションでは、関連する顧客セグメント内のすべての顧客について、買い物かごに動的ブロックが表示されるようになりました。 以前は、ゲストセグメントにゲストと登録済み顧客の両方が含まれている場合でも、ゲストにブロックが表示されませんでした。
Product was Ordered
条件を使用する顧客のセグメント化ルールによって発生するデータベースパフォーマンスの問題が解決されました。
- REST/SOAP API 用のカスタマーセグメントイベントオブザーバーを追加しました。 その結果、REST/SOAP API を通じて注文が行われる際に、セグメントで定義された条件が一致した場合、お客様のセグメントが期待どおりに自動的に更新されるようになりました。
- GraphQL リクエスト用にカスタマーセグメントイベントプロセッサーが追加されました。 以前は、顧客セグメントを買い物かご価格ルールの条件で使用した場合、買い物かごに買い物かご価格ルールの割引が適用されていませんでした。 GitHub-371
ディレクトリ
- チェックアウトワークフローの配送セクション中に、買い物客が無効な郵便番号を入力しても、アプリケーションが例外をスローしなくなりました。 GitHub-23371
ダウンロード可能
- 注文にダウンロード可能な製品と、ダウンロード可能なオプションを備えた設定可能な製品の両方が含まれている場合、アプリケーションは新しい注文メールにダウンロード可能な製品へのリンクを表示するようになりました。 以前は、スタンドアロンのダウンロード可能な製品へのリンクが表示されていましたが、ダウンロード可能なオプションを備えた設定可能な製品へのリンクは表示されませんでした。
動的ブロック (以前のバナー)
- ダイナミック ブロックは、指定したページにのみ表示されるようになりました。 以前は、動的ブロックが指定されていない場合、アプリケーションは、ウィジェットに割り当てられたすべてのバナーをすべてのページに表示していました。
- 空のコンテンツを含むダイナミック ブロックを保存できるようになりました。
EAV
- 顧客の住所属性の日付値が、2 桁の形式ではなく 4 桁の形式で保存されるようになりました。
電子メール
- 管理者のパスワードリセットページのパスワードリセットリンクが期待どおりに動作するようになりました。 以前は、管理者パスワードのリセットページでカスタムテンプレートを使用した場合、管理者がメール内のリンク
Your password reset link has expired
をクリックすると、アプリケーションにこのメッセージが表示されていました。 これは、カスタムメールテンプレートにユーザー ID に対して間違った変数が含まれていたために発生しました。
- ストア表示レベルで有効になっている場合、管理者からの顧客 E メールの送信が正しく機能するようになりました。 以前は、メール通知設定がストアビューレベルで有効になっていても、グローバルレベルで有効になっていない場合、アプリケーションは顧客メールを送信しませんでした。
- 非同期のメール送信が有効になっている web サイトが少ないマルチサイトデプロイメントでも、アプリケーションは期待どおりにメールを送信するようになりました。 以前は、1 つ以上の web サイトでこの設定が無効になっている場合、有効になっていても、どの web サイトからもメールが送信されませんでした。 請求書、出荷、およびクレジット メモ E メールにも同様の問題がありました。 ただし、注文注釈、請求書注釈、出荷注釈、クレジットメモ注釈の各メールは正常に送信されました。 GitHub-31950
- 管理者からギフトレジストリを共有するときにアプリケーションが送信するメールメッセージに、レジストリの場所への有効なリンクが含まれるようになりました。 以前は、このリンクを取得すると 404 エラーが発生していました。 GitHub-504
- 請求書と請求書PDFに、バンドル製品の価格が期待どおりに含まれるようになりました。 以前は、請求書PDFにバンドル製品の誤った価格が含まれていました。 GitHub-12856
- 文字列キャストは、戻り値が
string
であることを確認するために、メールテンプレートフィルターメソッドに追加されました。 以前は、開発者モード以外で例外が発生した場合、アプリケーションはphrase
オブジェクトを返していました。 これが次に致命的なUncaught TypeError
を引き起こしました。 GitHub-32671
- マルチサイトデプロイメントの 1 つの web サイトで非同期送信が有効な場合(ストア/設定/営業/営業メール/一般設定/非同期送信)、注文確認メールが期待どおりに送信されるようになりました。 GitHub-31950
- お客様が「お問い合わせ」フォームからメールを送信しようとすると、例外が発生した場合、アプリケーションは期待どおりにエラーをログに記録するようになりました。 GitHub-23645
フレームワーク
- Admin 内の親クラスが、元のクラスおよび継承されたインタフェースとともに、docblock 注釈についてチェックされるようになりました。 以前は、親クラスがチェックされていなかったので、イベントをトリガーする顧客関連のアクションを管理で実行すると、エラーが発生していました。 アプリケーションは例外ログ
report.CRITICAL: Method's return type must be specified using @return annotation.
にこのエラーを記録しました。
- Redis ページキャッシュが有効なデプロイメントで Redis サーバーが停止した場合、アプリケーションが致命的なエラーをスローしなくなりました。
bin/magento config:set system/backup/functionality_enabled 1
でバックアップが有効な場合、アプリケーションは バックアップからメディアフォルダーを除外 設定に従うようになりました。 以前は、この設定にもかかわらず、/magento
へのパスが二重の//で正しく形成されていなかったので、メディアフォルダーがバックアップされていました。
- このアプリケーションは、管理者の買い物かごページで期待どおりに翻訳可能なすべての文字列を翻訳できるようになりました。 以前は、翻訳の読み込みに時間がかかり、コントローラアクションの事前ディスパッチをサブスクライブしたすべてのオブザーバーがスキップされていました。 GitHub-31849
- 顧客としてログイン 拡張機能の有効化設定が無効になっている場合、新しい顧客アカウントを作成ページのフォームの検証が正常に機能するようになりました。 以前は、アプリケーションがJavaScript エラーをスローしていました。
bin/magento setup:db-schema:split-sales
を使用したデータベーステーブルの移動が期待どおりに動作するようになりました。 テーブルが作成され、データが正しく入力されるようになりました。 以前は、テーブルの存在のチェックが正しくなかったので、bin/magento setup:db-schema:split-sales
を実行するとアプリケーションがエラーSQLSTATE
スローしていました。
ProcessManager
によってフォークされる子プロセスの例外処理が改善されました。 ここで例外が発生すると、メインプロセスが終了し、エラーメッセージが 1 回だけ表示されます。 以前は、複数のインデクサーの失敗がログに記録され、複数のメッセージが表示されていました。 GitHub-30622
- グローバル Adobe Commerce プラグイン(例:
webapi_rest
およびgraphql
)は、この領域ファイルのdi.xml
に登録済みのプラグインが含まれていない場合に、新しいカスタム領域タイプでトリガーされなくなりました。
- 初期化時に発生する例外はキャッシュされなくなり、500 応答コードがトリガーになります。
- マーチャントは、ストア表示によって、カタログイベントとの間で画像を割り当てたり、削除したりできるようになりました。 以前は、カタログイベントの編集中にストア表示を変更すると、「画像を削除」チェックボックスがアクティブにならず、アプリケーションに次のエラーが表示されていました。
Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick
GitHub-364
communication.xml
ファイルに最後に結合されたハンドラーが、以前に作成されたすべてのハンドラーを上書きしなくなりました。 GitHub-29528
一般的な修正点
- マイプロダクトレビューページとマイアカウントページの最近のレビューに、正しい数の星が表示されるようになりました。 以前は、アプリケーションは最初のレビューのみにレビューを適用し、ページ上の他のレビューを未開始のままにしました。
- ヘッダー内のアカウントリンクが WCAG 標準に従うようになりました。 以前は、ヘッダー内のアカウントリンクに重複した ID が含まれていたため、WCAG 検証が失敗していました。
- アプリケーションは、カタログイベントの日付を UTC タイムゾーンで保存するようになりました。 以前は、アプリケーションに保存されたカタログイベントの日付は、ユーザーのタイムゾーンでした。
- ゲスト買い物客が無効なアドレスを使用した場合に、アプリケーションがシステムログで生成されるエラーをスローしなくなりました。 以前は、アプリケーションは、ページをレンダリングする代わりに、次のエラーを断続的に表示していました:
No such entity with addressId
。 GitHub-15115
- サポートされていない形式の画像の場合、画像のサイズ変更処理が停止しなくなりました。 以前は、サポートされていない画像形式が
catalog:images:resize
に見つかると、プロセスが停止し、アプリケーションに次のエラーが表示されていました:bin/magento catalog:images:resize Unsupported image format
。
- ロゴ画像の WEBP および AVIF サポートが管理者に追加されました。 GitHub-32495
media_gallery
属性の範囲は変更できなくなりました。 以前は、media_gallery
属性の範囲をglobal
に戻すと、アプリケーションがエラーをスローしていました。
- スケジュールされた更新として追加された関連製品は、更新の終了日を過ぎるとストアフロントの製品ページに表示されなくなります。 GitHub-469
- マイアカウントギフトレジストリページで 項目を管理 をクリックすると、レジストリ製品が在庫切れになったときに、アプリケーションに正確で情報のあるメッセージが表示されるようになりました。 以前は、アプリケーションは次のエラーをスローしていました:
Error: Call to a member function getId() …
。 GitHub-490
- 新しいページを追加ページからCMS ページを、期待どおりに web サイトのルート階層に追加できるようになりました。
- エンティティタイプが選択されている場合、スケジュールされた書き出しのリストでフィルタリングが期待どおりに機能するようになりました。 以前は、フィルターが機能せず、アプリケーションがJavaScript エラーをスローしていました。 GitHub-361
- データベースストレージ方式を使用してカテゴリを保存する際、カテゴリイメージが
catalog/tmp/category
ディレクトリからcatalog/category
ディレクトリに期待どおりにコピーされるようになりました。media_storage_file_storage
テーブルのイメージ行にも正しいdirectory_id
が表示されるようになりました。 GitHub-11995
- マーチャントは、変更をCMS階層に送信した後、無効化されたキャッシュについて期待どおりに通知されるようになりました。 以前は、CMSの階層を保存する際に、キャッシュが無効になることはありませんでした。
- 買い物かごの「買い物かごへの冗長なAJAX リクエスト」セクションが削減されました。 以前は、アプリケーションが買い物かごの小計を適切に読み込まなかったので、買い物かごのリロードが再びトリガーされていました。
- 予約語が URL キーに含まれないようにするために、URL の検証を追加しました。 詳しくは よく知られた Uniform Resource Identifier (URI)の定義)を参照してください
- PHP 7.4 を実行するデプロイメントにおいて、「Generate "category/product" URL Rewrites」設定が No に設定され、買い物客が存在しないカテゴリパスにアクセスしようとすると、アプリケーションは 404 エラーを返すようになりました。 以前は、アプリケーションは次のような 500 エラーを返していました。
Trying to access array offset on value of type bool
GitHub-31984
- デザイン グループとスケジュール デザイン更新 グループが削除された属性セットを使用して作成された製品を正常に編集できるようになりました。 以前は、その属性セットから作成された製品を編集しようとすると、アプリケーションが致命的なエラーをスローしていました。 GitHub-44
nowdoc
さんはMagento_Backend
ストアスイッチャーでheredoc
さんと交替しました。 GitHub-32262
- 管理者は、ログイン後、リクエストされた管理者ページに直接リダイレクトされるようになりました。 以前は、管理者がログインすると、管理者ダッシュボード(または起動ページとして設定されたページ)にリダイレクトされ、手動で宛先に移動する必要がありました。 GitHub-31042
- アルゼンチン、ボリビア、チリ、エクアドル、ガイアナ、パラグアイ、ペルー、スリナム、ベネズエラの各地域を加
directory_country_region
。 GitHub-31169
directory_country_region
表にアルバニア,デンマーク,ギリシャ,アイスランド,ポルトガル,スウェーデンの各地域を加えた。 GitHub-31040
- 例外が発生した場合、メッセージは MysqlMQ メッセージキュー内でエラーとしてフラグ付けされるようになりました。 GitHub-18140
- 管理者クレジット・メモおよび請求書ページの税金情報をロードする際に、正しい区分オブジェクトが参照されるようになりました。 GitHub-31197
- Royal Mail のクリック&ドロップ統合が期待どおりに動作するようになりました。 以前は、統合をアクティブにしようとすると、アプリケーションがこのエラーをスローしていました。
Sorry! Something went wrong. Please try again later
。 GitHub-28996
- 間違った出荷、クレジット・メモまたは請求書 ID が URL で渡された場合に、アプリケーションに情報エラー・メッセージが表示されるようになりました。 以前は、アプリケーションは致命的なエラーをスローしました。 GitHub-30424
- 静的ファイルの場所の再帰は削除されました。 アプリケーションに、500 エラーではなく 404 ページが表示されるようになりました。 以前は、デフォルトの NGINX 設定のバグにより、無限再帰が発生していました。 GitHub-31530
cms_index_noroute.xml
ファイルの名前がcms_noroute_index.xml
に修正されました。 GitHub-31300
.editorconfig
ファイルは、db_schema_whitelist.json
ファイルの自動書式を修正するためにリファクタリングされました。 GitHub-31171
- ブラウザーウィンドウのサイズを変更しても、バインディング拡大鏡イベントが重複してトリガーされなくなりました。 GitHub-30788
user_id
でMagento\Users\Model\ResourceModel\Users\Collection
をフィルタリングする際に、アプリケーションが SQL 例外をスローしなくなりました。 GitHub-31216
ギフトカード
- ギフトカードがキャンセルされた場合、保留中の支払い料金が期待どおりにギフトカードから削除されるようになりました。 以前は、ギフトカードが削除された後にを実行
cron
ると、アプリケーションがエラーをスローしていました。
- 買い物客は、複数のアドレスでチェックアウトしている場合に、注文の確認ページで注文からギフトカードを削除できるようになりました。 以前は、買い物客がカードを選択して 削除 をクリックしても、アプリケーションによって注文からギフトカードが削除されることはありませんでした。
- ギフト カードを買い物かごに追加した後にギフト カードの値を変更すると、その新しい価格が買い物かごに表示されるようになりました。
- ギフトカード作成ページに価格範囲検証ロジックが追加されました。 以前は、管理者は、最大値を超える最小値を持つカードを作成できました。 GitHub-493
- リクエストに
allow_open_amount
の値が含まれていない場合、addRequisitionListItemsToCart
クエリは、カスタムギフトカードの金額を期待どおりに返すようになりました。
ギフトメッセージ
setGiftOptionsOnCart
のミューテーションによって、ギフトメッセージが正しく作成されるようになりました。 GitHub-388
ギフト レジストリ
- イベントの日付 値が、ギフトレジストリの作成または編集中に、ストアフロントと管理者で同じになりました。 以前は、ギフトレジストリを編集および保存するたびに、アプリケーションによって イベントの日付 がストアフロントと管理者の両方で 1 日遅れて調整されていました。 GitHub-466
- 無効になった商品は、ギフト登録画面に表示されなくなります。 以前は、ギフトレジストリに追加された後に製品が無効になった場合、買い物客がレジストリにアクセスすると、アプリケーションは次のメッセージを表示していました。
Error: Call to a member function getId() …
GitHub-510
ギフト包装
- ストアビューのギフトラップラベルの翻訳が期待どおりに機能するようになりました。
- 複数のアドレスに出荷される注文に対して、想定どおりにギフトラッピングが適用されるようになりました。
- すべての製品が削除されると、アプリケーションによって買い物かごからギフト包装料金が削除されるようになりました。
- クレジット・メモにギフト・ラップと構成可能な製品手数料が含まれている場合、クレジット・メモの合計が正しくなるようになりました。 以前は、ギフトラップ税額がクレジット・メモ合計に必ずしも含まれていませんでした。 GitHub-34
Google Analytics
- Google Analyticsが有効になっている場合に、管理者がストアフロントでページを読み込もうとしても、アプリケーションがエラーをスローしなくなりました。 AJAX リクエスト to www.google-analytics.comを許可するように
connect-src
の CSP エントリが追加されました。 GitHub-30880
Google Tag Manager
- Google Tag Manager が有効な場合、チェックアウトワークフローの支払いページの請求先住所の UI コンポーネントで見積先住所が正しく使用されるようになりました。 以前は、支払いページでJavaScript エラーが発生していました。
GraphQL
- GraphQL
products
クエリは、属性の編集ページで使用されるのと同じ並べ替え順で並べ替えられた属性オプションを返すようになりました。
{ category(id: 2){ children { name children { name } } } }
GraphQL リクエストへの応答に、正しく並べ替えられたカテゴリツリーが含まれるようになりました。
CartItemPrices
オブジェクトには、新しいGraphQL フィールドfixed_product_taxes
が含まれるようになりました。このフィールドは、買い物かごの商品に適用される固定商品税の配列を返します。 以前は、買い物かご項目に適用された固定製品税は、買い物かごクエリに含まれていませんでした。
- GraphQLへの空のリクエストで、応答コード 500 ではなく 200 がスローされるようになりました。 以前は、GraphQL パーサーは、クエリ結果が生成される前に例外をスローしていました。
applyRewardPointsToCart
のミューテーションは、買い物かごの総計を更新して、控除された報酬ポイントの値を正確に反映するようになりました。 GitHub-486
- GraphQLを使用してアップセル製品のリンクを作成した場合に、無効になった製品はGraphQLの応答に含まれなくなりました。
- マーチャントは、GraphQL
setShippingAddressesOnCart
メソッドを使用して、ゲストのチェックアウトが無効な場合に買い物客の買い物かごの請求先と配送先住所を設定できるようになりました。
CategoryTree
オブジェクトに複数のフラグメントが含まれる場合、categoryList
クエリで例外がスローされなくなりました。 GitHub-31086
- GraphQLの
product
クエリで、正しい顧客グループの価格が返されるようになりました。
- GraphQL
products
クエリ応答は、製品属性の位置に従って集計を並べ替えるようになりました。
- 商品およびカテゴリ URL のサフィックスに null 値が含まれる場合に、GraphQLのクエリ中にタイプエラーがスローされなくなりました。 GitHub-30909
CustomizableDateValue
オブジェクトにtype
属性が含まれるようになりました。 この値は、DATE、DATE_TIME、TIME のいずれかに設定できる列挙です。
dynamicBlocks
クエリは指定したフィルターに一致する動的ブロックのコンテンツを返します。
- POST
V1/products/special-price-delete
リクエストで、指定したstore_id
を持つ価格のみが期待どおりに削除されるようになりました。 以前は、この呼び出しにより、指定された SKU のすべての特別価格がすべての店舗から削除されていました。 GitHub-25907
createGiftRegistry
ミューテーションのcountry_code
属性に関するエラーを修正しました。
updateGiftRegistryItems
ミューテーションのgiftRegistryUid
属性に関する問題を修正しました。
- ランダムな人物を登録者としてギフトレジストリに追加するために、
updateGiftRegistryRegistrants
の突然変異が使用されるのを防ぐためのチェックを追加しました。
addConfigurableProductsToCart
ミューテーションは、指定した製品の正しいサムネールを返すようになりました。 以前は、親製品のサムネールが返されていました。
- 特別価格期間が将来の日付に設定されている場合、
products
クエリで製品の特別価格が表示されなくなりました。 GitHub-30210, GitHub-29631
customer
クエリ応答に、total_giftcard
属性がOrderTotal
オブジェクトの一部として含まれるようになりました。
- 階層価格が設定されていない品目の価格階層に関して、
products
クエリが誤った情報を返す問題を修正しました。 GitHub-32279
画像
- POST
/V1/product/:sku
エンドポイントを使用してバンドル製品を作成またはアップデートする際に、required_options と has_options バンドル属性を必要に応じて設定できるようになりました。 以前は、1 に設定しようとしても、これらのカスタム アトリビュートは 0 (ゼロ)に設定されていました。
インポート/エクスポート
- ページエンティティ属性の書き出しグリッドの製品エンティティのカテゴリ ID フィルターが、期待どおりに動作するようになりました。
- グループ化された製品の在庫ステータスが、すべての子製品が在庫切れになった場合に、在庫切れに対して期待どおりに更新されるようになりました。 GitHub-32647
- 読み込みによって子製品のストックステータスが更新される際に、設定可能な製品のストックステータスが期待どおりに自動的に更新されるようになりました。 以前は、子の製品のストックステータスが読み込みによって更新された場合、製品のストックステータスは自動的に更新されませんでした。
- スケジュールされた書き出しで空の値を保存できるようになりました。 以前は、書き出しの作成または保存後に、アプリケーションによって空のフィルター値が更新されていました。 データベースでは、
no
値とnot specified
値の両方が 0 で表され、not selected
値はno
で上書きされました。
- 製品、在庫ソース、顧客エンティティを書き出す際に、書き出しプロセスでユーザーロールの範囲が考慮されるようになりました。 以前は、エクスポートプロセスでユーザーロールのスコープが無視され、プライベートユーザーロールのエクスポートエンティティのエクスポートが許可されていました。
- 製品が
None
または0
の値でインポートされたかどうかをNone
すtax_class_name
製品税区分が設定されるようになりました。 以前は、CSV ファイルにproduct tax_class_name
がNone
まれている場合、アプリケーションによって新しい税金区分None
が作成され、既存の税金区分が複製されていました。 CSV ファイルにproduct tax_class_name
が0
まれている場合、アプリケーションはその値を無視し、読み込み後に製品税クラスが変更されませんでした。
- 管理者は、バンドル製品の
bundle_values
のname
を管理者から正常に変更できるようになりました。 以前は、管理者から名前を変更した後、アプリケーションによってストアフロントに製品が在庫切れとして表示されていました。 また、製品は同じ SKU を 1 つのバンドルオプションセクションに統合されました。
- 顧客データを書き出す際に、アプリケーションでユーザーの範囲が考慮されるようになりました。 以前は、顧客を書き出そうとすると、アプリケーションはすべての web サイトから顧客データを書き出していました。
- CSV ファイルで
__EMPTY__VALUE__
が指定されている場合、CSV ファイルの読み込み時に、アップセル、クロスセル、および関連製品間の製品関係が期待どおりに削除されるようになりました。
- 多くのお客様(管理者 システム/書き出し)のカスタムアドレスデータを書き出しても、定期的にメモリエラーが発生しなくなりました。 以前は、カスタムアドレスデータを書き出す際に、アプリケーションがすべての顧客データを読み込もうとすると、メモリが不足し、アプリケーションがメモリ割り当て失敗エラーをスローしていました。
- 重複した階層の価格は、デフォルトの CSV インポートプロセス中にインポートされなくなりました。 以前は、重複階層価格のインポートを防ぐための検証が欠落しており、重複階層価格が発生すると、マーチャントは製品を保存できませんでした。 マーチャントは、製品の変更をスケジュールしようとすると、このエラーも表示しました:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…
。
- すべての製品画像が読み込み時に検証されるようになりました。 以前は、製品に複数の画像がある場合、アプリケーションは最初の画像のみを検証していました。 GitHub-28236
- 読み込み時に、期待どおりに顧客の住所から地域を削除できるようになりました。 以前は、空のリージョンを持つ顧客の住所が読み込まれた場合、割り当てられたリージョンは変更されませんでした。
- 商品属性に JSON またはHTMLコンテンツが含まれる商品が CSV ファイルに正しく書き出されるようになりました。 以前は、CSV ファイルの誤ったフィールドに、重複したデータ文字列が含まれていました。
索引
- 子プロセスが失敗した場合、プロセスマネージャーがエラーで終了するようになりました。 以前は、プロセスマネージャーに渡される関数の数(インデクサーのディメンションなど)が
MAGE_INDEXER_THREADS_COUNT
環境変数の値より小さい場合、プロセスマネージャーは常に正常に終了していました。 GitHub-30964
- インデクサーモードが 保存時に更新 に設定されている場合、REST PUTを使用して
/V1/products/:sku/links
リクエストで商品をリンクした際に、ストアフロント検索結果で商品が期待どおりに使用できるようになりました。
- インデクサーモードが 保存時に更新 に設定されている場合、カタログ価格ルールインデクサーが期待どおりに動作するようになりました。 GitHub-370
- 製品を含まない無効なカテゴリを削除しても、カタログ検索およびカテゴリのフラットインデックステーブルには影響しなくなりました。 以前は、非アクティブなカテゴリを削除すると、完全な再インデックスがトリガーされていました。 GitHub-23297
- カスタムインデクサーで、サブスクリプションに異なるエンティティ列名を使用できるようになりました。 以前は、データベーストリガーは、指定されたインデクサーではなく、インデクサーの最後のセットの列名を スケジュールで更新 に使用していました。 GitHub-21853
- AJAXこのリクエストの影響を受けないカスタマーデータセクション(
Magento_Customer/js/section-config
)の再読み込みリクエストは送信されなくなりました。 GitHub-31948
- カテゴリ内の製品を追加、削除、または並べ替えた後、
catalog_category_product
およびcatalogsearch_fulltext
(およびその依存関係)のインデクサーが無効化されなくなりました。 以前は、このような不注意による削除によって、サイトの完全なインデックス再作成がトリガーされていました。 フラットカタログが有効になっていない場合、これらの条件下では、完全な再インデックスが実行されなくなりました。
インフラストラクチャ
- 依存関係
pelago/emogrifier
がバージョン 3.1.0 から 5.0.0 に更新されました。この更新の結果、Magento\Email\Model\Template\Filter
クラスに後方互換性のない変更が導入されました。 変更されたコードは、メールテンプレートのレンダリング中に実行されます。 BIC リファレンスを参照してください。
\Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds
で新製品を保存できない問題を修正しました。
- 非推奨(廃止予定)の TinyMCE v3 ライブラリが削除されました。 TinyMCE v3.x に関連する
Magento_Tinymce3Banner
モジュールおよび MFTF テストがAdobe Commerceから削除されました。
- フランス語の分音記号(「é」、「è」など)を含むメールアドレスを買い物客が入力すると、アプリケーションは「お問い合わせ」フォームで
Invalid header value detected
エラーをスローしなくなりました。 アプリケーションは、ユーザー名の UTF-8 文字を ASCII エンコーディングに変換するようになりました。 以前は、メールアドレスの一意のセクションで UTF-8 文字が ASCII エンコーディングに変換されていませんでした。
- プラグインが親クラスに追加されると、アプリケーションが PHP の致命的エラーをスローしなくなりました。 GitHub-31291
- これらのモジュール(
Magento_Msrp
、Magento_MsrpConfigurableProduct
、Magento_MsrpGroupedProduct
、Magento_Multishipping
、Magento_MysqlMq
)の README.md ファイルを更新しました。 GitHub-32577
phpcpd
は、PHP 8 の互換性を保つために v6.0.3 に更新されました。
ramsey/uuid
は、PHP 8.0 との互換性を保つために更新されました。GitHub-31777, GitHub-826
colinmollenhour/php-redis-session-abstract
は、PHP 8 の互換性を保つために v1.4.4 に更新されました。 GitHub-32709
phpstan.neon
ファイル内のタブとスペースの無効な組み合わせを修正しました。 GitHub-31239
- コードベース全体で廃止されたプロパティ
$_isScopePrivate
の使用を削除しました。 GitHub-30506
- ページレイアウトは、でハードコードされなくなりました
Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container
。 その結果、getPageLayouts()
関数は、異なるモジュールで宣言されたページレイアウトの実際のリストを期待どおりに返すようになりました。 以前は、ハードコーディングされたレイアウトのみが返されていました。 GitHub-31168
composer.lock
ファイルは、コーディング標準の最新バージョンに更新されました。 GitHub-31152
web-token/jwt-framework
パッケージに見つからない依存関係をmagento/module-jwt-framework-adapter
に追加しました。 GitHub-32578
- Lighthouse 指標のスコアを向上させるために、
fotorama.js
ライブラリにパッシブリスナーが追加されました。 GitHub-31140
- Google Analyticsモジュールの README.md ファイルが更新されました。 GitHub-32616
- Process Manager では、フォークされたプロセスで例外を適切に処理するようになりました。 メインプロセスが終了し、エラーメッセージが 1 回だけ表示されるようになりました。 また、フォークされたプロセスからの例外は、メインプロセスでスローされたときに処理されるようになりました。 以前は、アプリケーションは複数のインデクサーの失敗を記録し、複数のエラーメッセージを表示していました。 GitHub-30622
- プラグインが親クラスに追加されると、アプリケーションがエラーをスローしなくなりました。 (
optionsProvider
パラメーターは、Assest.php
でgetContentIdentities
を指定した後に宣言されるようになりました)。 以前は、アプリケーションは次のエラーをスローしていました:Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface
。 GitHub-31291
- 空のフォルダーに対して
Magento\Framework\Filesystem\Io\Ftp::ls()
を実行すると、期待どおりに空の配列が返されるようになりました。 以前は、アプリケーションは次の例外をスローしていました:Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…
。 GitHub-31288
- 役割とルールの両方の
update
メソッドは、app/code/Magento/Authorization/Model/Role.php
で非推奨としてマークされました。 GitHub-30756
- SameSite cookie パラメーターの連結が修正されました。 以前は、誤った連結によって、
value
、domain
およびその他のパラメーターにlex
サフィックスが追加されていました。 GitHub-26377, GitHub-32440
allure-framework/allure-phpunit
は、コードベース全体で v1.3.1 にアップグレードされています。 以前は、アプリケーションにこのエラーが表示されていました。Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74.
GitHub-24635
- 実稼動モードで
bin/magento
コマンドを実行しているときにエラーが発生した場合、アプリケーションにより詳細なエラーが表示されるようになりました。 以前は、アプリケーションにエラーメッセージが表示されなかったか、情報が欠落しているメッセージが表示されていました。 GitHub-32786
ArrayIterator
の PHP オブジェクトは、PHP 7.4 で期待どおりに動作するように更新されました。GitHub-32088
- 配送業者が利用できない場合に顧客が注文を完了しようとすると、アプリケーションがエラーをスローしなくなりました。 代わりに、チェックアウトページと「
Sorry, no quotes are available for this order at this time
」というメッセージが表示されます。 以前は、アプリケーションで空白のチェックアウトページが表示され、次のメッセージが例外ログに記録されていました。array_keys() expects parameter 1 to be array, null given
GitHub-30830
- アプリケーションは、各 Cookie を個別のコンテキストとしてログに記録しなくなりました。
$_COOKIE
配列も文字列に変換されています。 以前は、各 cookie が個別のコンテキストとしてログに記録されていたので、cookie の数が 50 を超えると、アプリケーションは次のメッセージを記録していました。Unable to send the cookie. Maximum number of cookies would be exceeded
GitHub-31334
請求書
- 管理者で新しい請求書を作成する際に、「のメールコピー」チェックボックスが期待どおりに動作するようになりました。 以前は、請求書メールを送信するグローバル設定が 販売メール で有効になっている場合、チェックボックスは無視されていました。 一貫性が保たれ、出荷ページやクレジットメモ作成ページと同じ方法で動作するようになりました。 GitHub-28511
メディアギャラリー
- XMP情報を持たない PNG 画像を処理する際に、
bin/magento media-gallery:sync
が期待どおりに失敗するようになりました。
- 関連する製品が削除されると、
catalog_product_entity_media_gallery
テーブルのエントリは期待どおりに削除されます。 GitHub-17727
- JavaScriptの縮小が有効になっている場合、Media Gallery で画像の詳細を更新できるようになりました。 以前は、画像の詳細が保存されず、アプリケーションに「
TypeError: Cannot read property 'call' of undefined in jquery.validate
」というエラーが表示されていました。 GitHub-31633
MFTF
新機能と MFTF コアバグ修正については、 機能テストフレームワークの変更ログを参照してください。
Bundle
、Catalog
、CatalogRule
、CatalogRuleConfigurable
、CatalogUrlRewrite
、Downloadable
、Indexer
、Paypal
、およびSales
のモジュールの実行を改善するため、magento indexer:reindex
およびcache:flush
コマンドとAdminReindexAndFlushCache
アクション グループがテストから削除されました。 GitHub-31031
- テストの失敗を防ぐために、テストに
AdminSubmitCategoriesPopupActionGroup
が追加されました。 GitHub-31251
- テストは、
StorefrontCheckQuickSearchStringActionGroup
およびStorefrontAssertProductNameOnProductMainPageActionGroup
(既存のアクショングループ)でリファクタリングされています。 GitHub-31251
リファクタリングされたテスト
実行時間を改善するために、次のテストがリファクタリングされました。
AddOutOfStockProductToCompareListTest
AdminApplyTierPriceToProductWithPercentageDiscountTest
AdminCheckingCreditMemoTotalsTest
AdminCheckDashboardWithChartsTest
AdminConfigDefaultProductLayoutFromConfigurationSettingTest
AdminCreateInvoiceTest
AdminCreateOrderAddProductCheckboxTest
AdminMassOrdersCancelCompleteAndClosedTest
AdminMassOrdersCancelProcessingAndClosedTest
AdminMassOrdersHoldOnCompleteTest
AdminMassOrdersHoldOnPendingAndProcessingTest
(非推奨(廃止予定)の AdminMassOrdersHoldOnPendingAndProcessingTest
の置き換え)
AdminMassOrdersUpdateCancelPendingOrderTest
AdminMassProductPriceUpdateTest
AdminMassUpdateProductAttributesMissingRequiredFieldTest
AdminOrdersReleaseInUnholdStatusTest
AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest
AdminSortingByWebsitesTest
AdminUpdateSimpleProduct
AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest
AdminValidateShippingTrackingNumberTest
CancelOrdersInOrderSalesReportTest
ProductsQtyReturnAfterOrderCancelTest
StorefrontConfigurableProductBasicInfoTest
アクショングループ
これらのテストでは、繰り返しアクションがアクショングループに置き換えられました。
AdminCheckConfigurableProductPriceWithDisabledChildProductTest
AdminConfigurableProductCreateTest
AdminConfigurableProductRemoveAnOptionTest
AdminCreateProductDuplicateUrlkeyTest
AdminCreateSimpleProductNegativePriceTest
AdminCreateSimpleProductZeroPriceTest
AdminCreateVirtualProductFillingRequiredFieldsOnlyTest
AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest
AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest
AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest
新規アクショングループ
AdminClearFiltersOnGridActionGroup
AdminClickAddNewPageOnPagesGridActionGroup
AdminClickInsertWidgetActionGroup
AdminClickRefundOfflineOnNewMemoPageActionGroup
AdminFillAccountInformationOnCreateOrderPageActionGroup
AdminGoToOrderStatusPageActionGroup
AdminOpenCMSPagesGridActionGroup
AdminSelectAttributeSetOnEditProductPageActionGroup
AssertAdminProductIsAssignedToCategoryActionGroup
(テスト実行時間を短縮するために、SKU による Products Grid のフィルタリングと最初の行のクリックを置き換えます)
AssertLinkActionGroup
AssertStorefrontCartDiscountActionGroup
ClickPlaceOrderActionGroup
SaveCmsPageActionGroup
StorefrontAssertProductNameIsNotOnProductMainPageActionGroup
StorefrontGuestCheckoutProceedToPaymentStepActionGroup
StorefrontHoverProductOnCategoryPageActionGroup
StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup
削除されたアクショングループ
Backend
、Bundle
、BundleImportExport
、Catalog
、CatalogRule
、CatalogSearch
、Checkout
、Downloadable
、Elasticsearch
、Elasticsearch6
、Indexer
、LayeredNavigation
、LoginAsCustomer
、Newsletter
、Sales
、SalesRule
、Search
、UrlRewrite
、Store
、Swatches
、Weee
Wishlist
、および modules の実行時間を短縮するため、テストからCliIndexerReindexActionGroup
を削除(または値を変更)しました。
Catalog
、CatalogUrlRewrite
、Checkout
、Config
、ConfigurableProduct
、Contact
、Cookie
、CurrencySymbol
、Customer
、Downloadable
、Elasticsearch
、Elasticsearch6
、Fedex
、Indexer
、Swatches
、LayeredNavigation
、LoginAsCustomer
、Msrp
、Multishipping
、Sales
、Translation
UrlRewrite
Vault
Weee
Wishlist
、およびモジュールからCliCacheFlushActionGroup
を削除しました。
ニュースレター
- ニュースレターのキューの作成から送信までの間にニュースレターの購読を解除した顧客に、アプリケーションがニュースレターメールを送信しなくなりました。 GitHub-32116
- アプリケーションは、ニュースレター有効化の設定(ストア/設定/設定/顧客/ニュースレター/一般オプション)に従うようになりました。 以前は、これらの設定は常にマルチストアデプロイメントのデフォルトスコープから取得されていました。 GitHub-31188
- 複数のニュースレターを購読してい
/V1/customers/search
お客様に対して、REST 呼び出しGETが正しい情報を返すようになりました。 GitHub-31168
- 購読ステータスのキャッシュがニュースレタープラグインから削除されました。 GitHub-19345
順序
- 部分的に請求された注文について、ストアクレジットを顧客アカウントに返す際に、アプリケーションで請求済み顧客残高が正しく計算されるようになりました。
- アプリケーションは、払い戻された顧客残高を保存する際に、変更された注文を期待どおりに保存するようになりました。 GitHub-393
支払い方法
- アプリケーションは、メールが送信された領域に関係なく、
frontend
で支払いブロックをレンダリングするようになりました。 (支払いブロックがレンダリングされる前に、現在の領域がfrontend
としてエミュレートされるようになりました。) 以前は、支払いブロックはメールが送信されたエリアでレンダリングされていました。 その結果、販売メールが管理者からトリガーされたか、REST API によってトリガーされたかに関わらず、アセットの URL は間違った領域(webapi_rest
またはadminhtml
)から読み込もうとしました。
- ダウンロード可能な製品のリンクが、チェックアウト時に指定したメールアドレスに送信されるようになりました。 以前は、ゲストの買い物客が PayPal Express Checkout を使用し、異なるメールアドレスを入力して注文を送信し、チェックアウトすると、アプリケーションはダウンロード可能な製品リンクを最初のアドレスに送信していました。
- 複数通貨をサポートするデプロイメントの支払方法ページに、使用可能なストアクレジットの正確な値が表示されるようになりました。
- お支払い方法リストは、ゲストの買い物客がチェックアウト中に注文の配送先住所を別の国に変更した場合に、期待どおりに更新されるようになりました。 以前は、請求先住所を変更しても、使用可能な支払い方法の更新はトリガーされていませんでした。
PayPal
- 買い物客は、特殊文字を含む配送先住所を持つ PayPal Payflow Pro 注文を正常にチェックアウトできるようになりました。 以前は、アプリケーションはこれらの注文の支払いを拒否しました。
- PayPal を使用して支払いが成功した後、買い物客は注文成功ページにリダイレクトされるようになりました。 以前は、セッションデータが失われたことが原因で、買い物客は空白のページにリダイレクトされていました。
パフォーマンス
- 大規模なカタログでの管理者 SKU 検索のパフォーマンスが向上しました。 クエリオプティマイザーヒントで、クエリ実行中にインデックスが強制的に使用されるようになりました。
- 大きなテーブル(数百万行)で実行する場合の
catalog_product_alert
cron
プロセスのパフォーマンスが向上しました。 以前は、catalog_product_alert
はすべての製品アラートを読み込んでおり、メモリ不足の例外が発生していました。
- 管理フォームをレンダリングする編集ページが 1 つだけである必要がある場合に、アプリケーションがすべてのCMS ページを読み込むことがなくなりました。 これらのページの読み込みが高速化されました。 GitHub-30936
-
WHERE IN
式の数値は、文字列ではなく数値としてキャストされるようになりました。これにより、MariaDB の一部のバージョンでクエリのパフォーマンスが向上します。 GitHub-31135 -
use_application_lock
モードでは、環境変数を使用するか、app/etc/env.php
ファイルを設定して、インデックスを再作成できます。 このモードを有効にしてエラーが発生した後に、インデクサーを手動でリセットする必要がなくなりました。 このモードが有効になっていない場合、失敗後にインデクサーを手動でリセットする必要があります。 再インデックスプロセスに対するアプリケーションロックモードの使用を参照してください。
Pricing
- 買い物客がストアフロントの製品数量を更新する際に、アプリケーションが製品の価格をグループ化された価格で正しく更新するようになりました。 GitHub-32669
- 製品に階層価格が割り当てられ、製品データの変換に使用される場合に、バンドル製品
Magento\Framework\Api\ExtensibleDataObjectConverter
保存できるようになりました。 以前は、製品が保存されたときにMagento\Framework\Api\ExtensibleDataObjectConverter
を使用して製品データを配列に変換すると、アプリケーションで製品が保存されず、次のエラーが表示されていました。Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
- スケジュールされた価格の更新が、買い物客の買い物かごに既に入っている製品に適用されるようになりました。 GitHub-356
- 数量増分が有効で、小数点以下の在庫が 1 未満の場合、階層価格が期待どおりに製品に適用されるようになりました。 以前は、最小の階層価格数量は 1 に設定されていました。
製品ビデオ
- 「ビデオを追加」ボタン(管理者 カタログ/製品)を使用して、複数のビデオを連続して追加できるようになりました。 以前は、ビデオフィールドには以前のビデオの詳細が保持されていました。
- 製品ページで製品ビデオのフルスクリーンモードに切り替えても、モバイルデバイスで期待どおりに動作するようになりました。 以前は、フルスクリーンモードに入ると、フルスクリーンモードを終了する前にビデオが一時停止していました。
- ナビゲーション矢印ボタン(「次へ」および 前へ)が、ストアフロントの製品ビデオで期待どおりに表示されるようになりました。
- マーチャントは、製品ページの ビデオを挿入 ボタンを使用して、期待どおりに Vimeo ビデオを追加できるようになりました。 以前は、アプリケーションで 404 エラーが表示されていました。 GitHub-31753
見積もり
/V1/guest-carts/examplecartid/items
呼び出しで、リクエストされたストア表示が返されるようになりました。 以前は、リクエストされたストアではなく、ストア内の最初のストア表示が返されていました。
- 請求書の送信が設定できるようになりました。 以前は、請求書の送信は設定できず、アプリケーションは常に作成後に請求書を送信していました。 請求書と注文のメールは、両方とも 1 人の監視者の範囲で送信されました。 注文メールと請求書メールの送信を別々のオブザーバーが管理するようになりました。 GitHub-27656
レポート
- すべてのシステムレポートは、クラウドインフラストラクチャプロジェクトのAdobe Commerceで表示およびダウンロードできるようになりました。 以前は、ログ、データ、デザイン、ストアのシステムレポートをダウンロードすることはできませんでした。
- 管理者 レポート/レビュー/製品別 の最終レビュー日に正しいレビュー日が表示されるようになりました。 以前は、アプリケーションにはレビュー日ではなく製品作成日が表示されていました。
返品承認(RMA)
- 属性フィールドの値
required
が no に設定されている場合、RMAresolution
属性は必要に応じて表示されなくなります。
- 管理者からの返品用に複数の注文を選択できるようになりました。 以前は、複数の返品を選択し、「アクション」ドロップダウンメニューから「クローズ」を選択した後に「送信」をクリックすると、アプリケーションがエラーをスローしていました。
- REST API を使用して返品のステータスを変更した後、アプリケーションは、期待どおりにメール通知を顧客に送信するようになりました。
- アプリケーションは、管理顧客の返品グリッドのフィルター値に従ってレコードをフィルタリングするようになりました。 以前は、アプリケーションから「すべての顧客の管理者」ページが表示され、「フィルターをリセット」ボタンをクリックすると、このページにもリダイレクトされていました。 GitHub-436
レビュー
- 製品レビューの評価の星が、マイアカウント ページのレビューの詳細セクションで正しく計算されるようになりました。
- 製品レビューの詳細ページの「製品の平均評価」セクションと「製品の評価」セクションが正しくレンダリングされるようになりました。 以前は、アプリケーションがストアフロント評価を計算する際にレビュー ID が設定されておらず、製品レビューテンプレートが正しくレンダリングされていませんでした。
- この製品を最初にレビューする リンクは、管理者がレビューを承認した後、期待どおりにレビュー数に変更されるようになりました。
- 管理者は、製品の編集ページの「製品レビュー」セクションで、製品レビューを期待どおりに並べ替えることができるようになりました。 GitHub-30270
- 管理者がストアとは別のドメインからレビューを承認して保存した後、レビューは正しいストア ID で保存されるようになりました。 GitHub-17510
報酬
- マーチャントは、注文した顧客がシステムから削除された後、報酬ポイントを使用して、注文の全部または一部をキャンセルできるようになりました。
- マーチャントは、買い物かごの価格ルールから報酬ポイントを削除できるようになりました。 以前は、マーチャントが買い物かごの価格ルールを作成する際に 報酬ポイント を 0 に設定しようとすると、報酬ポイント数量の以前の値が保持されていました。
- 管理 マーケティング/レビュー待ち グリッドから複数のレビューが承認された場合、製品レビューの報酬ポイントが関連する web サイトに関連付けられるようになりました。 以前は、報酬ポイントがストアフロントに表示されず、管理者の関連 web サイトにリンクされていませんでした。
- 複数のアドレスでチェックアウトしている買い物客が「ストアクレジット(報酬ポイント)」オプションをチェックまたはチェック解除すると、アプリケーションは支払い方法リストを更新するようになりました。
売上
- 管理者ユーザーは、バックオーダーを許可する 設定が有効になっている場合(店舗/設定/カタログ/在庫/製品在庫オプション)に、在庫切れ品目を注文できるようになりました。 以前は、アプリケーションがエラーをスローしました。
- 買い物客は、姓が空白で終わる場合に、「注文と返品」ページで注文を見つけられるようになりました。
- カタログ商品および割引税の対象となり、送料無料の対象となる注文に 100% の割引を割り当てる買い物かご価格ルールが適用されると、請求書は正しい総計で作成されるようになりました。 以前は、注文に正しい価格がありましたが、請求書にはありませんでした。 GitHub-30853
- 日付で注文をフィルタリングすると、正確な結果が返されるようになりました。 以前は、注文日で注文をフィルタリングした場合に、00:00 UTC 以降に注文された注文がアプリケーションから返されませんでした。
- 複数ストアのデプロイメントで、Price 属性に Website スコープが使用される場合、クレジットメモグリッドに正しい通貨記号が表示されるようになりました。
- 管理者の新規注文を作成ページが再読み込みされた後、チェックアウトワークフローの「支払いと配送情報」セクションに、支払い方法のラジオボタンが表示されなくなりました。 GitHub-32106
- アラビア語のテキストが請求書に正しく表示されるようになりました。
- PayPal Payment Pro を支払いゲートウェイとして導入する店舗の注文または請求書に基づくクレジット・メモについて、クレジット・メモ税金の一部の合計が正しく計算されるようになりました。 以前は、複数の請求書を含む受注の場合、クレジット・メモの部分請求書取消に対して、その受注の税金全体が適用されていました。
- 新しい注文メールを顧客に送信する際に、アプリケーションがランダムなデータベースのデッドロックを作成しなくなりました。 以前は、デッドロックは、アプリケーションが更新された SQL 列ではなく、オブジェクト全体とその関連オブジェクトを保存したために発生していました。 アプリケーションに次のエラーが表示されました:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
。 GitHub-31090
- ストアフロントの注文詳細ページに、正しい出荷済製品数量が表示されるようになりました。 以前は、Order Shipment ページのテンプレートが
int
として Qty Shipped 表示されていたため、製品数量が不正確でした。 これがfloat
に変更されました。
- 「請求書のコピーを E メールで送信 ボタンがオフの場合、アプリケーションはオーダー請求書のコピーを E メールで送信 なくなります。 以前は、アプリケーションはメールを 顧客 および 請求書メールのコピーを送信 に送信していました。 GitHub-28511
- 既存の顧客に対して管理者から新しい注文を作成する際に、顧客アカウントの重複する住所エントリがアプリケーションで作成されなくなりました。 アドレス帳に保存 チェックボックスは、名前が アドレス帳に追加 に変更され、デフォルトで管理者ではオフになっています。
- 買い物客が自分のアカウントから注文を印刷する際に、アプリで HTML印刷表示用ロゴ 設定にアップロードされたロゴを使用するようになりました。 以前は、アプリケーションは、アップロードされたロゴの代わりに LUMA ロゴを表示していました。
- アイテム数が 20 を超えた場合、ストアフロントの注文項目のページャーが期待どおりに機能するようになりました。 以前は、ポケットベルは子製品を考慮に入れていましたが、合計数が正しくありませんでした。
- 受注ページおよびクレジット・メモ・ページのグリッドに、小計、出荷および処理値の正しい通貨記号が表示されるようになりました。 GitHub-22662
- Safari を使用する管理者は、管理者から注文に製品を正常に追加できるようになりました。 以前は、管理者が「選択した製品を注文に追加」ボタンをクリックすると、アプリケーションに回転読み込みアイコンが表示され、ページがハングしていました。 GitHub-30265
販売ルール
- 複数の買い物かご価格ルールが買い物かごに適用される場合、アプリケーションでは 最大数量割引が適用される または 割引数量ステップ(購入 X) 条件を持つ買い物かご価格ルールが正しく適用されるようになりました。 以前は、別の買い物かご価格ルールの後に、最大数量割引が適用される または 割引数量ステップ(購入 X) が適用された買い物かご価格ルールが適用された場合、合計割引額は、最大数量割引が適用される または 割引数量ステップ(購入 X) に製品価格を乗算した値に減額されていました。
- クーポンレポートに、分割データベースが実装されているデプロイメントのクーポンアクティビティが正確に反映されるようになりました。
- 条件カテゴリ IS NOT を含む買い物かご価格ルールが、カテゴリに割り当てられていないが、親製品が割り当てられている、設定可能な子/単純製品に、期待どおりに適用されるようになりました。
- GraphQL
cart
クエリは、クーポンが注文に適用された際に、買い物かごの請求手順に対する正しい総計を返すようになりました。
検索 search-heading
- カテゴリページに、
modes-label
、mode-list
、toolbar-amount
、sorter
、limiter
などの重複したHTML要素 ID が含まれなくなりました。
- 単語の部分検索結果に、予期しない一致や無関係な一致が含まれなくなり、検索でストアフロントと管理者の両方で一貫した結果が得られるようになりました。 部分単語検索では、ステマーを使用せずに別のアナライザーを使用するようになりました。 以前は、検索結果に検索キーワードが含まれない製品が表示されていました。 (デフォルトのアナライザーには、以前はステマーが含まれており、部分単語検索の検索時に同じアナライザーが使用されたので、検索結果は予期しない一致や無関係な一致を生み出す可能性があります)。
- クイック検索では、検索クエリに複数の単語が含まれ、製品名が検索不可に設定されている場合、結果を返すようになりました。 以前は、製品名が検索不可に設定されている場合、アプリケーションは、複数の単語を含む検索クエリでクエリ例外をスローしていました。
- 検索可能として設定されている場合、検索結果に期待どおりに
weight
属性が含まれるようになりました。
- Elasticsearchが有効になっている空のカテゴリページを表示しても、エラーがスローされなくなりました。 代わりに、ページを期待どおりにレンダリングし、情報メッセージを表示します。 以前は、空のフルテキストインデックスでカテゴリページの例外がトリガーされていました。
- 検索フィールドのオートコンプリート機能が、買い物客が検索を開始した後に検索フィールドの外側をクリックした場合でも、期待どおりに動作するようになりました。 買い物客が入力を再開すると、オートコンプリートの候補が再び表示されるようになりました。 以前は、アプリケーションでオートコンプリート候補が表示されず、検索ボックスをクリックしても検索候補が再び表示されませんでした(ただし、他の文字を入力すると表示されていました)。
- 詳細検索で、全体または一部の SKU に基づいて製品を検索すると、予期した製品が返されるようになりました。
- 階層化されたナビゲーションフィルターで、正確な製品数が表示されるようになりました。 以前は、Elasticsearchの製品数の値がカタログ権限でフィルタリングされていませんでした。
- カテゴリ URL ページパラメーターがページネーションを超えても、Elasticsearchがエラーをスローしなくなりました。 GitHub-23843
Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver
にカスタムElasticsearchフィールドマッパーを追加できるようになりました。 GitHub-24350
- 開発者は、Elasticsearchマッピングを変更できるようになりました。 以前は、デフォルトのマッピングでElasticsearchサーバーに送信される動的テンプレートがハードコードされていたため、開発者は、カスタムモジュールに関連付けられた追加のデータをElasticsearchしてインデックスを作成できませんでした。 GitHub-24363
- 検索候補が無効な場合、検索フィールド(フォームミニサーチ)が期待どおりに機能するようになりました。 GitHub-30584
送料
- 複数のアドレスを使用したチェックアウト中に商品を削除した後、買い物客が買い物かごページに戻ると、アプリケーションは配送価格を期待どおりに更新するようになりました。
- カート内の一部の商品が送料無料の対象となる場合、アプリケーションに正しい調整済みの送料が表示されるようになりました。 以前は、カート内の商品のサブセットが送料無料の対象として認定された場合、アプリケーションは送料を調整せず、買い物客に全額送料を表示していました。
- 特定の web サイトに制限されている管理者が、同じ web サイトで注文の出荷を作成できるようになりました。 以前は、デフォルトのストア表示に対する権限を持たない管理者が、管理者がアクセス権を持つストア表示に配置された注文を出荷しようとした場合に、アプリケーションがこの例外をスローしていました。
Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293
- 注文が DHL 無料配送の条件を満たしているかどうかを判断する際に、関連する買い物かご価格ルールの割引が考慮されるようになりました。
- 非基本通貨で注文を行う場合、複数通貨をサポートしているストアでは、配送ラベルが注文通貨ではなく基本通貨を想定どおりに使用するようになりました。 GitHub-31891
- 複数出荷ページから移動した後、買い物客がチェックアウト中に買い物かごページに戻ると、アプリケーションに正しい注文の小計が表示されるようになりました。 GitHub-31889
- 管理者による注文作成時に請求情報を編集しても、デフォルトの配送先住所と請求先住所が異なる顧客の配送先情報は変更されなくなりました。 GitHub-31786
- 買い物客が 配送方法と料金を取得 をクリックしても、アプリケーションは「コメントを追加 」チェックボックスをオフにせず、管理者から注文を作成する際に配送方法を選択する うになりました。 GitHub-30256
- 買い物客は、「戻る」ブラウザーボタンを使用して、複数の住所を持つ注文をチェックアウトするときに、「発送方法を選択」ページに戻ることができるようになりました。 以前は、アプリケーションに破損した「出荷方法の選択」ページが表示されていました。 GitHub-30268
- 買い物客が複数の住所に出荷ページで数量を変更し、ブラウザーの「戻る」ボタンをクリックした後も、製品数が期待どおりに変更されないようになりました。 GitHub-31956
- チェックアウト時に買い物かごの価格ルールが適用された場合に、定額配送方法の料金がゼロにならなくなりました。 GitHub-21832
- 配送ラベルを作成 チェックボックスが有効になっており、製品名に Unicode 文字が含まれている場合、マーチャントが DHL を使用して注文を配送しようとすると、アプリケーションがエラーをスローしなくなりました。 以前は、ラベルの作成をリクエストする際に、アプリケーションで「
The response is in wrong format
」というエラーが表示されていました。 GitHub-31032
- ある Web サイトで
United States
が有効になっており、別の Web サイトのデフォルトの範囲としてDisable all countries
が有効になっているマルチサイトデプロイメントで、管理者からの注文を正常に行うことができます。 以前は、アプリケーションは注文を行わず、次のエラーを表示していました:Please check the shipping address information. "regionId" is required. Enter and try again
。 GitHub-30577
ステージング
- Fastly を実装するデプロイメントで、スケジュール機能が期待どおりに動作するようになりました。 以前は、Fastly キャッシュタグが無効化されず、Fastly が古いコンテンツを引き続き提供するので、アプリケーションはブロックコンテンツを更新しませんでした。
- 複数の web サイトストア表示に割り当てられると、買い物かご価格ルールのステージングプレビューが適切な web サイトに読み込まれるようになりました。 以前は、割り当てられた web サイトに関係なく、デフォルトのストア表示に買い物かご価格ルールのステージングプレビューが読み込まれていました。
- デフォルト以外のストア表示の製品の特別価格は、予定されている更新が終了した後、期待どおりにデフォルト値に設定されるようになりました。
- マーチャントは、終了日を指定して将来のステージングアップデートを作成した後、ダウンロード可能な製品ページから、リンクされたサンプルを含むダウンロード可能な製品を正常に保存できるようになりました。 以前は、アプリケーションは製品を保存せず、次のメッセージを表示していました:
The downloadable sample isn't related to the product. Verify the link and try again
。 GitHub-488
- カテゴリのスケジュール更新のプレビュー時に、すべての製品 ID を含む大きなデータベースクエリがアプリケーションで実行されなくなりました。 代わりに、カテゴリフィルターが製品コレクションに適用されて、カテゴリのステージングプレビュー用の一時テーブルが作成されます。 以前は、アプリケーションによってすべての製品がステージングプレビュー用の一時テーブルに挿入されたため、パフォーマンスが低下していました。
Magento_SalesRuleStaging
モジュールでは、2.3.x からのアップグレード中にエラーがトリガーされなくなりました。
- スケジュールの更新を表示すると、カタログ・ルール条件が正しいデータで表示されるようになりました。 以前は、条件を使用して作成されたスケジュールの更新を表示した場合、条件が表示されなかったか、条件に誤ったデータが表示されていました。
- スケジュールされた更新を更新する前にオフにした後も、製品の「デフォルト値を使用」チェックボックスはオンのままになります。
- 属性値が定義されていない製品に、カタログ価格ルールが期待どおりに適用されるようになりました。 以前は、カタログ価格ルールを通じて作成された割引が、未定義の属性を持つ製品に適用されていませんでした。 GitHub-461
- 異なるタイムゾーンのストアを使用した複数の web サイトのデプロイメントで、カタログルールが期待どおりに機能するようになりました。 以前は、アプリケーションは、すべての web サイトでカタログルールを一度に適用または非アクティブ化していました。
- 特定の web サイトに対してスケジュールの更新を作成した場合に、階層の価格が削除されなくなりました。
- 終了日を指定して今後のステージング更新を作成した後、ダウンロード可能な製品ページから製品を保存できるようになりました。 以前は、アプリケーションは製品を保存せず、次のメッセージを表示していました:
The downloadable link isn't related to the product. Verify the link and try again
。 GitHub-474
ストア
- アプリケーションは、ストアのホームページを表示する際に、
0
の文字列を空の値として扱わなくなりました。 以前は、リクエストパスの開始時にアプリケーションがストア ID として整数値を扱っていたので、SEO に意図しない影響がありました。
lib/internal/Magento/Framework/App/Action/Plugin
の下の\Magento\Framework\App\ActionInterface
のプラグインは、あるモジュールの動作を別のモジュールからカスタマイズするためにプラグインを使用する必要があるというガイドラインに従って削除されました。 GitHub-28050
- Web サイトの作成中に
Store View
が無効になった場合、Website
をデフォルトとして選択しようとすると、アプリケーションにこのメッセージが表示されるようになりました。Please enable your Store View before using this Web Site as Default
以前は、web サイトがクラッシュし、アプリケーションにアラートが表示されていませんでした。
税
- アプリケーションでは、最小注文金額の検証中に非表示の税金を考慮するようになりました。
- 買い物客が買い物かごに戻り、バンドル製品を買い物かごに追加した後にチェックアウトに進む際に、アプリケーションに固定製品税(FPT)が期待どおりに表示されるようになりました。 GitHub-30250
- 管理者が既存の顧客の注文を作成する際に、管理者の新しい注文ページの住所情報セクションの請求アドレスと配送先住所の両方の VAT 番号 入力フィールドに、保存された VAT 番号が事前入力されるようになりました。 GitHub-31846
customer/create_account/vat_frontend_visibility
が有効な場合、顧客登録ページに VAT 番号 フィールドが表示されるようになりました。 GitHub-31326
テスト
- テスト環境は Redis 6.0.12 にアップグレードされました。
- 統合テストから
CacheCleaner::cleanAll();
を削除しました。 GitHub-31074
- このシナリオのテストを追加しました。管理者ユーザーは、顧客がキューに入れられたニュースレターを購読している際に、顧客アカウントを編集できます。 GitHub-30645
Catalog
、CatalogUrlRewrite
、LoginAsCustomer
の各モジュールの実行時間を短縮するために、テストからcache:flush
コマンドを削除しました。 GitHub-31056
- 冗長なパラメーターが削除され、必要に応じて
\Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping
内のGETにPOSTが変更されました。
テーマ
- JS コードをページの下部に移動 設定(ストア/設定/進み/開発者/JavaScript設定)と Cookie の両方が有効になっている場合、お客様のログインページにこのメッセージが表示されなくなりました:
The store will not work correctly in the case when cookies are disabled
。
- ヘッダー内のアカウントリンクが WCAG 標準に従うようになりました。 以前は、ヘッダー内のアカウントリンクに重複した ID が含まれていたため、WCAG 検証が失敗していました。
- アプリケーションは、レイアウト設定よりもストアロゴ画像のストア設定を優先するようになりました。 以前は、ロゴ画像のサイズは固定されており、店舗によって異なっていませんでした。
- 標準のAdobe Commerce テーマを使用するストアフロントページで、ページ要素が一貫して表示されるようになりました。 以前は、すべてのスタイルが空白のテーマで適用されるわけではないので、このテーマを使用するページには、すべてのページ要素が表示されるわけではありません。 (例えば、「自分の注文」ページの検索フィールドに拡大鏡アイコンが表示されていませんでした)。
翻訳とロケール
- インライン翻訳が設定されている場合、文字列に追加される角括弧がエスケープされなくなりました。 以前は、
escapeHtmlAttr
メソッドは、括弧をHTML図形コードに変換していました。 GitHub-32000
- 管理者の翻訳不可能なフレーズが翻訳可能になりました。 (このプルリクエストは、すべての管理文字列をローカライズできるようにする継続的な取り組みに貢献します)。 GitHub-11175
- 保存された支払い方法(マイアカウント/(保存された支払い方法 の管理に使用されるテンプレート内のテキスト文字列が翻訳可能になりました。 GitHub-31211
- 管理者から送信されるメールを注文する際に、管理者のアカウントに関連付けられているロケールではなく、ストアのロケールを使用するようになりました。 GitHub-26521
UI
- 管理者のフッターに、正しい製品バージョンが表示されるようになりました。
- ソースのページネーションが、管理者の出荷の作成時に期待どおりに表示されるようになりました。
- カスタムの日付属性を使用して製品をフィルタリングし、管理者ユーザーのロケールが
en_GB
の場合、製品グリッドフィルターが正しく機能するようになりました。
- iOS デバイスの製品ページの画像ギャラリーの拡大鏡で、ピンチトゥズームジェスチャーが期待どおりに機能するようになりました。
- 管理者の製品グリッド検索結果のページネーションが、期待どおりに各検索の 1 ページ目から開始するようになりました。
- ズーム時に買い物かごに表示される異常が解決されました。 以前は、このページがズームされたときに要素が重なって表示されていました。
- 管理者招待ページ (管理者 マーケティング/個人販売/招待)のタブの整合性の問題が解決されました。 以前は、顧客が受け入れた招待のタブ表示の位置がずれていました。 GitHub-333
- PayPal Express チェックアウトでのチェックアウト中に表示される注文レビューページが正常に読み込まれるようになりました。 以前は、テンプレートには未使用の 配信方法を更新 ボタンが含まれていましたが、これはページのレンダリング中にスクリプトによって部分的にのみ非表示になっていました。 GitHub-32006
- 長い評価名が存在する場合、製品ページの「カスタマーレビュー」セクションの評価の星とレビューのテキストが適切なスペースに配置されるようになりました。 GitHub-31890
- 「請求書のアーカイブ」、「出荷」および「クレジット・メモ」ページの「処理」ドロップダウン・リストに、オプションが期待どおりに表示されるようになりました。
- 「
datetime
コンポーネントのtimeOnly
」オプションが はい に設定されている場合、アプリケーションに正しい時間値が表示されるようになりました。 GitHub-23157
- 管理者 コンテンツ/ウィジェット で新しいウィジェットを作成した後で、レイアウトの更新を削除できるようになりました。 GitHub-29936
- レイアウトの更新を削除 ボタンが、管理者 コンテンツ/ウィジェット から追加したすべてのレイアウトで期待どおりに動作するようになりました。 以前は、このボタンは、複数のレイアウトを追加する際に最初に選択した以外のレイアウトでは機能しませんでした。 GitHub-30286
- レイアウトファイルで設定されたページタイトルが、顧客アカウント編集ファイルのブラウザーページタイトルとして使用されるようになりました。 以前は、
Magento\Customer\Controller\Account\Edit
コントローラアクションによって、ページタイトルの値がAccount Information
に強制されていました。 GitHub-30724
-
マーチャントがパスワードの表示と非表示を切り替えることができるチェックボックスが次のページに追加されました。
- カスタマーログイン
- 顧客登録
- 顧客の編集([ パスワードの変更 ] セクション)
- 顧客が新しいパスワードを設定 GitHub-31557
- 属性セットを変更した後、管理者がグループ化された製品セットに製品を追加すると表示されるグリッドセルの冗長なヘッダーを削除しました。 GitHub-30911
- アプリケーションの 顧客/ログイン ページの「ログイン済み」領域に
DateRange
フィルターが表示されるようになりました。 以前は、アプリケーションはText
しいフィルターを表示していました。 GitHub-30328
- 管理ページでのレンダリングの問題を減らすために、JavaScriptがテンプレートファイルから削除され、別のファイルに移動されました。 以前は、HTMLの縮小が有効になっているデプロイメントでは、管理ページが正しくレンダリングされませんでした。 アプリケーションに次のエラーが表示されました:
An error has happened during application run. See exception log for details
。 GitHub-32454
dropdownDialog
ウィジェットは、必要なドラッグ可能かつサイズ変更可能なjquery-ui
チャンクのみを読み込むようになりました。 以前は、不要なコードを大量に読み込んでおり、読み込み時間が長くなり、パフォーマンスが低下していました。 GitHub-32810
URL の書き換え
- マルチサイトデプロイメントにおける特定の web サイトの製品 URL の書き換えが、一括更新によって製品を web サイトに割り当てた後に、期待どおりに生成されるようになりました。
- 親カテゴリの URL キーに対して「デフォルト値を使用」チェックボックスが有効な場合、アプリケーションは子カテゴリの URL パスを正しく生成するようになりました。 以前は、マルチストア表示のデプロイメントで異なる URL キーを使用する場合、階層内でカテゴリを移動すると、誤った
url_path
値が返されていました。 GitHub-16202
- カテゴリ階層内でカテゴリを移動すると、すべてのストアスコープに割り当てられているカテゴリの
url_path
が更新されるようになりました。 以前は、階層内でカテゴリを移動すると、url_path
が正しくないという問題がありました。
- カスタム URL を使用して管理者から作成された URL リダイレクトが正常に機能するようになりました。 以前は、GraphQLはGraphQL
urlResolver
クエリからの応答をキャッシュし、URL 書き換え更新後に古い値を返していました。
- 製品が web サイトから削除される際に、製品 URL の書き換えが期待どおりに削除されるようになりました。 GitHub-24184
app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php
コレクションのaddStoreFilter
関数にstore_id
へのmain_table
参照を追加しました。 以前は、store_id
列を含むテーブルのコレクションにjoin
が追加されるたびに問題が発生していました。 GitHub-31853
PUT /V1/products/:sku
REST エンドポイントで、製品 URL の書き換えが期待どおりに再生成されるようになりました。 以前は、エンドポイントは、URL の書き換えではなく、値をurl_key
す製品を再生成していました。 GitHub-30316
ユーザー
Catalog
Edit Product Design
ツリー全体を除いて選択した状態で、有効な新しいユーザーの役割(管理者 システム/権限/ユーザーの役割)を保存できるようになりました(カタログ/在庫/製品/製品設計を編集)。 以前は、この役割のユーザーが行った製品の変更がアプリケーションに保存されず、次のエラーが表示されていました:Not allowed to edit the product's design attributes
。 GitHub-31973
- 新しい管理者向けのメールを生成する際に、アプリケーションで正しいカスタムメールテンプレートが使用されるようになりました。 以前は、アプリケーションは古いデフォルトのテンプレートを使用していましたが、管理者の姓と名は省略されていました。
- 新しいユーザーにメールを送信する際に、アプリケーションで正しいメールテンプレートが使用されるようになりました。 以前は、カスタムテンプレートが選択されている場合でも、アプリケーションはデフォルトのテンプレートを使用していました。
VersionCMS
- レイアウトを変更した後、アプリケーションはCMSページに正しいテーマを適用するようになりました。 以前は、ページに割り当てられたテーマに関係なく、レイアウトの変更を保存した後に、割り当てられたテーマがアプリケーションによって Luma に変更されていました。
- 役割が制限された管理者は、階層ノードに割り当てられた、自身がアクセス権を持つページを正常に追加、更新、複製できるようになりました。 以前は、アプリケーションはこれらの条件下で致命的なエラーをスローしました。
ビデオ
- 高度なJavaScriptのバンドルが有効になって使用されている場合に、製品ギャラリーでビデオを期待どおりに使用できるようになりました。 GitHub-32501
- 設定可能な商品に属するシンプルな商品のYouTube ビデオが、正常に機能するようになりました。 以前は、画像は位置ではなく ID で並べられていました。 その結果、一部のビデオは画像のように扱われました。 GitHub-29690
ビジュアルマーチャンダイザー
- ビジュアルマーチャンダイザーでの管理者カテゴリページの読み込みパフォーマンスが向上しました。 管理者カテゴリページを読み込む際に、大きなデータベースクエリが生成されなくなりました。
Web API フレームワーク
- Catalog API は、新しい値を追加したり、古い値を削除したりすることで、製品のカスタムオプションの値を正しく更新するようになりました。 以前は、API は古い値を削除しませんでした。
- POST
/V1/guest-carts/:cartId/billing-address
は、アドレス ID を文字列ではなく整数として返すようになりました。
Web サイトの制限
- 買い物客は、ログインを求める前にアクセスしようとしていたページにリダイレクトされるようになりました。 以前は、web サイトの制限が有効で、制限モードが Private Sales: Login Only に設定されているデプロイメントでは、買い物客はストアのホームページにリダイレクトされていました。
ウィジェット
- 管理者は、ウィジェットのレイアウトの更新をすべて削除できるようになりました。 以前は、ウィジェットで複数のレイアウト更新が行われた場合、管理者は最初のレイアウト更新のみを削除できました。
- 製品ウィジェットの 買い物かごに追加 ボタンをクリックしても、ページがリロードされなくなりました。 以前は、製品ウィジェットの 買い物かごに追加 ボタンをクリックすると、製品が買い物かごに追加される前に、現在のページがリロードされていました。
- TinyMCE のCMS階層ノードリンクウィジェットは、カスタムテキストをアンカー フィールドが空の場合、階層リンクを期待どおりにレンダリングするようになりました。
ウィッシュリスト
- ウィッシュリストから製品の「項目を編集」ボタンをクリックしても、設定可能な製品の設定がリセットされなくなりました。 GitHub-32119
- ウィッシュリスト内のカスタマイズ可能なファイルオプションで製品を更新すると、アプリケーションに正しい製品価格が表示されるようになりました。 以前は、アプリケーションに間違った製品価格が表示され、アップロードされたファイルへのリンクが表示されていませんでした。
- 複数のウィッシュリストを持つ顧客のウィッシュリストの合計製品数が、ウィッシュリストの項目数と一致するようになりました。 以前は、在庫切れの製品が合計製品数に含まれていました。
- 注文に追加した商品を、ウィッシュリストから削除するようになりました。 GitHub-30260
- 買い物客は、ウィッシュリストから買い物かごに関連商品を追加できるようになりました。 以前は、買い物客が「関連製品」セクションの「すべてを選択 リンクをクリックしても、アプリケーションには設定可能な製品のみが追加され、設定可能な製品とその関連製品は追加されませんでした。 GitHub-32274
既知の問題
問題: reCAPTCHA が無効な場合のJavaScript エラー。 reCAPTCHA がチェックアウトで無効になっている場合、チェックアウトは続行されますが、コンソールログに Uncaught TypeError
エラーが表示されます。 この問題は、後のリリースで修正される予定です。
問題:コンテンツセキュリティポリシーエラー。 ストアフロントのコンソールログに、「The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline
」というエラーが表示されます。 ストアフロントのパフォーマンスは影響を受けません。
問題:PayPal での異常値ギフトカード金額のクレジット表示。 PayPal クレジットが有効で、複数のギフトカード金額が設定されている場合、買い物客がギフトカードの値の金額を変更しても、ストアフロントでは分割払いの金額を更新しません。 この問題の修正は、Adobe Commerce 2.4.4 およびMagento Open Source 2.4.4. に含まれます
問題:SKU によって買い物かごに追加された製品に対して、「注文に追加」ボタンが機能しません。 sku で注文に製品を追加した後に「注文に追加」ボタンをクリックすると、このエラーメッセージが表示されます:An error has happened during application run
。 製品は買い物かごに追加されません。 回避策:製品の追加機能を使用します。
問題:GraphQL category
および categoryList
クエリは、共有カタログ内のカテゴリを非表示にするか公開するかを決定するカテゴリ権限を無視します。 現在、ストアフロントには、共有カタログに割り当てられたか割り当て解除されたすべてのカテゴリが表示されます。 これは、B2B shared catalog が有効になっているPWAストアフロントを実装するAdobe Commerce 2.4.3 デプロイメントに影響します。
コミュニティの投稿
より広いMagento Open Sourceコミュニティに感謝し、今回のリリースへの貢献を認めたいと思います。
コミュニティエンジニアリングチーム のMagento貢献者は、貢献した上位の個人とパートナーのリストを月別、四半期別、年別に管理しています。 その投稿者ページから、GitHub の結合された PR へのリンクをフォローできます。
パートナーの投稿
次の表に、パートナー様のコントリビューションを示します。 この表は、プルリクエストを行ったパートナー、外部プルリクエスト、それに関連付けられた GitHub 問題番号(利用可能な場合)の一覧です。
個々のコントリビューターの投稿
次の表に、コミュニティメンバーからの投稿を示します。 この表は、外部プルリクエスト、それに関連付けられた GitHub 問題番号(利用可能な場合)、プルリクエストを行ったコミュニティメンバーの一覧です。
必要システム構成
当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、 システム要件を参照してください。
インストールとアップグレードの手順
Composer を使用してAdobe Commerce 2.4.3 をインストールできます。
移行ツールキット
データ移行ツールは、既存のMagento 1.x ストアデータをMagento 2.x に転送するのに役立ちます。このコマンドラインインターフェイスには、検証、進行状況のトラッキング、ログ記録、テストなどの機能が含まれています。 インストール手順については、 データ移行ツールのインストールを参照してください。 データ移行リポジトリの調査または貢献を検討します。
Code Migration Toolkit は、既存のMagento 1.x のストア拡張機能とカスタマイズ内容をMagento 2.x に転送するのに役立ちます。コマンドラインインターフェイスには、Magento 1.x のモジュールとレイアウトを変換するためのスクリプトが含まれています。