Adobe Commerce 2.4.7 リリースノート
Adobe Commerce 2.4.7 では、PHP 8.3 がサポートされるようになりました。数百もの品質修正および機能強化が導入されています。 Core Composer の依存関係とサードパーティ ライブラリが、利用可能な最新バージョンにアップグレードされました。 このリリースには、多くのオプションを備えた複雑な製品の製品リストページの読み込みの高速化や、インデクサー管理の機能強化など、パフォーマンスの大幅な向上が含まれています。 このリリースでは、カスタム属性とGraphQL リゾルバーキャッシュのGraphQLの適用範囲が拡大されています。 また、最近更新された FedEx および UPS サービスのサポートも導入されています。
その他のリリース情報
これらの機能のコードは、Adobe Commerce コアコードのリリースにバンドルされていますが、これらのプロジェクトの一部(B2B やProgressive Web Application(PWA) Studio など)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。
Adobe Commerce 2.4.7 のハイライト
このリリースのハイライトは次のとおりです。
セキュリティ機能の強化
このリリースには、Adobe Commerce 2.4.6-p5、2.4.5-p7、2.4.4-p8 に含まれているものと同じセキュリティ修正と platform セキュリティの改善が含まれています。 修正された問題の最新情報については、Adobeセキュリティ速報を参照してください。
これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、管理者を保護するために必要なすべての措置をとることをお勧めします。これには、以下の取り組みが含まれますが、これらに限定されません。
- IP許可リストに加える
- 二要素認証
- VPN の使用
/admin
ではなく一意の場所の使用- 適切なパスワードハイジーン
その他のセキュリティ機能強化
このリリースのセキュリティの強化により、最新のセキュリティのベストプラクティスへのコンプライアンスが向上します。
-
生成されないキャッシュキーの動作の変更:
- ブロックの生成されないキャッシュキーに、自動的に生成されるキーのプレフィックスとは異なるプレフィックスが含まれるようになりました。 (生成されないキャッシュキーは、テンプレートディレクティブ構文または
setCacheKey
またはsetData
メソッドで設定されるキーです)。 - ブロックの生成されないキャッシュキーには、文字、数字、ハイフン(–)、アンダースコア(_)のみを含める必要があります。
- ブロックの生成されないキャッシュキーに、自動的に生成されるキーのプレフィックスとは異なるプレフィックスが含まれるようになりました。 (生成されないキャッシュキーは、テンプレートディレクティブ構文または
-
自動生成されたクーポンコード数の制限。 Commerceでは、自動生成されるクーポンコードの数を制限するようになりました。 デフォルトの最大値は 250,000 です。 マーチャントは、新しい Code Quantity Limit 設定オプション(Stores/Settings:Configuration/Customers/Promotions)を使用して、多くのクーポンでシステムが圧倒される可能性を防ぐことができます。
-
デフォルトの管理者 URL 生成プロセスの最適化。 デフォルトの管理者 URL の生成が最適化されて、ランダム性が向上し、生成された URL を予測しにくくなりました。
-
支払いページでのスクリプトの整合性の検証に関する PCI 4.0 要件に準拠するために、Subresource Integrity (SRI)のサポートを追加 しました。 サブリソースの整合性(SRI)のサポートは、ローカルファイルシステムに存在するすべてのJavaScript アセットの整合性ハッシュを提供します。 デフォルトの SRI 機能は、管理エリアとストアフロントエリアの支払いページにのみ実装されています。 ただし、マーチャントは、デフォルトの設定を他のページに拡張できます。 詳しくは、Commerce PHP 開発者ガイドの サブリソースの整合性を参照してください.
-
コンテンツセキュリティポリシー(CSP)の変更 - PCI 4.0 の要件に準拠するためのAdobe Commerce コンテンツセキュリティポリシー(CSP)の設定の更新と機能強化。 詳しくは、Commerce PHP 開発者ガイドの コンテンツセキュリティポリシーを参照してください。
-
Commerce管理エリアとストアフロントエリアの支払いページ用のデフォルトの CSP 設定が
restrict
モードになりました。 その他のすべてのページでは、デフォルト設定はreport-only
モードです。 2.4.7 より前のリリースでは、CSP はすべてのページに対してreport-only
モードで設定されていました。 -
CSP でインラインスクリプトの実行を許可する nonce プロバイダーを追加しました。 nonce プロバイダーは、各リクエストに対して一意の nonce 文字列を容易に生成できるようにします。 その後、文字列が CSP ヘッダーにアタッチされます。
-
管理の注文を作成ページとストアフロントのチェックアウトページの CSP 違反をレポートするカスタム URI を設定するオプションを追加しました。 設定を追加するには、管理者から、または URI を
config.xml
ファイルに追加します。note note NOTE CSP 設定を restrict
モードに更新すると、管理およびストアフロントの支払いページで既存のインラインスクリプトがブロックされる可能性があり、ページの読み込み時に次のブラウザーエラーが発生します。Refused to execute inline script because it violates the following Content Security Policy directive: "script-src
。 許可リスト設定を更新して、必要なスクリプトを許可することで、これらのエラーを修正します。 2}Commerce PHP 開発者ガイドトラブルシューティング を参照してください。
-
-
新しいフルページキャッシュ設定は、HTTP
{BASE-URL}/page_cache/block/esi
エンドポイントに関連するリスクを軽減するのに役立ちます。 このエンドポイントは、Commerceのレイアウトハンドルおよびブロック構造から無制限で動的に読み込まれるコンテンツフラグメントをサポートしています。 新しい Handles params size 設定では、このエンドポイントのhandles
パラメーターの値を設定します。このパラメーターによって、API あたりの最大ハンドル数が決定されます。 このプロパティのデフォルト値は 100 です。 マーチャントは、管理者(Stores/Settings:Configuration/System/Full Page Cache/Handles params size)からこの値を変更できます。 Varnish を使用するようにCommerce アプリケーションを設定するを参照してください。 -
REST およびGraphQL API を通じて送信される支払い情報のネイティブレート制限。 マーチャントは、REST およびGraphQLを使用して送信される支払い情報に対して、 レート制限を設定できるようになりました。 この保護レイヤーの追加により、カード攻撃の防止がサポートされ、多くのクレジットカード番号を一度にテストするカード攻撃の量が減少する可能性があります。 これは、既存の REST エンドポイントのデフォルト動作の変更です。 レート制限を参照してください。
-
isEmailAvailable GraphQL クエリと(V1/customers/isEmailAvailable) REST エンドポイントのデフォルトの動作が変更されました。 デフォルトでは、API は常に
true
を返すようになりました。 マーチャントは、管理で「ゲストチェックアウトログインを有効にする」オプションをyes
に設定することで元の動作を有効にすることができますが、これにより、顧客情報が認証されていないユーザーに公開される可能性があります。
プラットフォームの機能強化
このリリースのプラットフォームのアップグレードにより、最新のセキュリティのベストプラクティスへのコンプライアンスが向上します。
Adobe Commerce 2.4.7 には、次のプラットフォームアップグレードが含まれています。
- PHP 8.3 互換。 このリリースでは、PHP 8.3 のサポートが導入されています。Commerceでは、PHP 8.3 と 8.2 の両方をサポートするようになりました。PHP 8.2 は、2025 年 12 月のサービス終了(EOS)日までサポートされます。 2025 年 12 月以降、2.4.7 デプロイメントを実行しているすべてのマーチャントは、PHP 8.3 に移行する必要があります。
Adobe Commerce 2.4.7 は、アップグレードの目的でのみ PHP 8.1 と互換性があります。 PHP 8.1 はサポートされておらず、推奨されていません。 Adobe Commerce 2.4.7 コアコード、バンドルされた拡張機能、Adobeが所有するすべての拡張機能および SaaS サービスは、PHP 8.3 と互換性があります。
-
RabbitMQ 3.13 サポート。 このリリースは最新バージョンのRabbitMQ 3.13 と互換性があります。互換性は、それぞれ 2024 年 8 月から 2024 年 12 月までサポートされるRabbitMQ 3.11 および 3.12 ですが、Adobeは、RabbitMQ 3.13 でのみAdobe Commerce 2.4.7 を使用することをお勧めします。
-
Composer 2.7.x。 Composer 2.2.x との互換性は維持されます。
-
Varnish cache 7.4 のサポート。 このリリースは、最新バージョンの Varnish Cache 7.4 と互換性があります。6.0.x および 7.2.x バージョンとの互換性は維持されますが、Adobe Commerce 2.4.7 は Varnish Cache version 7.4 または version 6.0 LTS でのみ使用することをお勧めします。
-
Elasticsearch 8.11 互換性
-
Opensearch 2.12 および OpenSearch 1.3 のサポート
-
Redis 7.2
-
extjs
ライブラリは最新バージョンのjsTree
に置き換えられました。 -
ライブラリ
jquery/fileUpload
削除されました。
Adobe Commerce コアコード内のすべてのJavaScript ライブラリと NPM の依存関係が、利用可能な最新バージョンに更新されました。 すべての Laminas ライブラリの依存関係は、PHP 8.3 と互換性のある最新バージョンに更新されました。
追加のアップグレード
-
1 回の注文で複数のクーポンを利用できます。 マーチャントは、新しい Maximum number of coupons per order 設定オプションを使用して、注文ごとに適用できる クーポンの最大数を設定できるようになりました。 この値はデフォルトで 1 に設定されています。 REST または GraphQL を使用して、買い物かごに複数のクーポンを適用できるようになりました。
-
Commerce UPS XML API ゲートウェイは、UPS が自社の {API セキュリティ モデル 🔗 に対して行っている更新をサポートするために、新しい 0}Commerce UPS REST API に移行されました。 (UPS は、すべての API に対して OAuth 2.0 セキュリティモデル(ベアラートークン)を実装しています。) 以前のCommerce UPS XML API はすべて、Adobe Commerce 2.4.7 コードベースから削除されました。
-
FedEx とのAdobe Commerce 統合は、従来の FedEx WSDL Web サービスから最新の FedEx RESTful API に移行されました。 FedEx Web Services Tracking、Address Validation、および Validate Postal Codes WSDLS は、2024 年 5 月に廃止されます。
-
新しい USPS Ground Advantage 出荷方法のサポートを追加しました。 これは、2023 年 7 月にリリースされた USPS の新しい配送方法 USPS Ground Advantage との標準の統合です。 この新しい統合は、USPS 配送サービスを通じて配送料を取得し、配送と返品をスケジュールするために使用できます。 USPS Ground Advantage の配送方法は、これらの配送方法に代わるものです。これらの配送方法は、USPS Ground Advantage の配送方法がリリースされたときに廃止されました。
- USPS 小売基盤
- ファーストクラスのパッケージサービス
- 区画の地盤 を選択
-
Temando 出荷モジュールは、コア Commerce コードベースから削除されました。 この機能はAdobe Commerce 2.4.4 で廃止されました。
パフォーマンスと拡張性の強化
Commerce 2.4.7 では、Commerceのパフォーマンスと拡張性が次のように強化されました。
-
大規模法人のマーチャントは、買い物かごやチェックアウトの操作のパフォーマンスを大幅に低下させることなく Adobe Commerceで最大 100 万 のアクティブなクーポンベースの買い物かご価格ルールを設定できるようになりました。
-
インデクサー管理の強化。 新しい
indexer:set-status
コマンドは、インデクサーのステータスの動的管理をサポートしています。 管理者ユーザーは、このコマンドを使用してインデクサーのステータスをsuspended
、invalid
、valid
に変更できます。 この機能は、製品の読み込みや更新など、大規模な一括操作中に、システムの cron ジョブによってインデクサーが自動的にトリガーされるタイミングを制御できるので、システムのパフォーマンスを管理する場合に特に便利です。 インデクサーの管理を参照してください。 -
オプションが多数ある複雑な製品の製品一覧ページ 100 を超えるオプションを持つ複雑な製品を含む製品リストページの読み込み時間が改善されました。 また、GraphQLの商品のカテゴリー別リスト掲載依頼のパフォーマンスも向上しました。
-
REST インポート API で JSON 形式がサポートされるようになりました。 マーチャントは、1 分あたり最大 100,000 レコードを JSON 形式でAdobe Commerceに読み込めるようになりました。
-
販売ルールのパフォーマンスの向上。 多数(約 100,000 件)のアクティブなセールス・ルールにより、エンタープライズ・デプロイメントのパフォーマンスが向上しました。 プロモーションを大規模に実装する企業のデプロイメントでは、多くの場合、アクティブな買い物かごルールがデプロイされます。 Commerce 2.4.7 を実行するこれらのタイプのエンタープライズデプロイメントでは、チェックアウト操作中の設定済み買い物かご価格ルール数に関連するパフォーマンス低下は表示されません。
-
多数のストアを含むデプロイメントのストアレベル設定の保存操作を高速化。 ストアが 500 を超えるデプロイメントで構成設定を保存するには、時間がかかる場合があります。 新しい Async Config モジュールは、コンシューマーを使用してメッセージキュー内の保存操作を処理する cron ジョブを実行することで、非同期設定の保存操作を有効にします。 AsyncConfig はデフォルトで無効になっています。
-
大規模な設定の設定キャッシュの生成が迅速化。 設定キャッシュが有効な場合、
bin/magento cache:clean config
コマンドは設定キャッシュを事前警告するようになりました。 これにより、大規模な設定の設定キャッシュを生成するために必要なダウンタイムが削減されます。 設定の保存操作では、データをキャッシュに書き込む前にconfig_scopes
キャッシュをクリーンアップしなくなりました。これにより、設定データの書き込み中に他のリクエストがロックアウトされる時間も短縮されます。
GraphQL Application Server
GraphQL Application Server を使用すると、Adobe CommerceはCommerce GraphQL API リクエストの状況を管理でき、ブートストラップが不要になります。ブートストラップにより、スループットが高くなり、待ち時間が短くなり、すべてのGraphQL API でリソースが効率的に使用されます。 プロセス間でアプリケーションのステートを共有することで、GraphQL API リクエストは大幅に効率的になり、GraphQL API の応答は平均で 30% 高速になります。
GraphQL Application Server は、Adobe Commerceでのみ使用できます。 Magento Open Sourceには使用できません。 GraphQL Application Server を Pro プロジェクトで有効にするには、Adobe Commerce サポートを送信チケットを必要があります。
Adobe Commerce Extension メタパッケージ
このリリースでは、Adobe Commerce Extension metapackage v2.0.0 が導入されています。このバージョンでは、このコアリリースと共に、特定のAdobe Commerce Extensions が自動的にバンドルされています。 このメタパッケージに含まれているこれらの拡張機能のバージョンは、composer update
の実行時にインストールされるので、最新のコアリリースにアップグレードする際にこれらの拡張機能をアップグレードするプロセスを簡略化できます。 これらの拡張機能では、独立したリリーススケジュールが維持されます。
Adobe Commerce 2.4.7 のAdobe Commerce Extension メタパッケージには、次の拡張機能が含まれています。
この拡張機能メタパッケージの今後のバージョンには、追加の拡張機能が含まれる可能性があります。
Adobe Commerce Webhook
Commerce webhook (v1.2.0)を使用すると、デベロッパーは、Adobe Commerceのイベントがトリガーした場合に外部システムへの呼び出しを実行する同期ロジックを設定できます。 Commerceで、サードパーティエンドポイントを使用して注文の合計、税金、支払いなどの値を直ちに計算または検証し、その結果をAdobe Commerceに書き戻す必要がある場合は、同期呼び出しが必要です。
Commerce Webhook がデフォルトでインストールされるようになりました。 Adobe Commerce Webhook の概要を参照してください
Adobe Stock
Adobe Stock パッケージ(adobe-stock-integration
)が、より頻繁なアップデートをサポートするために、Commerce Extensions メタパッケージ(extensions-metapackage
)にパッケージ化されました。
B2B
Braintree
-
Vaulted PayPalおよび Pay Later の変更 - ログイン中で、PayPal アカウントを保管/保管したことがあるユーザーは、次の方法で支払いを行うことができます。
- Pay Now (PayPal アカウントにログインしなくても、ユーザーはデフォルトのカードで支払うことができます)
- 別の資金源で支払う
- 別の口座で支払う
- PayPal Pay Later または PayPal Credit ボタン
-
3DS によるGoogle Pay のサポート:Google Pay の非トークン化カードに 3DS 検証のサポートが含まれています。 詳しくは、Braintreeドキュメントを参照してください。
-
Vault Apple Pay Payments - ログイン中のお客様が、今後のトランザクションで使用するために、Apple Pay 支払をCommerce ストアアカウントに保管または保存できるようにします。 これにより、チェックアウト時の手順の数が減り、再訪問者のチェックアウトエクスペリエンスが向上します。
-
Vault Google Pay Payments - ログイン中のお客様が、今後のトランザクションで使用するために、Google Pay 支払をCommerce ストアアカウントに保管または保存できるようにします。 これにより、チェックアウト時の手順の数が減り、再訪問者のチェックアウトエクスペリエンスが向上します。
-
Vault Venmo Payments - ログインしているユーザーが、今後のトランザクションで使用するために、Venmo アカウントをCommerce ストアアカウントにコンテナ化または保存できます。 これにより、チェックアウト時の手順の数が減り、再訪問者のチェックアウトエクスペリエンスが向上します。
-
Vault ACH Payments - ログイン済みのお客様が、今後のトランザクションで使用するために、ACH 支払いをCommerce ストアアカウントに保管または保存できるようにします。 これにより、チェックアウト時の手順の数が減り、再訪問者のチェックアウトエクスペリエンスが向上します。
-
チェックアウトの上部にある Express Paymentボタン - チェックアウトをより迅速に行えるよう、チェックアウトの開始時に Express Payment のオプションを導入しました。 顧客は、PayPal、PayPal Pay Later、Apple Pay、Google Pay Express の支払いで支払うことができるようになりました。
-
管理者設定内の Braintreeのリリースノートおよびサポートリンク - マーチャントは、Commerce管理者からBraintreeサポートおよびリリースノートにオンラインで直接リンクできるようになりました。
-
Venmo を除くすべての Braintree 支払い方法でGraphQLをサポート – 追加の設定がGraphQL API で公開されます。 これは、特にヘッドレスアプリケーションで役立ちます。
-
アカウント領域内の Vaulting支払い - ログインした顧客は、新しいクレジット・カード/デビット・カードと PayPal のアカウントをアカウント領域に vault/store できるようになりました。 以前は、お客様は、チェックアウト時にトランザクションを完了する際に後で使用するために支払いを保存する際にのみ Vault/Store を使用できましたが、新しいトランザクションを作成する必要なく、新しいクレジット/デビットカードおよび PayPal アカウントを Vault できるようになりました。
-
摩擦なし取引 – 摩擦なし取引は、オンラインのクレジット/デビット・カード取引を完了するための顧客のクリック/ステップの量を減らすことで、支払いプロセスを高速化します。 以前は(3DS が有効になっている場合)、すべてのお客様に 3DS の課題がありました。 新しい摩擦なし取引機能により、顧客は銀行が要求した 3DS に対してのみ課題を抱えています。 これにより、買い物かごの放棄が減り、コンバージョン率が向上し、売上が増加します。
-
紛争 Web フック – お客様がBraintreeでトランザクションに対して紛争を起こした場合、紛争ステータスがCommerceに渡されるようになりました。 Sales/Order グリッドで検索でき、各注文に添付されます。
CommerceとAdobe IMSの統合
より頻繁なアップデートをサポートするために、Adobe IMS統合パッケージ(adobe-commerce/adobe-ims-metapackage
)がCommerce拡張機能メタパッケージ(extensions-metapackage
)にパッケージ化されました。
GraphQL
Commerce 2.4.7 では、GraphQLのキャッシュ機能が強化され、カスタム属性のGraphQL スキーマがサポートされ、ヘッドレス注文のキャンセルがサポートされ、リゾルバーキャッシュが改善されました。
-
より柔軟な買い物かご管理。
clearCart
のミューテーションにより、指定した買い物かごの内容が 1 回のアクションでクリアされるようになりました。 これは、非推奨(廃止予定)となったclearCustomerCart
のミューテーションに代わるものです。 -
買い物かごの突然変異を作成する際の改善。 非推奨(廃止予定)の
createEmptyCart
ールミューテーションに代わって、createGuestCart
のミューテーションが追加されました。 以前は、createEmptyCart
を使用した場合、買い物かごがゲスト向けかログイン中の顧客向けかを判断できませんでした。 -
注文項目に製品画像が含まれるようになりました。
OrderItemInterface
は商品画像を公開します。これにより、画像を注文された商品に関連付けて、より効率的に読み込むことができます。 GitHub-32369 -
リゾルバーキャッシュのサポートの拡張。 次のGraphQL クエリリゾルバーが、GraphQL リゾルバーの結果キャッシュでキャッシュできるようになり、POSTリクエストでクエリが送信される際のパフォーマンスが向上しました。
Magento\CustomerGraphQl\Model\Resolver\Customer::resolve
Magento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolve
Magento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolve
Magento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
-
注文キャンセルのサポート。 cancelOrder ミューテーションを使用すると、顧客は注文をキャンセルし、その識別子とキャンセル理由を渡すことができます。
storeConfig
の新しい「order_cancellation_enabled
」フィールドと「order_cancellation_reasons.description
」応答フィールド
クエリは、ユーザーが開始した注文キャンセルリクエストをサポートします。 ストアの注文キャンセル設定のクエリを参照してください。
-
カスタム属性のサポートの強化。 GraphQL カスタム属性のサポートが強化され、API データが強化されて、すべての属性タイプをサポートするようになりました。 GraphQL EAV 属性スキーマでは、管理での顧客属性および顧客アドレスオブジェクトの拡張と、GraphQLを使用した顧客属性および顧客アドレスオブジェクトの取得がサポートされるようになりました。 具体的な機能強化の領域は次のとおりです。
- 顧客や顧客住所などの特定の領域に対するカスタム属性のサポートの拡張または追加
- カスタム属性のキャッシュを追加しました
- 製品の既存のカスタム属性のサポートの強化
-
GraphQLのキャッシュ機能が強化され、ページの読み込み速度が向上しました。 これらのクエリにキャッシュ機能が追加され、ほとんどのPWAページのページ読み込み時間の速度が向上しました。
-
GraphQL パーサーのパフォーマンスの向上。 GraphQL パーサーのパフォーマンスが向上したのは、リクエストごとに parse メソッドが呼び出される回数を減らしたためです。 現在は 1 回呼び出されています。 以前は、パーサーは少なくとも 3 回呼び出されていました。
既存のミューテーションの新しいフィールド
-
quickorder_active
フィールドを storeConfig および availableStores クエリに追加しました。 このフィールドは、クイックオーダー機能が有効かどうかを示します。 -
setBillingAddressOnCart
とsetShippingAddressesOnCart
のミューテーションに次のフィールドを追加しました。fax
middlename
prefix
suffix
新しいクエリとミューテーション
attributeForms
クエリattributesList
クエリguestOrder
クエリguestOrderByToken
クエリrecaptchaFormConfig
クエリ- 変
cancelOrder
customAttributeMetadataV2
クエリapplyCouponsToCart
変異clearCart
変異confirmEmail
変異createGuestCart
変異estimateShippingMethods
変異estimateTotals
変異removeCouponsFromCart
変異
非推奨のクエリとミューテーション
- 変
clearCustomerCart
- 変
createEmptyCart
attributesMetadata
クエリcustomAttributeMetadata
クエリ
Inventory management
Inventory management(v1.2.7)には、商品インベントリを管理するツールが用意されています。 このコミュニティ開発機能は、Adobe CommerceおよびMagento Open Sourceコアコードにバンドルされています。
支払額
-
Venmo を除くすべての支払い方法のコア業務に、GraphQLのサポートが追加されました。 支払いサービスの新しいGraphQL エンドポイントについては、 チェックアウトを参照してください。
-
Venmo を除くすべての支払い方法でクレジットカードのヴォールティングが強化されました。 買い物客は、ACH 支払いをヴォールティングまたは保存して、アカウントページから表示または削除できるようになりました。 マーチャントは、管理者から ACH ボルト支払を有効または無効にすることができます。
-
チェックアウトワークフローに、PayPal、Apple Pay、Google Pay Express の各ボタンを備えた高速支払いセクションが含まれるようになりました。
支払いオプションサポートされる支払い方法を紹介します。
PWA Studio
PWA Studio v14.0 はAdobe Commerce 2.4.7 と互換性があります。アクセシビリティを向上させるための複数の機能強化が含まれています。 バグの修正については、PWA Studioリリースを参照してください。 PWA Studioバージョンと互換性のあるAdobe Commerce コアバージョンのリストについては、 バージョンの互換性を参照してください。
Web API フレームワーク
買い物かごあたりの複数クーポンの使用
新しい REST エンドポイントは、買い物かごに関連付けられた複数のクーポンの表示、追加、削除をサポートします。
V1
ではなく V2
という文字列が含まれます。 例:GET /rest/default/V2/carts/{cartId}/coupons
。 Commerceのマーチャントの場合、これらのエンドポイントは、V1
のバージョンのエンドポイントを置き換えることを目的としています。 これらのエンドポイントは、Adobe Commerceでのみ使用できます。買い物かごに関連付けられているすべてのクーポンコードを返します。
GET /rest/{store_code}/V2/carts/{cartId}/coupons
GET /rest/{store_code}/V2/carts/mine/coupons
クーポンコードを買い物かごに追加する:
POST /rest/{store_code}/V2/carts/{cartId}/coupons/{couponCode}
POST /rest/{store_code}/V2/carts/mine/coupons/{couponCode}
買い物かごのクーポンコードを置き換える:
PUT /rest/{store_code}/V2/carts/{cartId}/coupons
PUT /rest/{store_code}/V2/carts/mine/coupons
買い物かごからクーポンコードを削除します。
POST /rest/{store_code}/V2/carts/{cartId}/coupons/deleteByCodes
POST /rest/{store_code}/V2/carts/mine/coupons/deleteByCodes
追加のエンドポイント
このリリースでは、REST API GET
および POST V1/products/attributes
エンドポイントによる制限の回避策を提供する 2 つの新しい REST エンドポイントが導入されています。 これらのエンドポイントは、Use in Layered Navigation オプションの Filterable(with results)
オプションと Filterable(no results)
オプションの両方の is_filterable
属性に同じ値を返します。 (is_filterable
属性プロパティの型は Boolean
です。この型では、このプロパティを Filterable(no results)
に設定することはできません)。
回避策として、次の 2 つの新しい REST エンドポイントが実装されました。
PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}
。 パスパラメーター:attributeCode
(String
)およびisFilterable
(int
値:0 は No、1 はFilterable (with results)
、2 はFilterable (no results)
)。GET /V1/products/attributes/{attributeCode}/is-filterable
。 パスパラメーター:attributeCode
(String
).
修正された問題
Adobe Commerce 2.4.7 コアコードの何百もの問題を修正しました。 このリリースで修正された問題の一部を以下に示します。 また、以前のCommerce 2.4.7 ベータ版リリースに含まれていた修正点も説明します。
インストール,アップグレード,デプロイメント
- 不要なキャッシュ操作がセットアッププロセスから削除されました。 以前は、Commerceは、
bin/magento setup:db-data:upgrade
またはbin/magento setup:upgrade
が実行されたときに不必要に設定をディスクに書き込んでいたので、セットアップ中に som モジュールで問題が発生していました。 GitHub-38124
- メモリ不足と大きなテーブルによるデプロイメントの問題が解決されました。 大きな MySQL テーブルに関連するメモリ超過エラーが原因で、
bin/magento setup:upgrade
コマンドが失敗しなくなりました。
app/etc/config.php
が削除された後、bin/magento setup:install
が正常に完了するようになりました。 以前は、見つからないファイルがインストール中に再生成されず、Commerceがエラーをスローしていました。 GitHub-37805
bin/magento setup:upgrade
は、テーブルと関連するmview
インデクサーの両方をインストールする新しいモジュールをインストールする際に正常に実行されるようにリファクタリングされました。 GitHub-37304
- 区切り文字エラーが原因でデータベースの復元が失敗しなくなりました。 以前は、Commerceが
bin/magento setup:rollback --db
を実行すると、次のエラーがスローされていました:Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
。
bin/magento setup:upgrade
コマンドは、このタイプの MySQL メモリ制限関連のエラーPHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes)
で失敗しなくなりました。 複数選択属性の移行が最適化され、setup:upgrade
行時のメモリ消費が削減されました。
- データベースのバックアップの生成が、管理とコマンドラインの両方から期待どおりに動作するようになりました。 以前は、Adobe Commerceは次のエラーをスローしていました:
Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
。
--lock-db-prefix
パラメーターを指定せずにsetup:config:set
を実行しても、現在の値はenv.php
ファイルから消去されません。
- Varnish 設定が更新され、ゲストユーザーが他の顧客グループに関連するキャッシュされたコンテンツにアクセスできなくなりました。
- 買い物客は、Checkout Async が有効な場合に、分割データベースを実装するデプロイメントに注文できるようになりました。 以前は、Adobe Commerceは次のエラーをスローしていました:
An error occurred on the server. Please try to place the order again
。
- テーブルと関連する
mview
インデクサーの両方をインストールする新しいモジュールをインストールすると、bin/magento setup:upgrade
が正常に完了するようになりました。
bin/magento setup:upgrade
では、メッセージキューのトピックにトピック名が含まれていない場合に、より詳細なエラーメッセージが表示されるようになりました。 GitHub-34246
- 結合さ
bin/magento setup:upgrade
た XML ファイルが無効な場合に、より詳細なエラーメッセージが表示されるようになりました。 エラーメッセージにファイル名が含まれるようになりました。
管理 UI
- グラフは、ダッシュボードでデフォルトで正常に無効になりました。 GitHub-38430
- Admin Sales メニューにサブメニューが正しく表示されるようになりました。 以前は、列の区切りが正しく機能せず、一部のサブメニューが表示されていませんでした。 GitHub-37812
- グリッドで複数のページが選択されている場合、Select のドロップダウンメニューオプションが管理 Content/Pages に表示されるようになりました。 GitHub-35386
- 設定のデフォルト値
system/dashboard/enable_charts
へのパスを修正しました。 グラフが、期待どおりに管理者に表示されるようになりました。 GitHub-37668
- 管理カスタマーグリッドの表示の問題を修正しました。 以前は、グリッド列は、表示されるページ内に完全には含まれていませんでした。
- 管理者の静的グリッドの行に、期待どおりにホバーカラーが適用されるようになりました。 GitHub-35358
- 空白スペースを含まないギリシャの郵便番号を買い物客が入力した場合に、チェックアウトワークフローに警告が表示されなくなりました。 GitHub-36676
- Admin
It's time to change your password
リンクが、期待どおりに Change Admin Password ページにリダイレクトされるようになりました。 GitHub-37902
- サブメニュータイトルに、ユーザーに割り当てられたアクセスレベルに関係なく、兄弟が表示されるようになりました。 以前は、サブメニューに複数の兄弟グループが存在する場合でも、この情報は、アクセス権が制限された管理者ユーザーには表示されていませんでした。
- ページタイトルのサフィックスが、製品ページの
title
タグとmeta title
タグの両方に含まれるようになりました。 GitHub-37680
- 製品の在庫ステータス条件が、関連する製品ルールに正しく適用されるようになりました。
- モバイルデバイスで「Login as Customer」ボタンが正しく表示されるようになりました。
- ログインした管理者ユーザーが新しいカスタマーグループを追加する権限を持っていない場合、Adobe Commerceでは「Admin Add new customer group」ボタンが表示されなくなりました。
- 権限が制限された管理者ユーザーは、親製品が別の範囲に割り当てられている子製品を保存できるようになりました。 以前は、子商品が変更されたスコープに割り当てられていない親商品のキャッシュをCommerceが無効にしていました。
- 管理者ユーザーは、表示データが破損したり失われたりすることなく、管理フィルタービューを正常に切り替えることができるようになりました。 GitHub-37529
- アーカイブされた注文グリッドは、期待どおりに、新しい注文ステータスで非同期に更新されるようになりました。 アーカイブ・グリッドでオーダー・ステータスを更新するイベント・ベースのアプローチにより、クレジット・メモ後の払戻を含む正確なオーダー・ステータスが得られます。
- 管理グリッドのアクション ドロップダウンメニューは、Content/Pages (および B2B モジュールの共有カタログ)に対して選択されたリンクの上に期待どおりにマウスポインターを置けるようになりました。 以前は、このメニューはほとんど非表示であり、管理者ユーザーはオプションを表示するためにスクロールする必要がありました。 GitHub-36710
Analytics
- 製品の詳細ページの
meta itemprop="image"
とmeta itemprop="description"
のプロパティを、メインの製品画像で使用できるようになりました。 GitHub-37497
- Catalog Price Scope が Website に設定されている場合、買い物かごグリッドの製品の「レポート」セクションに正しい製品価格が表示されるようになりました。 以前は、製品がデフォルトの web サイト以外の web サイトに割り当てられた場合、製品価格はゼロと表示されていました。
- 売上高レポートが、Google Analytics(GA4)ポータルで期待どおりに表示されるようになりました。 GitHub-37605
- Google Tag Manager データレイヤーの
price
およびquantity
値が、Google Analyticsに期待どおりに数値として送信されるようになりました。 以前は、これらの値は文字列として送信されていました。
- デプロイメントデータをNew Relic モジュールに送信する際のヘッダーデータの処理エラーが解決されました。
- Google Analytics 3 のタグが、Google Analytics 4 のタグが無効な場合に、期待どおりにトリガーされるようになりました。
バナー
- バナーコンテンツの読み込み方法をリファクタリングして、過剰なデータベースクエリを削除し、買い物かごの読み込み時間を改善しました。
バンドル製品
- Display Out Of Stock* が有効な場合、カテゴリの製品数がバンドル製品を正しくカウントするようになりました。
customerCart
クエリで、バンドル製品に適用されたすべての割引が期待どおりに返されるようになりました。 以前は、バンドル製品に適用された割引合計はゼロとして返されていました。
- 製品詳細ページに、100% の割引が適用されたバンドル製品の正しい価格が表示されるようになりました。 以前は、Commerceは、バンドル商品価格に 100% 割引を適用していませんでした。
- 価格が動的なバンドル製品の場合、買い物かごの価格ルールが、各子製品ではなく製品バンドルに適用されるようになりました。
POST V1/shipment
エンドポイントを使用してバンドル製品を含む出荷を作成する際に発生するエラーを修正しました。 エンドポイントで項目が期待どおりに追加され、次のエラーが返されなくなりました。The shipment couldn't be saved
- スケジュールされた無期限の更新を含むシンプルな製品を含む、バンドル製品のスケジュールされた更新を保存できるようになりました。 バンドル製品スナップショットが作成されると、リンクされた製品が ID、エンティティ ID および SKU で取得されるようになりました。 以前は、シンプル製品の現在のバージョンではなく、バンドル製品の予定された更新が保存されたときに、シンプル製品の元のバージョンが確認されていました。
- 製品に together しい出荷タイプが設定されている場合、
GET V1/shipment/
API ルートを使用して、バンドル製品での出荷を作成できるようになりました。 バンドル製品も、出荷タイプのプロパティに基づいて検証されるようになりました。
- 買い物客は、ストアフロントの買い物かごで、バンドル製品の数量を編集できるようになりました。 以前は、商品がストアフロントの買い物かごで編集され、エラーが表示された場合、Adobe Commerceで
ItemId
の null 値が処理されませんでした。 GitHub-37696
- スラッシュ(
/
)文字を含む SKU を使用して、バンドル製品を管理者の注文に正常に追加できるようになりました。 以前は、管理者ユーザーはこの方法を使用して製品を管理注文に追加できず、CommerceがJavaScript エラーをスローしていました。
- 管理者ユーザーは、対応するシンプルな製品で Qty Uses Decimal が有効になっている場合、新しく追加されたバンドルオプションの小数のデフォルト値を設定できるようになりました。 以前は、保存した選択内容に対してのみ小数値を設定できました。
- 多数のオプションを持つバンドル製品の保存に最適なパフォーマンス
- バンドル製品が、製品オプションで SKU を複製せずに正常に読み込まれるようになりました。 以前Adobe Commerceは、重複するエントリを含むバンドル商品をインポートした際に、商品オプションで複数の重複 SKU を作成していました。
- バンドル内の製品の 1 つが在庫切れの場合、バンドル製品価格が正しく計算されるようになりました。 以前は、バンドルの一部であった製品が在庫切れだった場合、価格計算から削除されていました。
- バンドル製品は、必要な子製品の最後の製品が購入されたときに、在庫切れと表示されるようになりました。 以前は、バンドル製品は、単純な製品が在庫切れの場合にストアフロントに在庫中として表示されていました。
addBundleProductsToCart
ミューテーションを使用して、必須でないオプションを含むバンドル製品を買い物かごに追加する際のパフォーマンスの問題が解決されました。
- Show out-of-stock products 設定が有効な場合、
categoryList
クエリは、すべてのバンドルオプションを期待どおりに返すようになりました。 以前は、在庫切れのオプションはクエリ応答に含まれていませんでした。
- カタログの価格範囲が
website
に設定されている場合、POST V1/products
で作成されたバンドル製品が成功するようになりました。 以前は、整合性制約違反が発生していました。 GitHub-35595
キャッシュ
- キャッシュが Fastly CDN (Caching Application=Fastly CDN)に設定されているストアで、買い物客にカテゴリが表示されるようになりました。 これは、ゲストの買い物客と登録済み顧客の両方に影響を与えました。
- ログイン後のキャッシュ cookie が、web サイトを閲覧した後も同じになりました。 以前は、ログインコントローラーが誤ったキャッシュ cookie を送信したので、ページが複数回キャッシュされた可能性がありました。
- CMS ブロックを含む CMS ページに対するGraphQL GET操作からの応答が、Fastly キャッシュで期待どおりにクリアされるようになりました。 その後のスケジュールの更新で、これらのページの正確な更新コンテンツが表示されるようになりました。
- 親製品の子製品の 1 つが管理者から保存されると、ページキャッシュが期待どおりにクリアされるようになりました。 インデクサーの状態(スケジュール済みまたはリアルタイム)に関係なく、他の製品タイプと同様に、設定可能なバリアントのキャッシュ無効化に到達するためのプラグインチェックが導入されました。 以前は、設定可能なバリエーションが管理者から更新された後、ストアフロントの価格が正しく更新されていませんでした。
- AWS資格情報のキャッシュメカニズムを追加しました。 認証情報プロバイダーは、Commerce キャッシュを使用して、AWSから取得した認証情報を EC2 設定用にキャッシュするようになりました。
- 設定可能な商品に関連付けられた単純な商品を保存する際に、設定可能なキャッシュタグを追加することを目的とするプラグインが、期待どおりに動作するようになりました。
POST V1/products
によって単純な製品が更新された場合、関連する設定可能なすべてのキャッシュタグが、期待どおりに削除されます。 以前は、すべての価格がストアフロントで更新されているわけではなく、キャッシュを手動でクリアする必要がありました。 GitHub-36726
買い物かごとチェックアウト
- Commerceでは、永続カートが有効な場合、製品詳細ページ(PDP)や CMS ページなどのフルページキャッシュ可能なページを生成する際に、ユーザー固有の引用データを読み込まないことで、パフォーマンスを最適化するようになりました。 以前は、これらのページの生成中に、システムはユーザー固有のセッションと引用符データを不必要に読み込んでいたため、パフォーマンスに影響が及んでいました。
- カスタムアドレスのカスタム属性が、データベースで期待どおりに保存されるようになりました。 以前は、データベースに保存された属性値の前に属性コードが追加されていました。
- 買い物かごルールの生成と製品属性のフィルターテキストが改善されました。 個々の製品が複数回ロードされることはなくなりました。
- チェックアウト中にエラーが発生した場合にAdobe Commerceに情報エラーメッセージが表示され、買い物客が以前のチェックアウト手順に戻ることがなくなりました。 以前は、買い物客は配送ページに戻されていました。
cart
クエリは、仮想カートの発送方法と住所を返さなくなりました。 以前は、買い物かごに物理製品と仮想製品の両方が含まれ、すべての物理製品が削除された場合、買い物かごへのクエリ応答には引き続き発送情報が含まれていました。
- 買い物かごへの追加アクションがトリガーされた場合に、Commerceに情報メッセージが表示されるようになりました。 以前は、
The requested qty is not available
は必要に応じてストアフロントに表示されていませんでした。
- 大きなアドレス帳を持つお客様のチェックアウトページの読み込み時間が改善されました。 Commerceは、Customer Addresses Limit 設定で指定された数のお客様のアドレスのみを処理するようになりました。 以前は、Commerceはアドレス帳全体を読み込んでいました。
- 1 つの商品が在庫切れになった場合に、在庫中の商品の期待どおりに買い物かごで製品数量を変更できるようになりました。 以前は、買い物客は、在庫切れの商品の製品数量を変更できませんでした。
AdvancedSalesRule
製品属性フィルターが、decimal 属性バックエンドタイプで正しく機能するようになりました。 その結果、Coupon Type
を No Coupon に設定した買い物かごルールが期待どおりに機能するようになりました。
- バンドルと設定可能な製品の両方を含む買い物かごに、期待どおりに買い物かご全体の割引が適用されるようになりました。
- 顧客区分の Cookie が Cookie のドメイン設定に従うようになりました。 以前は、セッションが共有されていても、サブドメインを含むストアでミニ買い物かごが期待どおりに更新されていませんでした。
- 複数のアドレスに注文を送信した場合に、リージョン ID の処理中にエラーがトリガーされなくなりました。
- 買い物かごレベルで適用される固定割引金額が正しくなりました。GitHub-37496
- 発送方法を条件として設定された買い物かご価格ルールを適用する定額発送方法を選択した後、買い物客がクーポンを適用すると、クーポンが注文に正常に適用されるようになりました。 以前は、クーポンが無効というエラーが表示され、クーポンが適用されていませんでした。 GitHub-34866
- 買い物客がChrome オートコンプリートを使用して配送先住所を入力した後、配送方法ブロックが再読み込みされる前に 次へ をクリックした場合、My billing and shipping address are the same のチェックボックスがデフォルトでオンのままになりました。 GitHub-33725
quote_item
テーブルのapplied_rule_ids
値に、適用されたルール ID の正しいリストが含まれるようになりました。 以前は、この値には最後に適用されたルール ID のみが含まれていました。
- セッションがサーバーから削除されると、ローカルストレージ内のミニ買い物かごと顧客データがリセットされるようになりました。 以前は、セッションファイルが削除されたときにこのデータが表示されていました。
- 永続カートが有効な場合、個別のカートが管理者から誤って結合されなくなりました。
- チェックアウトの配送手順のデフォルトの配送先住所には、以前に選択した店舗のピックインアドレスが入力されなくなりました。
- キャッシュがフラッシュされた後、カート内の製品が関連する製品リストおよびアップセル製品リストから除外されなくなりました。
- 買い物かごの税金と配送見積もりに、デフォルトの宛先設定が正確に反映されるようになりました。 以前は、デフォルトの税金宛先計算設定を設定し、州/地域と郵便番号を指定した場合、Estimate Tax and Shipping の下の買い物かごに ZIP 値のみが表示されていました。 これは、Adobe Commerceが管理者からデフォルトのリージョン ID を設定する条件文を呼び出す前に、リージョン ID を undefined に設定したことが原因です。
- 永続買い物かごが有効になっている場合、Adobe Commerceがチェックアウト中にこのエラーをスローしなくなりました:
Invalid state change requested
。 以前は、このエラーがスローされると、同じquote_id
を持つ複数の注文が作成されることがありました。
- ミニ買い物かごには、買い物かごの税金設定を反映したバンドルの製品価格が表示されるようになりました。 以前は、ミニカートには常にバンドル製品の価格に税金が含まれていました。
- アクティブな買い物かごに依存する顧客セグメントルールのパフォーマンスが向上し、買い物かごに製品を追加するのに必要な時間が短縮されました。
- 買い物かごページから提供される配送料の見積もりが正確になりました。
collectShippingRates
は 1 回だけ設定されるようになりました。 以前は、輸送見積もりは複製されていました。 GitHub-36648
- 指定した買い物かご内の商品が在庫切れである場合、
cart
クエリがエラーを返さなくなりました。 以前は、このクエリを使用して購入を行う買い物客は、商品が在庫切れで、チェックアウトページが空白の場合、購入を完了できませんでした。
- モバイル環境でログイン中にページ
POST V1/guest-carts/<cartId>/shipping-information
リロードされた場合、へのゲスト API リクエストがcancel
ステータスを返さなくなりました。 以前は、Adobe Commerceが 500 エラーをスローし、次の例外をログに記録していました。TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given
- 買い物かごルールの Subtotal (Excl. Tax) 条件が適用される際に、送料無料の実施要件が期待どおりに計算されるようになりました。 GitHub-36760
cart
クエリで、製品に対する正しい階層の価格が返されるようになりました。 GitHub-29655
- 配送ページでのクーポンの適用が選択した配送方法と競合する場合に、買い物客をガイドする情報エラーメッセージがチェックアウトページに追加されました。 以前は、買い物客に対して、前のページに戻るようにメッセージが表示されていました。
- 認証ポップアップは、ゲストのチェックアウトが有効な場合ではなく、必要な場合にのみ初期化されるようになりました。 ゲストの買い物客がチェックアウトに進もうとし、ゲストのチェックアウトが無効になると、トークンが初期化されるようになりました。 GitHub-30672
買い物かご価格ルール
- 買い物かご価格ルールの製品サブセレクト条件に、
total (incl.tax)
オプションが期待どおりに含まれるようになりました。 GitHub-34871
If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true
カタログ価格ルール条件が、カテゴリ属性と SKU 属性で正しく機能するようになりました。 以前は、この条件が買い物かご価格クーポンロジックに正しく適用されず、無効なクーポンが注文に適用されていました。 GitHub-37660
Magento_OfflineShipping
拡張機能を無効にした新しい買い物かご価格ルールを正常に保存できるようになりました。 以前は、Adobe Commerceは次のエラーをスローしていました:report.ERROR: Warning: Undefined array key "simple_free_shipping"
。 GitHub-37580
- ある発送方法に関連する買い物かご価格ルールが店舗に対して設定され、チェックアウト中にこの発送方法が別の発送方法に変更された場合、買い物かご価格ルールが期待どおりに適用されるようになりました。 以前は、
sales_order_item
テーブルでapplied_rule_ids
値が変更されることはなく、買い物かごの価格ルールが注文に適用されていませんでした。
カタログ
bin/magento cache:clean
またはbin/magento cache:flush
を実行しても、指定がない限り、ビルトインまたは Varnish フルページキャッシュ全体がフラッシュされなくなりました。 GitHub-38301
catalog_product_price dimensions-mode
がwebsite
に設定されている場合、マーチャントは製品カルーセルを使用して CMS ブロックを作成できるようになりました。 以前は、Commerceはブロックを保存せず、次の SLQ エラーをスローしていました:report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table
。
- 商品の詳細ページで商品の色が変更された場合に、Commerceに重複した画像が表示されなくなりました。 GitHub-36243
- 大規模なマルチストア環境で新しいストアを追加した後や既存のストアを変更した後に web サイト固有の値を同期するためのアルゴリズムを最適化しました。
- キャッシュされた画像ファイルのクリーンアッププロセスが改善され、
pub/media/catalog/product
フォルダーに隠しディレクトリが作成されなくなりました。 以前は、隠しディレクトリは、クリーンアップ操作中にディスク領域の問題を引き起こしていました。 操作を終了できます。これにより、削除されなかった一時的な非表示ディレクトリが残ります。
- バンドル製品の価格が正しく計算されるようになり、価格計算時の操作の順序に関する問題が解決されました。 GitHub-35665
catalog_product_price
のインデックスクエリから不要な句が削除され、大きなカタログを持つストアでのこのインデクサーのパフォーマンスが向上しました。 GitHub-32382
- Commerceでは、このフィールドを空のままにすると、製品詳細ページの Meta Description フィールドに製品説明テキストが挿入されなくなりました。 以前は、HTMLの説明にページビルダーまたは他の製品エディターによって生成されたHTMLコードが含まれている場合、そのHTMLが「Meta Description」フィールドに表示され、このフィールドを空のままにすることができませんでした。
- 設定可能な製品 PDP ページの設定可能な製品オプションが、ページ上の他の設定可能な製品オプションの影響を受けなくなりました。 以前は、ドロップダウン属性を持つ設定可能な商品は、商品の詳細ページに商品カルーセルが存在する場合に例外がトリガーされなくなりました。 スウォッチオプションを持つ設定可能な製品がページに他にある場合、設定可能な製品オプションを選択できませんでした。
- 最近閲覧した商品情報が、ストア表示の設定に従って表示されるようになりました。 以前は、最近表示された製品データは、名前や優先言語など、ストア表示ごとに更新されていませんでした。
- Chromium ベースの web ブラウザーのモバイル表示の製品ページで、Vimeo ビデオが期待どおりに再生されるようになりました。
bin/magento catalog:images:resize
コマンドで、カスタムテーマを持つカスタム web サイトに割り当てられた製品の製品画像を正しく生成できるようになりました。
- 値が
NULL
またはNOT NULL
のメタデータは、「デフォルト値を使用 チェックボックスに従って、期待どおりにデフォルトストアに保存されるよ になりました。 以前は、このチェックボックスをオフにした場合、NULL
の値を持つメタデータは保存されませんでした。
- マーチャントは、製品の詳細ページから既存の画像を正常に削除して、同じ名前の新しい画像をアップロードできるようになりました。 これまでは、このような状況では、ストアフロントの製品ページに正しい画像が表示されていませんでした。
- 製品画像
alt
属性が空に設定されている場合、productDetail
クエリが null ではなく製品名を返すようになりました。
- ダウンロード可能な製品と物理的な製品の両方を含む注文には、注文が完了するとすぐに、ダウンロード可能な製品への作業リンクが含まれるようになりました。 以前は、ダウンロード可能な製品へのリンクは、同じ注文で物理的な製品が出荷されるまで利用できませんでした。
- カテゴリをストア/ルートカテゴリから別のストア/ルートカテゴリに移動した場合に、URL の書き換えが更新されるようになりました。 サブカテゴリが新しい親カテゴリに転送されるときに、古いデータベース エントリが削除されるようになりました。 データベースには、関連するエントリのみが含まれるようになりました。 以前は、
url_path
は適切なストア ID で更新されていませんでした。
- REST
V1/products/<sku>/media
エンドポイントで、複数のメディア画像の同時アップロードを処理できるようになりました。 以前は、複数のリクエストを同時に処理している際に、一貫性のないデータが作成され、このデータがデータベースに保存されるとCommerceがエラーをスローしていました。
- 新しく作成した顧客アカウントを使用している買い物客がログアウトした場合に、顧客セグメントバナーが期待どおりに動作するようになりました。 以前は、ログインしている顧客セグメント用に作成されたバナーは、そのアカウントセッションが終了した(つまり、登録されている買い物客がログアウトした)後でも表示されていました。
- カテゴリ製品および製品カテゴリインデクサーの部分的な再インデックス性能が改善されました。 以前は、
indexer_update_all_views
cron ジョブは、1 つの製品またはカテゴリごとに複数回リインデクサーを実行していました。
- 在庫設定(数量)に基づいて商品の在庫ステータスが在庫切れに自動的に更新された場合、その後、在庫数量が更新されると、在庫ステータスが在庫切れに更新されます。 以前は、製品の在庫設定が在庫中に更新された場合、
stock_status_changed_auto
設定は無視されていました。
- Remember Category Pagination 設定が有効な場合、検索ページでツールバーの並べ替えが期待どおりに機能するようになりました。 GitHub-33220
- ストアビュー範囲のチェックボックスが選択されている場合、複数選択 Use Default Value 属性が期待どおりに保存されるようになりました。 以前は、製品を編集してデフォルト値を保存する際に、このチェックボックスをオフにしていました。
- Web サイトに対する制限アクセスを持つ管理者ユーザーは、自身の権限適用範囲内の製品に画像を追加できるようになりました。 管理者ユーザーがその製品へのアクセス権を持っていない場合は、Commerceに情報メッセージが表示されます。 以前は、web サイトへのアクセスが制限された管理者ユーザーは、アクセス権のある製品に画像を追加できませんでした。
- ユーザー定義の
special_from_date
、special_to_date
、news_from_date
、news_to_date
の値は、商品をストアビュー範囲で編集しても上書きされません。
- 商品名がストアによって異なるマルチストアデプロイメントの管理/Category/Products in category で商品を名前で並べ替えた後、Commerceに正しい名前が表示されるようになりました。 GitHub-36208
addProductsToCart
ミューテーションは、データを含むカスタマイズ可能なオプションを返すようになりました。 以前は、カスタマイズ可能な空のオプションのみが返されていました。 GitHub-37599
- 管理者ユーザーがキャッシュをクリアした後、カテゴリページを再読み込みしない場合に、新しい製品をカテゴリに追加すると、製品の位置と ID の選択が正しく表示されるようになりました。 以前は、製品の位置と選択が一致せず、正しく表示されていませんでした。
- マーチャントは、ダウンロード可能な製品について、スケジュールされた変更の今後の開始日または時刻を更新できるようになりました。 以前、Adobe Commerceは、ダウンロード可能な商品の将来の開始日時の更新中に、このエラーをスローしていました:
The downloadable link isn't related to the product. Verify the link and try again
。
- 商品のバックオーダー状態がストアフロントに正しく表示されるようになりました。 以前は、出荷可能な製品が誤ってバックオーダーと識別されていました。
- 管理者ユーザーが製品の作成時に使用する表示から別のストア表示に変更した場合に、管理者からダウンロード可能な製品にアクセスしても、エラーが発生しなくなりました。 管理者ユーザーがストア表示をすべてのストア表示からデフォルトのストア表示に切り替えた場合、製品価格が float に正常に変換されるようになりました。 以前は、Adobe Commerceがエラーをスローしていました。 GitHub-37519
use_config_manage_stock
値が1
の場合、書き出された製品のmanage_stock
値が正しくなるようになりました。 以前は、このデフォルト値は正しくありませんでした。
- カスタムオプションを使用して作成した商品の画像を削除した後に保存した場合に、Adobe Commerceで警告メッセージが表示されなくなりました。
- 製品のサムネール画像が、製品が再入荷したときに送信される製品ストックアラートメールに、期待どおりに表示されるようになりました。 以前は、この画像はアラートメールに表示されていませんでした
- カテゴリツリー(管理者 Catalog/Category)の製品数が正確になりました。 以前は、
catalog_category_product_index
テーブルからカテゴリ製品数を取得できませんでした。 このバグを引き起こしたタイプミスを修正しました。 GitHub-35417
- テーマ
view.xml
ージのproduct_image_white_borders
ークフローが無効になっている場合、ページ読み込み中に製品詳細ページのメインの製品画像が下に移動しなくなりました。 以前は、Fotorama JS の高さ設定が正しくないことが原因で、ページの読み込み中に製品画像が下に目に見えてシフトしていました。
- 顧客が価格低下アラートを購読すると、製品価格の低下が通知されるようになりました。 以前は、アプリケーションレベルのキャッシュのため、価格ドロップ通知は必ずしも送信されませんでした。
- Web API を使用して製品属性を作成するプロセスに、サーバーサイド検証が追加されました。 Catalog Input Type for Store Owner フィールドの値が
Text Field
、Text Area
、Text Editor
、Date
またはDate and Time
の場合、Use in Layered Navigation Catalog フィールドを有効にすることはできません。 以前は、カテゴリや検索結果から製品が省略されていました。
- 買い物客がページを開き、ページネーションを変更し、製品ページに移動した後、カテゴリページに戻ると、カテゴリページが正しいページネーションで再読み込みされるようになりました。 GitHub-36563
- 設定可能な製品のオプションである在庫切れのシンプルな製品は、「はい に設定されている場合、ストアフロントに無効と Display Out of Stock Products て表示されるようにな ました。 以前は、ステータスや実際の可用性にかかわらず、すべてのオプションが使用可能として表示されていました。
- 特定のストア表示で web サイト範囲属性を更新しても、グローバルスコープのその属性の値が上書きされなくなりました。 以前は、同じ SKU と
store_view_code
で複数の行が使用可能な場合に製品価格をインポートすると、デフォルトおよび「すべてのストア」表示範囲の価格が不正確になっていました。
- マーチャントは、管理者からGIF画像を製品の画像ギャラリーに追加できるようになりました。 以前は、Adobe Commerceには「
imagecolorsforindex(): Argument #2 ($color) is out of range
」というエラーが表示されていました。
- 未定義の配列キーによるエラーを処理するためのチェックが追加されました。 以前は、宣言型スキーマの許可リストの生成中にエラーが発生していました。
- Adobe Commerceが、カスタムの日付
01/01/1970
に対して有効な結果を返すようになりました。 以前は、カスタム属性は次のエラーを返していました:Invalid input datetime format of value '1/01/1970
。 GitHub-37274
- フラグメントを使用する
routes
クエリが、期待どおりにカテゴリ情報を返すようになりました。 以前は、カテゴリページで内部サーバーエラーが発生していました。 GitHub-35906
cataloginventory_stock
の部分的なインデックス再作成プロセスの問題が解決され、インデクサーのパフォーマンスが向上しました。 以前は、在庫カテゴリと製品カテゴリは正確に更新されていませんでした。
- Adobe Commerceは、商品が属するカテゴリが新しい親に移動された場合、その商品に対して 301 リダイレクトを生成するようになりました。 GitHub-37039
カタログルール
- スケジュールの更新で有効にすると、カタログルールのインデックスが正しく作成されるようになりました。 その結果、割引価格が正しく生成され、インデックスが作成されるようになりました。 以前は、2 つのカタログルールが使用可能で、最初のルールのカタログルールのインデックス作成操作が完了する前に、最初のルールの後に 1 つのルールがアクティブ化された場合、2 番目のカタログルールに対してカタログルール割引価格が生成されませんでした。
- カタログルールが、複数の web サイト環境で期待どおりに適用されるようになりました。
設定可能な製品
- マーチャントは、設定可能な製品を設定する際に、関連付けられている単純な製品のソースに影響を与えることなく、Skip quantity at this time と Skip image uploading at this time を選択できるようになりました。 以前は、Skip quantity at this time を選択すると製品ソースが消えていました。
- すべてのオプションが同じ価格の場合、設定可能な製品価格の As low as ラベルは表示されなくなりました。
- Web サイト権限を持つ管理者ユーザーは、設定可能な製品の一部である子製品を、別のストアコンテキストで保存できるようになりました。 インデックス再作成プロセスでは、このタイプの設定可能な製品をスキップするようになりました。
- スケジュールされた更新によって 1 つの子製品が無効になっている場合、2 つの子製品を持つ設定可能な製品が、在庫切れとしてマークされなくなりました。
- 複数のオプションを持つ設定可能な製品の保存操作のパフォーマンスが向上しました。 以前は、製品の保存操作中にタイムアウトが発生する可能性がありました。 GitHub-36928
- 買い物客が製品オプションを選択すると、設定可能な製品価格のストアフロント表示が期待どおりに変更されるようになりました。 GitHub-37378
クーポン
- お客様ごとの使用回数が制限されているクーポンコードを、以前に使用された注文が失敗した場合に 2 回使用できるようになりました。 以前は、以前の注文がキャンセルされたときにプロモーションコードがリリースされていませんでした。
- スペース文字を含むクーポンコードが無効でなくなりました。 以前は、クーポンコードにスペース文字(実際のコードの前または後)が含まれていると、検証に失敗していました。 GitHub-38048
- 買い物客は、同じ買い物かご価格ルールによって生成された 2 つの個別の自動生成クーポンコードを使用できるようになりました。 クーポンタイプが
Auto
に選択された場合、Uses per Coupon
フィールドが有効になりました(クーポンタイプ =Specific Coupon
の場合と同様)。 これにより、コードが異なる場合、買い物客は複数のクーポンコードを同じ買い物かご価格に適用できます。
- 買い物客の単一使用クーポン値が、適用された注文がキャンセルされた際に、期待どおりに復元されるようになりました。
GET V1/coupons/<couponId>
エンドポイントは、自動生成されたクーポンと同様に、手動で作成されたクーポンに対して期待される完全な応答を返すようになりました。 以前は、一部のフィールド(usage_limit
、usage_per_customer
、created_at
など)が省略されていました。
cron
aggregate_sales_report_bestsellers_data
cron ジョブで非常に大きな一時 MySQL テーブルが作成されなくなり、正常に完了します。 この cron ジョブでは、すべてのストアではなく、ストアごとにデータを一度に挿入するようになりました。 以前は、この cron ジョブを実行するとNo space left on device
エラーが発生する可能性がありました。
- Cron ジョブが不要な cron ジョブロックを取得しようとするのを防ぎ、
cron_schedule
テーブル内の保留中のレコード数を削減しました。 以前は、cron ジョブは、ジョブを実行するのに遅すぎる場合にロックを取得しようとしました。cron_schedule
の Cron ジョブは、スケジュールされた時間を既に過ぎていても、失敗としてマークされませんでした。 Commerceは、このエラーをエラーログに繰り返し表示しました:report.WARNING: Could not acquire lock for cron job: indexer_update_all_views
。
- Cron 式での 0 による除算の致命的なエラーを修正しました。 GitHub-37804
sales_clean_quotes
cron プロセスは、見積もりテーブルのstore_id
とupdated_at columns
に複合インデックスを追加することで実行速度を向上させるように最適化されています。 この変更により、多くの引用符を処理する際の cron ジョブのパフォーマンスが向上します。
- 管理者ユーザーは、
bin/magento cron:run
プロセスが現在実行しているタスクを表示できるようになりました。 現在実行中のプロセスのタイトルに、グループ名とジョブ名がリストされるようになりました。 GitHub-34321
顧客
- Adobe Commerceでは、設定に基づいて、カスタマーを編集ページに「Date of Birth」、「Tax/VAT Number」、「Gender」、「Telephone」、「Company」および「Fax」フィールドを表示するようになりました。 GitHub-36196
顧客セグメント
- 顧客セグメント条件で、一致したすべての顧客が期待どおりに読み込まれるようになりました。 以前は、一致した顧客リストの顧客セグメントには、一致した顧客のすべてが含まれていませんでした。
EAV
- EAV インデクサーでは、バッチ処理中に非表示のエンティティを削除する必要がなくなりました。 デフォルトでは、インデクサーは非表示の製品に対するバッチを実行しなくなり、インデクサーのパフォーマンスが向上しました。
電子メール
- 分音記号またはアクセント記号を含むメール(utf8 メール)が、顧客および会社と、ゲストおよび登録済みの顧客の注文配置でサポートされるようになりました。 以前は、Commerceは分音記号を含む顧客レコードを保存せず、次のエラーを表示していました:
Something went wrong while saving the customer
。
- メール送信者名にコロンを使用できなくなりました。 新しい検証ルールにより、Admin Stores > General の「メールアドレスを格納」セクションで、コロン文字を含む送信者名が保存されるのを防ぐようになりました。 以前は、マーチャントはコロン文字を含む送信者名を保存できたため、メールサーバーエラーが発生していました。
- カスタム画像オプションを含む商品に関して、HTMLメールを返す(デフォルトテンプレート)で、画像オプションが顧客のマークアップとして表示されなくなりました。
- 会社の管理者を割り当てメールに
CMS Block URL
変数が含まれている場合、会社の管理者の詳細は期待どおりに保存され、管理者は正しくリダイレクトされるようになりました。
- 顧客のメールアドレスに分音記号を含めることができるようになりました。 以前は、フロントエンド検証により、メールアドレスに発音区別符号を持つユーザーの作成が禁止されていました。 GitHub-12075
- 在庫および価格のアラートメールが、web サイトのデフォルトストア表示に設定された言語に従って翻訳されるようになりました。 以前は、これらのメールは翻訳されていませんでした。
POST V1/order/notify-orders-are-ready-for-pickup
は、注文の準備が整った場合にのみ、注文の受け取り準備が整ったことを顧客に警告するメールを送信するようになりました。 メールは、リクエストが例外なく実行された場合にのみトリガーされるようになりました。
フレームワーク
- Varnish を使用して HTTP ヘッダーを出力する際に
UNCACHEABLE
値を追加することで、デバッグを改善しました。 以前は、HIT
個またはMISS
個の値のみが出力されていました。 GitHub-37912
- デフォルトの Varnish 圧縮処理をサポートするコードを追加しました。 GitHub-38309
bin/magento varnish:vcl:generate
コマンドにinput-file argument
が含まれるようになりました。 これにより、Commerce ルートを基準とした、Git リポジトリへのカスタム VCL の追加がサポートされます。 GitHub-37363
- Varnish 4.x と 5.x のサポートがコードベースから削除されました。 GitHub-38304
composer.json
のphpcodesniffer-composer-installer
は v1.0.0 にアップグレードされました。GitHub-36913
- RFC3986 に準拠していない文字は、コードベースから削除されました。 GitHub-38355
Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid
クラスで間違った PHP doc タグを修正しました。 GitHub-38186
- コーディング手法の際に作成されたコードベース全体でリファクタリングされたコードでは、
app/etc/env.php
ファイルに含まれているすべてのキャッシュセクションにフロントエンドセクションが含まれることが規定されていました。 このリファクタリングは、Commerce 2.4.4 より前のデプロイメントをアップグレードする際に発生する可能性のある問題に対処します。 GitHub-38363
- API 呼び出し中に値 0 の在庫 ID が指定された場合に、
StockItemValidator.php
に関連付けられるエラーメッセージを明確にしました。 GitHub-31107
- 依存関係の挿入コンパイル中にエラーが発生しないように、デフォルトの空の配列を
CompositeTagGenerator
に$tagGenerators
加しました。 以前は、Magento_DirectoryGraphQl
モジュールとMagento_StoreGraphQl
モジュールが無効になっている場合にbin/magento setup:upgrade
コマンドを実行すると、エラーが発生していました。 GitHub-38165
- 未使用の
AlgorithmProviderFactory
クラスが削除されたほか、JweAlgorithmManagerFactory.php
、JweContentAlgorithmManagerFactory.php
、JwsAlgorithmManagerFactory
などのクラスのこのクラスに対する依存関係も削除されました。 GitHub-37783
var/log/system.log
ファイルにmain.INFO error
メッセージが含まれなくなりました。 メニューエントリ ログがレベル INFO から DEBUG に移動されました。 以前は、var/log/system.log
ファイルには次のようなメッセージが殺到していました:Add of item with id Magento_Theme::design_config was processed …
。
exec()
が false を返した場合に、Redis プリロードが失敗しなくなりました。 プリロードプロセスに検証が追加され、array_combine
が 2 番目の引数としてfalse
を受け取らなくなりました。 その結果、がfalse
を返した場合、プリロードexec()
引き続き実行されます。 GitHub-37509
Magento_CatalogWidget
モジュールをリファクタリングして、$block
エスケープ関数を$escaper
エスケープ関数に置き換えました。 GitHub-37107
Swaziland
がコードベース全体でEswatini
に更新されました。 GitHub-37873
- 利用可能な通貨の一覧に新しいニカラグア通貨(NIO)を追加しました。
reponseBody
変数の名前をapp/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
でresponseBody
に変更しました。GitHub-38093
- 小数点数量が有効になっている製品のトランザクションで発生した小数丸めエラーを解決しました。 GitHub-37817
- 管理者カスタマーグリッドの日付フィルターが、指定されたロケールに従って期待どおりに機能するようになりました。
bin/magento setup:upgrade
コマンドは、$schemaPatch
変数データタイプが原因で失敗しなくなりました。 以前は、文字列値がget_class
関数に渡されたため、エラーが発生していました。 GitHub-37545
- Adobe Commerce Cloud上のスレーブ接続で
synchronous_replication
が有効になっている場合に、データベースの読み取りで重大なエラーが発生しなくなりました。
- consumer に
max_messages = 0
を設定したトランザクション中に接続がタイムアウトした場合、MySQL データベースへの接続が復元されるようになりました。 以前は、接続は終了していました。
magento/module-release-notification
コアモジュールは、2.4-develop コードで、次のコメントを付けて非推奨(廃止予定)としてマークされました。Starting from Magento 2.4.7, Magento_ReleaseNotification module is deprecated in favor of another in-product messaging mechanism
- プロキシコードの生成で、実稼動モードで実行されるデプロイメントのプロキシファイルとファクトリファイルが期待どおりに生成されるようになりました。 GitHub-35252
- インドのラダック州が「Admin address State」のドロップダウンメニューにオプションとして表示されるようになりました。 GitHub-33698
- イベントカウントダウンティッカーがカテゴリページで期待どおりに表示されるようになりました。
- 禁止された
@author
タグはコードベースから削除されました。これには、Magento_user-variable-wee
、Magento_Catalog
、Magento_Customer
、Magento_Wishlist
、Magento_Review
Tax
などのモジュールや、フレームワーク全体を通じたものが含まれます。 GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
User
モジュールの JSON シリアライザーは、より正確な新しいシリアライザー(JsonHexTag
)に置き換えられました。 以前は、通常のシリアライザーでシリアル化されたデータにエスケープされていない要素が含まれている場合、そのデータを使用しようとするとCommerceがクラッシュすることがありました。 GitHub-31377
- 完全な再インデックス(
bin/magento indexer:reindex
)の実行中に、パイプラインのエラーが破損しなくなりました。 プロセス マネージャーがプロセスをフォークする前に AMPQ 接続が閉じられました。
- キューメッセージバリデーターが、すべての配列要素のサブタイプを検証するようになりました。 以前は、Commerceは例外をスローしました。
app/etc/env.php
のトピックごとのキュー接続の設定が正しく機能するようになりました。 以前は、カスタム交換で新しいメッセージキューが作成されると、製品アラートキューが正しく生成されませんでした。 トピックのキュー接続がカスタム交換でapp/etc/env.php
に構成されている場合、そのカスタム交換でトピックすべての新しいバインドが作成されました。 マーチャントは製品アラートを処理できませんでした。
- MariaDB サーバーをバージョン 10.5.1 以上にアップグレードする際に、
/* mariadb-5.3 */
コメントでマークされたテンポラル形式がbin/magento setup:install
ード中にエラーを引き起こさなくなりました。
- AwsS3 ドライバーは、デフォルトのベースファイルストレージ実装の代わりに、期待どおりに動作するようになりました。 以前は、このドライバーがファイルの記憶域に対して構成されている場合、データが破損する可能性がありました。 GitHub-37844
$_ENV
変数を使用するbin/magento config:show
およびset
コマンドで、キャメルケースまたは大文字を含む web サイトおよびストアコードの使用がサポートされるようになりました。
- CSS レイアウトをサポートするために Tailwind 3 で使用されるように、
!important
を含むクラスを追加しました。 GitHub-37568
trim-input.js
ファイルに追加されたjQuery
の依存関係がありません。 GitHub-37683
- イベント固有の詳細は、
log
メソッドの 2 番目の属性(context
)として渡されるようになりました。 GitHub-37879
- 縦横比の値がカタログ画像に追加され、不要なスクリプトが UI フレームワークから削除されました。 GitHub-37691
- 無効な XML 設定によってトリガーされるエラーメッセージを、より詳しく表示するように改訂しました。 GitHub-37788
- コードベース全体での動的プロパティの作成に関連する、リファクタリングされた非推奨コード。
- 製品データベースが非常に活発な大型店舗向けのインデクサーのパフォーマンスが向上しました。 インデクサーは、最新の製品情報に対して、複数回ではなく、各インデックスに対して 1 回インデックスを作成するようになりました。 以前は、製品が web サイトから消え、web サイト上の製品データが古い可能性がありました。 GitHub-30012
- スレーブデータベース接続
mview_state
使用可能な場合、レコードのステータスが変更ログアクティビティに基づいて状態を正確に示すようになりました。 以前は、変更ログに新しいエントリがない場合でも、クラウドデプロイメントでこれらのレコードはwaiting
しい状態のままでした。
- 非推奨の
ZendCurrency
クラスとの機能の等価性を維持するために、通貨形式のprecision
オプションのサポートを追加しました。
- cookie メッセージが監視可能な属性に変換され、開発者がステートを操作して、UI の変更をトリガーできる可能性が生まれました。 以前は、cookie は読み取り専用であり、操作できませんでした。 GitHub-37308
- 管理者ユーザーは、Commerce インスタンスが S3 ストレージに接続されている場合、請求書を生成できるようになりました。 以前は、Commerceには「
Cannot create image resource. File not found
」というエラーが表示されていました。 GitHub-35706
- VIES 検証サービスによる VAT 番号の検証が失敗した場合、Adobe Commerceで例外メッセージが期待どおりにログに記録されるようになりました。 GitHub-36065
- 管理者ロールの作成時に管理者ロールを取得するために使用されるクエリから
Administrators
名が削除されました。 GitHub-36998
app/etc/env.php
ファイルに無効なデータベースユーザー名が含まれていても、bin/magento setup:config:set
コマンドが失敗しなくなりました。 GitHub-37409
- デフォルトの管理 UI コンポーネントの予約語で列で並べ替えても、
var/log/exception.log
で SQL エラーが発生しなくなりました。 GitHub-37423
- コスタリカに国家情報を提供するために
AddDataForCostaRica.php
を追加しました。 GitHub-37382。
- ユーザーが管理者から無効な URL にアクセスしようとする場合のエラーメッセージを改善しました。 GitHub-35682。
- 通貨記号の
Param $options[
位置]
が期待どおりに機能し、通貨記号の位置のカスタマイズがサポートされるようになりました。 以前は、Zend Framework 1 から移行した後、toCurrency
メソッドはposition
パラメータを無視していました。 この問題は、管理インターフェイス全体で発生していました。
- コードベース全体での動的プロパティの作成に関連する、リファクタリングされた非推奨コード。
- Adobe CommerceおよびMagento Open Sourceリリース 2.4.6 より前で、TinyMCE Editor を拡張することで作成されたカスタムスタイル形式が、ページビルダー
text
コンテンツタイプで期待どおりに使用できるようになりました。 以前は、カスタムスタイル形式は無視され、Adobe Commerce 2.4.6-p1 にアップグレードした後で読み込まれるデフォルトの形式のみでした。 GitHub-36950
quote.php
ファイルに次のメモを追加しました:Important: This method also copies customer data to quote and removes quote addresses
。 GitHub-37400
- ロックプロバイダーのインスタンス化はクラスを経由
\Magento\Framework\Lock\Proxy
るようになりました。 これで、ロックプロバイダーはapp/etc/env.php
ファイルを使用したlock
設定で設定されました。
- 同時要求による更新時の競合状態を防ぐために、注文に対して Mutex が実装されました。 以前は、注文キャンセルの同時リクエスト(競合状態)により、
inventory_reservation
テーブルに重複したエントリが発生していました。
populateWithArray
関数は、オブジェクトプロパティをスネークケースに正しく変換し、AbstractModel
のゲッターおよびセッターと互換性を持つようになりました。 以前は、データ属性名に複数の大文字が連続して含まれている場合、スネークケースの形式が正しくありませんでした。
- 製品を保存した後、
catalog_product_entity_varchar
テーブルの自動インクリメント値が正しくインクリメントされるようになりました。 以前は、この値は 10 増加しました。
- JavaScript/CSS キャッシュ(
No such file or directory
)をフラッシュしようとすると、Adobe Commerceがこのファイルシステム例外をスローしなくなりました。
customer_entity_int
のvalue_id
の値が正しく増分されるようになりました。 これらの属性を組み込んだエンティティを更新する際には、insert on duplicate key update
の代わりに更新クエリを実行します。 その結果、EAV モデル内で使用される自動インクリメント列が線形的に増加するようになりました。 以前は、挿入クエリの失敗が原因で、列の自動インクリメントプロセスで値がスキップされていました。 GitHub-28387
- 不要な空白を不要な
id
属性から削除しました。 (このバグはAdobe Commerce 2.4.6 コードの変更によって導入されました)。
- ストアがシングルストアモードの場合に、ストア URL にストアコードが表示されなくなりました。 GitHub-36831
around
プラグインに対するマイナーアップデートが行われました。 GitHub-31443
- スウォッチ
Helper
は、誤解を招くインポートエイリアスを削除するためにリファクタリングされています。 GitHub-31373
- 管理者ユーザーは、
sitemap.xml
ファイルを期待どおりに削除または名前変更できるようになりました。 以前は、管理者ユーザーが管理者からファイルを削除できましたが、ファイルシステムには残っていました。 GitHub-37468
- クーポンが適用された注文の支払いが失敗した場合、クーポンは使用中としてフラグ付けされなくなりました。 キューメッセージは、コンシューマーの開始時に公開された順序で処理されるようになりました。 以前は、最初のメッセージは、メッセージがキューに入っているかどうかを確認するためだけにキューから取り出され、その後で拒否されたため、最初のメッセージは最後に処理されていました。
- ユーザーが配送ラベルを印刷しようとすると、Adobe Commerceがログファイルに例外をスローしなくなりました。 以前は、添付ファイルを含む応答ヘッダーを拡張機能が変更した場合、システムはログファイルに例外をスローしていました。
- その他のHTMLクラスのサポートが
elements.xsd
に追加されました。 GitHub-36891
一般的な修正点
reponseBody
変数の名前をapp/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
でresponseBody
に変更しました。GitHub-38093
- 製品のアップデートをスケジュールしても、複数選択の属性データがクリアされなくなりました。 以前は、製品の更新がスケジュールされると、製品の複数選択属性データが誤ってクリアされていました。 GitHub-37675
- デフォルト以外のストア範囲を持つ製品を保存しても、
ProductRepository
を使用して読み込まれた際に、変更されていない属性がストアスコープされるようになりました。 GitHub-8897
- 買い物客は、アクセス制限が有効な場合、階層ノードとして設定されたページにアクセスできるようになりました。 以前は、無限リダイレクトループが発生し、ブラウザーが次のエラーをスローしました:
ERR_TOO_MANY_REDIRECTS
。
- 製品詳細ページのカスタムフィールド検証に、有益なエラーメッセージが追加されました。 GitHub-38006
- 名前フィールドで特殊文字を使用できるようになりました。 以前は、名前バリデーター内ではアンパサンド文字(&)が制限されていたため、顧客名にアンパサンドが含まれていると、顧客の追加または編集操作がブロックされていました。 GitHub-38080
- 特定のストアへのアクセスが制限されている管理者ユーザーは、一括更新アクションを使用して製品レビューを更新できるようになりました。 以前は、Commerceは次の例外をスローしていました:
report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439
。
- ストアフロントのログインページのパスワードを表示機能で、パスワードが期待どおりに表示されるようになりました。 以前は、パスワードが表示されていませんでした。 GitHub-37432
- 製品比較リストは、ゲストの買い物客に対して常に web サイト固有になり、他の web サイトから追加された製品(両方の web サイトに割り当てられた製品を含む)は含まれなくなりました。
- 絵文字を含む CMS コンテンツブロックをデータベースに保存する際、絵文字の後に切り捨てられなくなりました。 以前は、デフォルトのデータベース設定で 4 バイト文字がサポートされていなかったので、絵文字の後にコンテンツが切り捨てられていました。
- 「一致する製品 設定で設定した場合、関連する製品ルールの 次のいずれか 条件が正しく機能するようになりました。 以前は、このルールでは製品が識別されていませんでした。
- CMS ページグリッドは、管理者ユーザーに割り当てられたストア表示に基づいてページをフィルタリングするようになりました。 以前は、役割の範囲は適用されていませんでした。
- ログインページの「Show Password」チェックボックスがアクティブな場合、パスワードが期待どおりに表示されるようになりました。
- 顧客エンティティ(
rp_token
)検証のパスワードリセットトークン システム属性が、顧客アカウントの作成時の属性検証から削除されており、発音区別検証は結果の顧客 E メールにのみ含まれています。 以前は、Commerceは顧客レコードを保存せず、次のエラーを表示していました:Something went wrong while saving the customer
。
- 列を削除した後、管理ページとブロックグリッドに編集を正常に保存できるようになりました。 GitHub-37525
- 会社管理者は、ストアフロントから会社ユーザーを追加できるようになりました。 以前は、管理者ユーザーが新しいユーザーを追加しようとすると、Commerceがこのエラーをログに記録していました:
report.CRITICAL: Error: Call to a member function __toArray() on null in app/code/Magento/LoginAsCustomerLogging/Observer/LogSaveCustomerObserver.php:123
。
- ユーザーは、別のデバイスでパスワードをリセットした後、あるデバイスから新しいパスワードで正常にログインできるようになりました。
- 管理者の顧客の住所 都道府県 フィールドに、最後に保存された値が期待どおりに保持されるようになりました。 以前は、このフィールドから値を削除した場合、Commerceは引き続き、削除された値を 都道府県 フィールドに表示していました。 GitHub-36846
- 最初に選択を解除してから新しく作成した CMS ページを選択すると、Adobe Commerceで制約違反エラーがスローされなくなりました。
- 階層の web サイトのルートが、新しく作成された CMS ページに正しく割り当てられるようになりました。 以前は、新しく作成した CMS ページで、階層の web サイトのルートの選択が一致していませんでした。
- カテゴリの RSS フィードを要求しているときに、RSS Feed Top Level Category が有効になっているとエラーが発生しなくなりました。 以前は、RSS フィードのカテゴリ ページを参照すると、RSS Feed Top Level Category が有効な場合にログ ファイルのElasticsearch
CRITICAL
エラーが発生していました。
- ユーザーロールの作成中にロールの範囲が変更されると、
gws_store_groups
に正しい値が保存されるようになりました。 以前は、役割の範囲をAll
として選択した場合、ユーザーの作成時にはgws_store_groups
値が null として保存されていましたが、役割の編集時には保存されていませんでした。 また、役割の範囲をCustom
として選択した場合、gws_store_groups
の値は常に null として保存されます。
- Add Store Code to Urls 設定が有効な場合、管理者のログインページの管理者のリセットパスワードリセット リンクをクリックして、パスワードリセットページにアクセスできるようになりました。 管理者のパスワードリセットリンクをクリックすると、以前にログインページまたは 404 ページが開いていました。
- 管理統計ダッシュボードの日付範囲は、設定で設定されたタイムゾーンに基づいて計算され、データベースからデータを取得するために UTC に変換されるようになりました。
- CMS 階層フィルターは、ストア表示をフィルタリングして、Admin Content/Hierarchy で Save をクリックすると、期待どおりに動作します。 以前は、Save をクリックするとページが更新されましたが、コンテキストが失われ、選択したストア表示は表示されなくなりました。
- 「Send invitation」ボタン(管理 Marketing/Private sales/Invitation)をクリックすると、POST依頼がフォームキーと共に送信され、招待が正常に送信されるようになりました。 以前は、このボタンをクリックした場合、HTTPPOSTメソッドもフォームキーも存在しませんでした。
- AWS S3 では、0 バイトのファイルをリモートストレージに正常にコピーできるようになりました。
- 管理者ユーザーは、ストア ID が web サイト ID と一致しない別の web サイト用にその顧客が作成された場合、管理者から新しい顧客アドレスを追加できるようになりました。 以前は、Adobe Commerceには「
Something went wrong
」というポップアップメッセージが表示されていました。 GitHub-36582
- これで、CMS ブロックエディターページに正しいウィジェット
block_id
値が表示されるようになりました。 GitHub-29644
ギフトカードとラッピング
- マーチャントは、負の値を持つギフトカードを作成できなくなりました。
setGiftOptionsOnCart
のミューテーションにより、注文からのギフトラッピングが期待どおりに削除されるようになりました。gift_wrapping_id
の値は、買い物かごレベルで未設定になりました。 以前は、この値が買い物かごレベルで設定解除された場合でも、注文後にgift_wrapping_id
ールが以前の値に更新されていました。
- 簡単な商品の一部払い戻しがカードが適用された注文から処理された場合、ギフトカードのアカウントは期待どおりにアクティブなままになりました。 以前は、ギフトカードのアカウントは削除されていました。
setGiftOptionsOnCart
のミューテーションは、買い物かごからギフトメッセージを削除すると、データベースを正常に更新するようになりました。 以前は、メッセージの詳細はデータベースで更新されておらず、ギフトメッセージは買い物かごから削除されていませんでした。
- ギフトレジストリ
Event Information
ラベルが期待どおりに翻訳されました。
- カスタムのギフトカード金額の小計が正しく計算されるようになりました。
- 複数のアドレスを使用したチェックアウト時に、ギフトカードが正しく適用されるようになりました。 以前は、複数アドレスへの出荷でギフトカードの金額が正しく適用されず、ギフトカードの金額が無効になっていました。
getInfoBlockHtml()
呼び出し中にエミュレーションが完了し、エラーが記録されなくなった時点で、send()
呼び出し中にエミュレーションが開始されるようになりました。 以前は、system.log
ファイルは次のエラーであふれていました:main.ERROR: Environment emulation nesting is not allowed
。 GitHub-35603
updateCartItems
のバリエーションを使用して、買い物かご内のギフトカードを更新できるようになりました。 以前は、このミューテーションによって買い物かごで更新できたのはカード金額のみでした。
- ギフトラッピングが、結合された買い物かごに基づいて見積もりに期待どおりに含まれるようになりました。 以前は、ギフトメッセージは正常に結合されましたが、選択内容はラップされませんでした。
addProductsToCart
のミューテーションにより、ギフトカードが買い物かごに正常に追加されました。 以前は、このクエリはギフトカードの受信者名を想定していましたが、代わりに送信者名が返されていました。 Adobe Commerceが次のエラーをスローしました:Please specify a recipient name
。 GitHub-36665
Google Tag Manager
- Google タグモジュールが、正しいデータをデータレイヤーにプッシュするようになりました。 以前は、ページインプレッションデータはデータレイヤーにプッシュされていませんでした。
GraphQL
- 設定可能な製品を含んだリストに対してクエリを実行する際に、
getCustomerWishlist
クエリで内部サーバーエラーが発生しなくなりました。
customerCart
クエリで、バンドル製品に適用されたすべての割引が期待どおりに返されるようになりました。 以前は、バンドル製品に適用された割引合計はゼロとして返されていました。
- 設定可能な製品を含んだリストに対してクエリを実行する際に、
getCustomerWishlist
クエリで内部サーバーエラーが発生しなくなりました。
is_subscribed
フラグ、そのリゾルバー、キャッシュおよび関連するテストの宣言が、CustomerGraphQl
モジュールからNewsletterGraphQl
モジュールに移動されました。
addProductsToCart
の突然変異は、user_errors
での無関係なエラーを報告しなくなりました。 以前は、予想される操作エラーと共に、買い物かごに関連するエラーがuser_errors
に含まれていました。 GitHub-37908
products
クエリ製品フィルターは、完全一致だけでなく、部分一致の結果も返すことができるようになりました。 新しいmatch_type
(PARTIAL、FULL)属性では、一致するタイプの指定がサポートされています。 以前は、クエリは、完全な一致のみを返していました。
- 同時要求による更新中の競合状態を防ぐために、
addConfigurableProductsToCart
クエリに mutex が追加されました。 以前は、マーチャントが設定可能な同じ製品を買い物かごに追加するために 2 つの並列リクエストを送信した場合、同じ製品 SKU を持つ 2 つの個別の項目が追加されていました。 GitHub-37847
- Use in Layered Navigation が Filterable (no results) に設定されている場合、GraphQL応答の製品の集計に属性のゼロ以外の値が含まれるようになりました。 以前は、ゼロ以外の値のみが返されていました。
- カスタム製品属性を含む買い物かご関連の操作に対する
setShippingAddressForEstimate
クエリのパフォーマンスを改善しました。 以前は、クエリは、パラメーターが変数として送信された場合にすべての製品属性を読み込んでいました。
products
クエリConfigurableProduct.configurable_options
フィールドで、有効な製品が 1 つ以上ある値のみを返すようになりました。 以前は、このフィールドは無効なシンプルな製品を返しました。
GetCategories query
が生成する不要な SQL クエリの数を減らすことにより、SQL のパフォーマンスを向上しました。
- GraphQL ライブラリコンポーネントのアドレスエラー処理が期待どおりに動作するようになりました。
- 動的な価格が「いいえ」に設定され、割引が適用される場合、
products
クエリは、関連するストアフロントの価格の詳細をすべて返すようになりました。 以前は、製品の価格範囲は返されませんでした。 GitHub-35649
- GraphQLのトランザクション名に、New Relic ログの最上位のクエリ名のみが含まれるようになりました。 以前は、トランザクション名にはセカンダリクエリ名も含まれていました。
- GraphQL ライブラリコンポーネントのアドレスエラー処理が期待どおりに動作するようになりました。
- 商品の表示設定が
Catalog
に設定されている場合、その商品に対するproducts
クエリで設定が正しく解決されるようになりました。 以前は、提供されているフィルターはすべてVisibility: Catalog
設定に切り替えられました。 GitHub-36591
customer
クエリは、製品価格が税を含むように設定されている場合、注文の税を含むproduct_sale_price
フィールドを返すようになりました。 GitHub-36946
DateTime
タイプの製品属性が、製品クエリのFilterRangeTypeInput
フィルターにマッピングされるようになりました。 以前は、これらの属性はFilterMatchTypeInput
にマッピングされていました。 この変更の結果、DateTime
属性に対するクエリのフィルタリングには、一致値ではなくfrom
値とto
値が必要になります。
customer
クエリは、ストア ID でフィルタリングした場合に、特定のストア表示に関連するカスタマーレビューのみを期待どおりに返すようになりました。
items.redirect_code
応答値に null 値が含まれる場合、categories
クエリがエラーを返さなくなりました。 GitHub-36675
- ルールベース関連製品は、キャッシュが完全にクリーンアップされた後、GraphQL応答で期待どおりに読み込まれるようになりました。 以前は、ルールベースの一致を担当する製品 EAV 属性は、ストアフロントの製品ページを再度読み込んだ後で読み込まれましたが、リクエストされたエンティティでは読み込まれませんでした。
changeCustomerPassword
のミューテーションは、パスワードのリセットが成功した後、期待どおりにメールをトリガーするようになりました。
- URL 書き換え
Target Path
が絶対 URL の場合、urlResolver
およびroute
クエリが結果を返すようになりました。 以前は、リダイレクトデータの取得にurlResolver
クエリを使用した場合、NULL が返されていました。
- 複数のストアビューが存在する場合、
products
クエリは正しいラベルを返すようになりました。 GitHub-29635
categoryList
クエリは、バンドル製品の子製品に対して、入力されたproduct
セクションをoptions
ブロックの期待どおりに返すようになりました。 以前は、バンドル製品の子製品に関する情報は返されませんでした。
route
クエリは、内部サーバーエラーを発生させずに、カテゴリおよび製品のルートを期待どおりに返すようになりました。 GitHub-36544
- 複数のカテゴリが選択されている場合、
products
クエリでurl_key
値が取得されるようになりました。
product
クエリは、指定された共有カタログに割り当てられた製品に対してのみ集計を返すようになりました。 以前は、共有カタログに割り当てられていない製品の集計データが、階層化されたナビゲーションに表示されていました。
OptionValueProvider
クラスget()
メソッドは、指定されたoption_id
に基づいて属性オプション値を期待どおりに返すようになりました。 以前は、エラーが返されていました。 GitHub-35910
products
クエリは、使用可能なすべての集計(フィルター)と、正しく翻訳されたラベルを返すようになりました。 以前は、価格およびカテゴリ集計ラベルが期待どおりに翻訳されていませんでした。 GitHub-36140
ProductInterface
でrelated_products
、upsell_products
、crosssell_products
をクエリする際に、フラグメントProductCard
を使用できるようになりました。 GitHub-29769
products
クエリでは、関連製品、アップセル製品、クロスセル製品を保存順に返すようになりました。 GitHub-36461
- GraphQL クエリで、関連する商品データが位置で並べ替えられて返されるようになりました。 GitHub-33010
category_url_path
がProductAttributeFilterInput
に追加されました。これにより、1 つのクエリでカテゴリのすべての製品をリクエストできるようになりました。 GitHub-32460
- 検証を処理するメソッドの前に実行された、GraphQLのバリエーションに現在のストアを設定するメソッドのエラーを修正しました。 GitHub-31336
画像
- 管理者の favicon アップロードフォームで、
.ico
ファイルタイプがサポートされるようになりました。 GitHub-34858
インポート/エクスポート
- 製品の読み込みプロセスで、正しい区切り文字を使用して値が解析されるようになりました。 以前は、読み込みプロセスでは、パイプ(「|」)演算子を使用して、決定された値区切り記号がデフォルト値と等しくなくなるまで複数選択の値を解析していました。 その後、読み込みプロセスが失敗しました。
- CSV 読み込みで
URL Key
値が更新されると、301 リダイレクトが自動的に作成されるようになりました。
- 配送用テーブルの料金が、テーブル料金インポートの CSV ファイルで期待どおりに更新されるようになりました。 テーブルレートのアップロードファイルは、非同期設定プロセッサの cron ジョブが実行されるまで、一時的に保存されます。 この cron ジョブは、ファイルの新しい場所を選択し、それに応じてファイルを処理します。 以前は、非同期プロセッサーがファイルを間違った場所で検索したので、テーブルの速度が期待どおりに更新されませんでした。
- ファイルの書き出しグリッドに、タイムスタンプに関係なく、書き出されたすべてのファイルが表示されるようになりました。 以前は、グリッドには、同じタイムスタンプを持つすべての書き出し済みファイルが表示されませんでした。 GitHub-36951
- カスタマイズ可能なオプションを持つ製品を正常に読み込めるようになりました。 以前は、読み込み時にオプション データが失われていました。 GitHub-37598
- 書き出された CSV ファイル内の特殊文字が、Excel で期待どおりに表現されるようになりました。 GitHub-37921
- Customers and Addresses (single file) を使用したストックソースと顧客アドレスの読み込み オプションが正常に完了しました。
- メモリ不足が原因で製品の読み込みが失敗しなくなりました。 以前は、既に約 1,000 万個の製品が含まれているデータベースに任意の数の製品を読み込んだが、メモリ不足が原因で失敗していました。
- 検証チェックで、読み込む有効なデータがない場合、期待どおりに読み込みプロセスが停止し、Commerceに「
There are no valid rows to import
」というエラーが表示されるようになりました。 以前は、これらの条件で検証は成功しましたが、読み込みプロセスが失敗し、次のメッセージが表示されました:entity values are mixed
。 GitHub-32905
- 同じ製品の URL キーをインポートしても、既存のデフォルトのストア表示キーが上書きされたり削除されたりすることがなくなりました。 ストアビューで URL の書き換えが再生成されるのは、上書きされた
url_key
値がない場合のみです。 以前は、URL をインポートすると、同じ URL キーで書き換えられるので、既存のデフォルトのストア表示 URL キーが上書きされていました。 (URL の書き換えkey_store
削除されましたが、製品のデフォルトストア表示レベルの URL の書き換えはまだkey_store
に設定されていました。)
- 読み込み中に製品数が予期せず変更されなくなりました。 キャッシュフラッシュは、読み込みプロセス後まで延期されるようになりました。
- スケジュールされたインポートアクションのステータスは、インポート操作の成功または失敗を正確に表すようになりました。 以前は、すべてのアクションが成功としてログに記録されていました。
- Commerceでは、顧客レコードのインポート時に Disable Automatic Group Change Based on VAT ID 設定を考慮するようになりました。 以前は、インポートファイルの
disable_auto_group_change
値は無視されていました。 GitHub-36409
Magento\Framework\Convert\Excel
では、スペースの後に数字が続く処理に成功しました。 Excel XML で、フィールドがString
としてエンコードされるようになりました。 以前は、Excel ライターでこれらの値がnumber
としてエンコードされたため、無効なファイルが生成されていました。 GitHub-33422
- マーチャントは、インポートデータが表示されるロケールと、データバリデーターによるこのデータの解析方法を指定できるようになりました。 ロケール値が指定されていない場合、Adobe Commerceでは、データを解析するために(デフォルトのストアビューではなく)デフォルトの設定ロケールが使用されます。 管理者では、インポートプロセスとエクスポートプロセスは引き続き管理ユーザーインターフェイスのロケールを使用して、データのインポート、解析、書式設定を行います。
- 製品を読み込む管理者ユーザーとは異なるロケール設定を使用して管理者ユーザーが作成した
country_of_manufacture
属性を持つ製品を読み込むと、検証エラーがスローされなくなりました。 以前は、この読み込み操作により、country_of_manufacture
属性で検証エラーが発生する可能性がありました。
- ストアの読み込みプロセスによってストックソースデータが正常に読み込まれ、読み込みプロセスが完了すると、Commerceに完全な通知メッセージが表示されるようになりました。 以前は、通知メッセージがありませんでした。
- インデクサーがスケジュールモードの場合に、冗長インデクサーの無効化が削除されました。
use_config_manage_stock
値が1
の場合、書き出された製品のmanage_stock
値が正しくなるようになりました。 以前は、このデフォルト値は正しくありませんでした。
- スケジュールされた読み込み処理中に画像が正常に読み込まれなかった場合、Adobe Commerceのスケジュールされた読み込みグリッドに情報エラーメッセージが表示されるようになりました。 以前は、エラーメッセージは表示されませんでした。
- 製品画像が見つからない場合に、製品の読み込みプロセスが中断されなくなりました。 以前は、CSV ファイルを使用してサードパーティのサービスを読み込む際に商品の画像が見つからなかった場合、Adobe Commerceに「
Maximum error count has been reached or a system error is occurred!
」というエラーが表示されていました。
- B2B が有効になっているデプロイメントでは、顧客グリッドからの顧客書き出しのパフォーマンスが向上しました。
- 列の属性値にコンマが含まれている場合に、製品の読み込みプロセスで検証エラーがスローされ
configurable_variations
ようになりました。
- デコードは、エクスポートプロセスから除外されています。 CSV エクスポートファイルのテキストは、読み込み後も変更されません。 その結果、再読み込み後も説明は変更されません。 以前は、HTMLの書き出しと読み込みの後に、ページビルダーエディターで製品タグが削除されていました。
- 環境変数として追加されたデフォルト以外の設定(web サイトまたはストアの範囲)によって、再帰エラーで
app:config:import
プロセスが中断されなくなりました。
- 保存時に更新モードのカタログ検索と価格インデクサーがインポート後に無効にならなくなりました。 以前は、新しい製品と既存の製品がインポートされると、Elasticsearchインデクサードキュメントのバージョンが変更されていました。
- 製品レポートが
var
ディレクトリに書き出されるようになりました。 以前は、これらのレポートは、ドキュメントルートディレクトリ(クラウドインスタンスの読み取り専用ディレクトリ)に書き出されていました。
- 複数選択の顧客アドレスフィールドが空でも、書き出しプロセスが中断または停止しなくなりました。
索引
- カタログルールが設定されていない場合の
catalogrule_product
インデクサーのパフォーマンスが向上しました。 GitHub-34784
- 価格インデクサーのパフォーマンスに関する問題が解決されました。 インデクサーのパフォーマンスが徐々に低下することはなくなりました。 インデクサーは、一時テーブルの作成方法を変更することでインデクサーの処理速度を向上させるために、リファクタリングされました。 これらの一時テーブルは、時間のかかるDELETE文でアドレス指定されるのではなく、再作成されるようになりました。
- 価格インデクサーのパフォーマンスが向上しました。 価格インデクサーにインデックスヒントが追加され、インデックス作成中に実行される MySQL クエリの実行時間が改善されました。
- すべてのインデクサーが同じ色を使用してインデクサーの状態を表すようになりました。 GitHub-34648
- ルールが一部の web サイトに割り当てられていないデプロイメントでのカタログルール製品インデクサーのパフォーマンスが向上しました。
- インデクサーが Update on schedule に設定されている場合にカスタム製品タイプを作成しても、インデックスの更新
cron
タスクが失敗しなくなりました。 GitHub-36471
- カタログ権限のインデックス作成が原因で発生した、ストアフロントの製品詳細ページの表示の問題が解決されました。 以前は、Adobe Commerceは、最初にインデックステーブルをクリアし、フル
catalogpermissions_product
ースまたはcatalogpermissions_category
のインデックスプロセス中に再インデックス化していました。 インデックスの再作成が完了するまで、カタログ権限がストアフロントで期待どおりに動作しませんでした。
- 顧客グリッドに新しく作成されたカスタム顧客属性が含まれる場合に、
bin/magento indexer:reindex customer_grid
が MySQL エラーで失敗しなくなりました。 GitHub-36233
- 複数のインデクサーのインデクサーモードの変更(一括アクションインデクサーモードの変更)で、現在のモードが適用されているモードと異なる場合にのみ、インデクサーのモードを変更するようになりました。 これにより、データベースへの不要なトリップを防ぐことで、パフォーマンスが向上します。 GitHub-36823
インフラストラクチャ
- 管理者の使用状況の有効化コントローラーに、欠落している
return
ステートメントを追加しました。 以前は、return
ステートメントがなく、FrontendController
クラスのコントローラが正しく処理されませんでした。 GitHub-31374
- MySQL 8.x に準拠するために、MySQL
CREATE TEMPORARY TABLE ... LIKE
をリファクタリングされたCREATE TEMPORARY TABLE
に置き換えました。GitHub-37926
- Adobe Commerceでは、不正な形式の HTTP リクエストがサーバーに送信されたときに表示されるエラーメッセージに、サーバーのルートへのフルパスが含まれなくなりました。 文字列のみが 2 番目の引数として
explode
メソッドに渡されるようになりました。
restricted_classes.php
さんはZend_Validate_File_Upload
さんと交替しました。 以前は、php.ini
で設定された値を超える読み込みファイルをアップロード中にバリデーターがクラッシュしていました。 GitHub-37281
- データソースモデルで提供され、セットアップデータパッチ(通常はサードパーティのモジュールから)を使用してインストールされた属性オプションを、顧客セグメントルールで使用できるようになりました。 以前は、この組み合わせは、設定されたセグメントに一致する顧客のリストを返しませんでした。
- メールテンプレートエンジンで、ネストされた特定のディレクティブ(
{{if}}{{depend}}...{{/depend}}{{/if}}
など)を正しく処理できるようになりました。 GitHub-36438
- 集計データを含む
product
クエリが、ブールタイプの製品属性に対して正しいラベル値を返すようになりました。 GitHub-29123
var/tmp
とpub/static
が異なるファイルシステム上にあり、CSS Merging Enabled が有効になっている場合、結合しても CSS ファイルが破損しなくなりました。 一時ファイルは、ターゲットファイルと同じ静的ディレクトリに作成され、両方のファイルが同じファイルシステム上にあることを確認します。 その結果、名前を変更する呼び出しはアトミックです。 GitHub-29172
int
でメンバー関数getId()
を呼び出すと、管理者で顧客が表示されたときに例外がトリガーされることがあった場合に発生する可能性があるエラーを修正しました。
- デザインテーマ設定プロセッサーの配列タイプに対して、タイプチェックが適用されるようになりました。 GitHub-34440
Inventory management
- 商品は、商品数量の返品を含むクレジットメモの後で、自動的に在庫中ステータスに戻るようになりました。 以前は、商品の在庫切れが発生してもクレジットメモがこの商品の在庫を返した場合、マーチャントは商品の在庫ステータスを手動で変更する必要がありました。
- デフォルトのソース項目の再インデックスを実行する冗長なリクエストを削除し、非同期モードでのインベントリインデクサーのパフォーマンスを向上しました。
- 設定可能な製品のストアフロント在庫数の精度に影響を与えた在庫インデクサーの問題を修正しました。 GitHub-36421
- REST
V1/inventory/source-items
を介した在庫ソース項目の更新が、より高速に動作するようになりました。 この呼び出しでは、変更されていない在庫商品に対する再インデックスまたはクリーンキャッシュ操作はトリガーされなくなります。
- REST
V1/products/<sku>
では、製品の在庫ステータスを更新する際に、自動在庫再インデックスをトリガーするようになりました。 以前は、更新される製品の在庫の再インデックスがトリガーされていませんでした。
V1/inventory/source-items
が子製品を更新した際に、ストアフロントで設定可能な製品ストックステータスが期待どおりに更新されるようになりました。
POST <store_code>/V1/inventory/source-items
REST 呼び出しで、返された在庫ソース項目の空白のペイロードを検証し、必要に応じて検証に関するエラーメッセージを送信するようになりました。
- マーチャントは、製品に対して No Manage Stock 設定が有効になっている場合、注文を受け取る準備が整ったことを買い物客に通知できるようになりました。 以前は、この設定を有効にすると、Commerceに「
Your order is not ready for pickup
」というエラーメッセージが表示されていました。
- マーチャントは、設定可能な製品に関連付けられた単純な製品が削除された注文について、クレジットメモを作成できるようになりました。 以前は、マーチャントはクレジットメモを作成できず、Commerceは
TypeError
の例外をスローしました。
- 管理グリッドソース数は、フィルターが適用された後に有効なレコードを返すようになりました。 以前は、
getSourcesCount
メソッドは、フィルターが適用された後、常にソースの合計数を返していました。
- 「在庫切れを下部に移動」オプションを使用して製品を並べ替えても、カテゴリページが管理者ダッシュボードにリダイレクトされなくなりました。 この問題は、条件付きステートメント内に SQL 結合ステートメントを配置することで、それが既に含まれていないことを確認した後でのみ解決されました。 以前は、ページは次のメッセージを表示して管理ダッシュボードにリダイレクトされていました:
Invalid security or form key. Please refresh the page
。
inventory_source_item
テーブルのAUTO_INCREMENT
は、UPDATE
操作のたびに増加しなくなりました。 以前は、各更新によってこのテーブルのAUTO_INCREMENT
が増えたため、新しいレコードをinventory_source_item table
に追加する際にAUTO_INCREMENT
の値が範囲外になっていました。 その結果、管理者ユーザーが管理者から新しい製品を作成しようとすると、次のエラーが発生しました:Numeric value out of range...
。
- 管理者ユーザーは、Inventory managementを使用して、特定のストア表示範囲について、管理者から顧客の買い物かごに商品を追加できるようになりました。 以前は、在庫 ID が適切に決定されず、管理者ユーザーは、製品を顧客の買い物かごに追加できませんでした。
- インベントリとカタログ間の同期は、Synchronize with Catalog 設定に依存しなくなりました。 以前は、この設定が有効な場合にのみ、製品が適切に同期されていました。
- 出荷元を選択する際に、買い物客が利用可能な商品の範囲内にある注文から商品数量を控除した場合に、ページの再読み込み後にAdobe Commerceがエラーをスローしなくなりました。
- 設定可能な製品とその子製品の在庫値が一括在庫更新によって更新された場合に、設定可能な製
Stock Availability
の在庫ステータスが適切に更新されるようになりました。 以前は、一括更新によって設定可能な製品とその子製品を在庫に戻すことはできませんでした。
- デフォルト以外のソースのデータタイプは、最大 8 桁の整数をサポートするように
DECIMAL (12, 4)
に更新されました。これは、デフォルトの在庫に実装されている制限と同じです。 この値は、管理者の製品の追加および編集ページと同期されるようになりました。これにより、すべてのタイプのインベントリソースに対して最大 8 桁の入力検証がサポートされます。 以前は、Quantity フィールド(デフォルト以外のソースの場合)の入力は、最大 6 桁までしかサポートされていませんでした。
- ストアフロントから注文されたデフォルト以外のソースが出荷用に処理される際に、デフォルトとデフォルト以外の両方のソースに、製品の販売可能数量に関する正しい情報が表示されるようになりました。 以前は、Adobe Commerceで商品ソースの間違った在庫ステータスが表示されていました。
\Magento\Catalog\Model\Product::getIsSalable()
は、製品オブジェクト(\Magento\Catalog\Model\Product::getStoreId()
)で定義された範囲に基づいて在庫ステータスを返すようになりました。 以前は、getIsSalable()
は、製品オブジェクトに関係なく、現在の範囲に基づいて在庫ステータスを返していました。
ログ
- システムレポート機能の日時形式が更新され、ログファイルのレコードがレポートに含まれるようになりました。
- 管理者ユーザーは、管理者の「一括アクションログ」セクションで、統合によって作成された一括アクションのログを確認できるようになりました。
ログイン
- あるブラウザーでパスワードをリセットした後に別のブラウザーでログインしても、例外が発生しなくなりました。 GitHub-36447
- お客様は、アカウントを期待どおりにアクティブ化した後で、ログインページにリダイレクトされるようになりました。 以前は、顧客は自動的にログインしていました。
メディアギャラリー
- マーチャントは、同じ名前で大文字と小文字が異なる画像(大文字と小文字が混在した画像)をメディアギャラリーにアップロードできるようになりました。 以前は、画像ファイル名はページビルダーで大文字と小文字を区別せず、大文字と小文字を区別するファイルシステムでホストされているCommerce メディアストレージで、大文字と小文字を除く同じ名前のファイルが上書きされていました。
ニュースレター
- Commerceは、ニュースレターの新規購読者を受け入れる前に、ニュースレター購読機能が有効になっているかどうかを確認するようになりました。 GitHub-33040
注文件数
- 管理者の買い物かごから注文する項目のリストに移動された製品が、買い物かごから期待どおりに削除されるようになりました。 GitHub-37538
- マーチャントは、一部が報酬ポイントで支払われた注文を部分的に返品した場合に、期待どおりにクレジットメモを作成できるようになりました。 以前は、販売員が部分返品を作成した際に、注文ステータスが誤って「クローズ」と識別され、「管理」注文ページにクレジット・メモ・オプションが表示されていませんでした。
- ローテーションログのアーカイブ頻度が毎週または毎月の間隔に設定されている場合、管理アクションログのローテーションが期待どおりに機能するようになりました。 以前は、毎週または毎月の間隔を設定すると、ログがローテーションされませんでした。
- Commerceは、部分的にキャンセルされた注文に正しい割引額を適用するようになりました。 以前は、
base_discount_cancelled
列で計算された割引額が、注文が変更された際に誤って計算されていました。 割引注文の請求書に負の値のサポートが追加されました。
- REST
V1/orders
エンドポイントは、注文をインポートする際に、期待どおりにギフトカードを適用するようになりました。 以前は、このエンドポイントのギフトカード拡張属性に対する変更は保存されませんでした。
- Commerceでは、管理者ユーザーが管理者で順序を作成した際に指定された並べ替え順に基づいて、カスタムの顧客住所属性を並べ替えるようになりました。
- マーチャントがこのページから検索を開始すると、「管理受注グリッド」ページが期待どおりに読み込まれるようになりました。 以前は、マーチャントがこのテーブルから注文を検索しようとすると、ページがフリーズし、Commerceがブラウザーコンソールに
Request-URI Too Long
エラーを表示していました。
- 注文ステータスは、ストアのクレジットに追加の支払い方法を加えて注文金額全体を返金した場合、完了ではなくクローズ済みとしてマークされるようになりました。 以前は、払い戻し金額が正しく計算されていなかったので、注文ステータスは完了とマークされていました。
- データベースから注文を読み込む回数を減らすことにより、
OrderRepository::get()
メソッドのパフォーマンスを向上しました。 以前は、このメソッドは 1 つの注文を複数回ロードしていました。 GitHub-36636
- マーチャントは、他の注文項目が払い戻し可能な場合に、合計がゼロの一部の項目を含む注文に対してクレジットメモを生成できるようになりました。 以前は、顧客が注文の一部の商品を 100% 割引にした場合、マーチャントは複数の払い戻しを実行できませんでした。
- 管理者から子製品を並べ替える際に、子製品と親製品間のリンクが注文ページに表示されるようになりました。 GitHub-37028
- 注文ページのヘッダーセクションに、送信された請求書、クレジットメモ、出荷に関する期待される情報が含まれるようになりました。 GitHub-27474
- 設定可能な商品を 1 つのみ含む注文のクレジットメモが正しく生成されるようになりました。 以前は、
isLast()
関数は期待どおりにtrue
を返しませんでした。 GitHub-36722
- メインデータクエリを最適化することで、
aggregate_sales_report_bestsellers_data
cron ジョブのパフォーマンスが向上しました。
- 管理者ユーザーがお客様の web サイトに対する権限を持っていない場合に、オフライン払い戻しを含むクレジットメモを顧客残高に作成しても、Adobe Commerceがエラーをスローしなくなりました。 以前は、Adobe Commerceが次のエラーをスローしていました:
More permissions are needed to view this item
、管理者ユーザーはストアのクレジット返金を作成できませんでした。
- バンドル製品を含む注文に対して部分的な払い戻しが行われた場合、注文ステータスが正しくなりました。 以前は、一部の払い戻しが発行された後、残りの注文が完了していなくても、注文ステータスが完了とリストされていました。 GitHub-37377
- 1 回限りのカスタム価格を使用して管理者から最初に注文を生成すると、買い物客はカスタム価格を使用して製品を注文できなくなりました。 以前は、注文にカスタム価格の商品が含まれている場合、このカスタム価格は、再注文機能を使用して注文された他の注文に適用されていました。
- 買い物客は、誤った注文ステータスを注文ページに保存できなくなりました。 品目の出荷時に、注文ステータスが「完了」から「処理中」に変更されなくなりました。 以前は、Adobe Commerceは、買い物客がコメントを入力した後に注文ステータスを保存する前に、現在の注文ステータスを確認していませんでした。 GitHub-36562
- 返される設定可能な商品が削除されている場合に、Adobe Commerceがストアフロントの注文返しページでエラーをスローしなくなりました。 以前は、Adobe Commerceは次のエラーを記録していました:
report.CRITICAL: Error: Call to a member function getShipmentType() on null in magento2ee/app/code/Magento/Rma/view/frontend/templates/return/create.phtml:52
。
- 販売注文グリッドは、期待どおりに、すべての注文と非同期で同期されるようになりました。 GitHub-36562
- 注文ページの「顧客注文」セクションの購入日によるフィルタリング機能が、期待どおりに動作するようになりました。 以前は、同じタイムゾーンがメソッドに提供された場合、タイムゾーン変換ロジックでエラーがスローされるとJavaScript エラーが発生していました。
- Adobe Commerce ダッシュボードに、最初の読み込み時に正しい注文統計が表示されるようになりました。 以前は、ダッシュボードに間違った注文情報が表示されていましたが、期間が更新されると、正しい情報が表示されていました。
- 管理者ユーザーは、管理者から新しい注文を作成する際にストア表示を選択した後、期待どおりに注文ページにリダイレクトされるようになりました。
GET V1/orders/<OrderID>
エンドポイントは、シンプルな製品の在庫ステータスに関係なく、設定可能な製品とシンプルな製品の両方に関する情報を順に返すようになりました。 管理者ユーザーは、選択した項目(製品)が在庫または販売可能な場合にのみ、今すぐ注文できます。 以前は、この API は在庫がある製品に関する情報のみを返していました。
- 送料に税金が含まれており、割引後に税計算が適用される場合に、送料無料が有効になっているとクレジット メモ ページがクラッシュしなくなりました。 以前は、Adobe Commerceは
Division by zero
例外をスローしていました。 GitHub-36800
- 注文ステータスを指定せずに
rest/V1/orders/{id}/comments
エンドポイントを使用して注文に関するコメントを投稿しても、注文の表示に影響しなくなりました。 以前は、注文ステータスはsales_order
テーブルとsales_order_grid
テーブルに NULL として記録され、マイ注文ページも管理注文グリッドも注文を表示しませんでした。 GitHub-34180
- 請求書、出荷およびクレジット・メモは、含まれる ID が受注 ID と異なる場合に、関連する受注とともにアーカイブから正常に戻すことができるようになりました。 以前は、ID 番号が一致しない場合、注文がアーカイブに移動された後に復元されると、その注文から請求書、出荷、クレジット メモのレコードが欠落していました。 GitHub-36847
ページビルダー
- ページビルダーでサイズ変更した場合、画像が正しい縦横比を維持するようになりました。 GitHub-37493
- 指定された最大ファイルサイズを超える画像をアップロードしようとした場合に、必要に応じてページビルダーにエラーメッセージが表示されるようになりました。 以前は、Commerceに、指定された最大値より小さいアップロード済み画像ファイルに対してアラートポップアップメッセージが表示されていました。
- CMS ページの製品スライダーに、スライダーに含めるように選択された子製品の親製品が含まれるようになりました。 以前は、親製品がスライダーから除外されていました。
Magento_AsyncConfig
モジュールが無効な場合、HTML変換されたコンテンツが期待どおりにメールテンプレートに表示されるようになりました。 以前は、メールテンプレートには生のHTMLのみが含まれていました。
- Chrome ブラウザーでのページビルダーの保存操作のパフォーマンスが向上しました。
- 管理者/ Content / Pages ールのページビルダーオプションを使用して、
text
要素を使用して、コピーしたテキストをすべてのスタイルに挿入できるようになりました。 以前は、ページビルダーにはプレーンテキストのみが表示され、スタイルは保存されていませんでした。
- 管理者ユーザーが特定の ACL を持っている場合に、ページビルダーを使用して製品コンテンツを編集しているときに CORS エラーが表示されなくなりました。 これで、管理者ユーザーが製品を保存できます。 以前は、ページビルダーで製品が保存されず、保存プロセスが凍結していました。
- ページビルダーにアップロードされた画像の画像プレビューに、正確なファイルサイズの情報が含まれるようになりました。
- ページビルダーページ要素がChrome ブラウザーで許容可能な速度でレンダリングされるようになりました(v112)。 以前は、Chrome ブラウザーで動作しているページビルダーを使用したコンテンツの保存が遅く、Commerceがブラウザーコンソールに次のエラーを記録していました。
[ERROR] Page Builder was rendering for 5 seconds without releasing locks
- ページビルダーのビデオ要素がリモートビデオファイルに直接リンクされている場合、iOS上のモバイル Safari ブラウザーでビデオ要素の自動再生が期待どおりに動作するようになりました。 以前は、プレビュー画像は表示されませんでした。
- ページビルダーがChrome ブラウザーで期待どおりに機能するようになりました。 以前は、そのブラウザーで行われたコンテンツの変更は、必ずしも保存されていませんでした。
- 製品の管理者向け製品編集ページを読み込む際に、
Uncaught TypeError
JavaScriptの断続的なエラーが発生しなくなりました。
- ページビルダーエディターを通じてアップロードされた画像に、Content > Media Gallery で使用されているものとしてタグ付けされるようになりました。 以前は、これらの画像は、メディアギャラリーで どこにも使用されていない とマークされていました。
- ページビルダーカルーセルから買い物かごに製品を追加しても、同じ製品を表示している 2 つの異なるウィジェットを含むページの項目数が重複しなくなりました。
- ページビルダーでは、ハイパーリンクを編集してテンプレートを保存する場合に
a
、ハイパーリンクタグにtabindex
HTML属性が追加されなくなりました。
- products ウィジェットとページビルダーのプレビューで、HTMLの特殊文字を正しく処理できるようになりました。 以前は、製品ウィジェットには、
&
文字を含む SKU が正しく表示されていませんでした。
- プレビューモードで完全なコンテンツブロックを選択および更新する際に、ページビルダーのテキスト要素のコンテンツが期待どおりに更新されるようになりました。
- ページビルダーのテキストエディター間でテキストのコピーと貼り付けを正常に実行できるようになりました。 以前は、テキストを貼り付けようとしたページが保存されず、Adobe Commerceに「
[ERROR] Page Builder was rendering for 5 seconds without releasing locks.
」というコンソールエラーが表示されていました。
- ページビルダー
column-block
ページビルダーの以前のバージョンで作成されたコンテンツタイプが正しく表示されるようになりました。
- 管理者からの製品作成時の製品メタデータの説明のフィルタリングが改善されました。 以前は、ページビルダーが有効な場合、製品メタデータの説明は、デフォルトのマスクに基づいて生成されていました
{{name}} {{description}}
デフォルトの製品メタ記述マスクが{{name}}
で構成されるようになりました。 GitHub-36107
- コンテンツのない動的ブロックを追加しても、エラーがトリガーされなくなりました。
支払い
- Commerceは、このエラーが発生した場合に注文の作成を防ぐことで、PayPal からの 502 エラーを正しく処理するようになりました。 以前は、PayPal の 502 エラーにもかかわらず、注文は引き続き作成されており、Commerce レコードと PayPal の間で不一致が発生していました。
- PayPal Express のチェックアウトトランザクションに、子製品 SKU と完全な製品タイトルが含まれるようになりました。
Magento/Paypal/Model/Cart.php
ファイルは、親製品のタイトルと共に子製品 SKU を収集して、製品のタイトルを子 SKU で識別するようになりました。 GitHub-36808
- Card Security Code Does Not Match 設定は、Payflow Pro 支払いプロセス中に期待どおりに処理されるようになりました。 以前は、この評価プロセスが完了せず、チェックアウトがブロックされていました。
- 買い物客が Vault トークンを持っていない場合、「Vault の支払方法」オプションが管理者のチェックアウトワークフローに表示されなくなりました。 GitHub-36273
- PayPal ボタンが有効な場合、Venmo ボタンを非表示にできるようになりました。 以前は、Venmo のボタンを買い物かご、ミニ買い物かご、製品の詳細、チェックアウトページから削除できませんでした。
- 買い物客は、チェックアウト時にクーポンコードを適用する際に配送方法を選択できるようになりました。 これまでは、これらの条件の下で、Commerceがエラーをスローし、注文に定額配送を割り当てていました。
- PayPal および PayPal クレジット支払い方法のストアフロント処理の問題が解決されました。
- ローカル支払いが有効な場合に、Ideal payments によるで支払われた注文のフォールバック URL の問題を解決しました。
- 買い物客は、姓を追加せずに PayPal 注文を作成できなくなりました。
Braintree
- Braintreeの支払い情報が店舗ごとに保存され、買い物客には、買い物をしている店舗に保存されたカード情報のみが表示されるようになりました。 以前は、買い物客は、チェックアウト中にすべての店舗から保存されたカード情報を確認できました。 GitHub-34253
- 買い物客は、カード支払い用の Vault が無効になっている場合に、Braintreeの支払い方法を使用して、複数の住所に発送される注文をチェックアウトできるようになりました。 GitHub-37615
- 一部の請求済み注文は、Braintreeアカウントに同じ通貨の 2 つの異なるマーチャントアカウント ID があるデプロイメントで、正しいアカウントで期待どおりにキャプチャされるようになりました。
- Braintreeが支払った注文で Enable Vault for Card Payments が有効になっている場合に、2 番目の部分請求を作成するとAdobe Commerceがエラーをスローしなくなりました。 以前は、マーチャントが 2 つ目の請求書を作成しようとすると、Adobe Commerceが
Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid
というエラーをスローしていました。
- 買い物客が請求先住所を更新した際に、チェックアウトワークフローで「Braintreeコンテナの支払い方法」オプションが自動的に選択解除されなくなりました。 以前は、買い物客が「My billing and shipping address are the same」ボタンの選択を解除すると、支払い方法の選択が解除されていました。
- Adobe Commerce 2.4.5-p2 からアップグレードした後、Braintreeを通じて PayPal を使用してチェックアウトする際の問題を修正しました。 GitHub-37242
- Googleの支払いモーダルポップアップの配送先住所フィールドの住所で、電話番号が期待どおりにレンダリングされるようになりました。 以前は、電話番号が欠落していました。
- Braintreeの応答に
threeDSecureInfo/eciFlag
の空の値が含まれる場合、注文がBraintreeで正常に行われるようになりました。 以前は、この値が空のときにチェックアウト中に PHP エラーが発生していました。
- ミニ買い物かごからGoogle Pay でチェックアウトする際に、買い物客が注文レビューページでクーポンを適用しても、Adobe Commerceがエラーをスローしなくなりました。 以前は、買い物客は 404 ページにリダイレクトされていました。
- 買い物客は、非表示の ReCAPTCHA v2 または v3 で、Braintree支払いとAdobe Commerce 2.4.6 を使用してチェックアウトを完了できるようになりました。 GitHub-37241
- 買い物客は、最初に必要なオプションを選択しないと、「PayPal」ボタンをクリックして設定可能な製品を購入できなくなりました。 以前は、買い物客が「PayPal」ボタンをクリックすると、その後エラーが発生して製品ページにリダイレクトされていました。
- PayPal ボタンが、買い物かごページとミニ買い物かごページに期待どおりに表示されるようになりました。 以前は、このボタンは買い物かごページには表示されず、ミニ買い物かごページでは重複していました。
パフォーマンス
- Sales/Orders ページの一括アクションドロップダウンメニューで複数回クリックしても、複数のPOSTリクエストが生成されなくなりました。 GitHub-37997
- ページの Cache-Control ヘッダーに
private
が含まれていない限り、買い物客が 301 リダイレクトをトリガーするページに移動すると、200
または404
の応答のみがキャッシュされます。 以前は、Cache-Control ヘッダーにprivate
を含む HTTP ステータス 200 がキャッシュされており、HTTP ステータス 301 は、Cache-Control ヘッダーにprivate
が含まれていない限りキャッシュされていました。 GitHub-36492
- 未使用の
Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper
をMagento\Catalog\Model\ProductRepository
から削除しました。 以前は、ProductRepository
はこのヘルパー(Adminhtml
コントローラー)を読み込んでいました。 GitHub-37864
- バンドルされた製品に多数のオプションが追加された場合のページ読み込み速度のパフォーマンスが向上しました。 GitHub-29409
- 「Products in Category」タブからカテゴリに製品を割り当てるプロセスが最適化されました。 製品がグリッドに完全に読み込まれるまで、「Add Product by SKU」タブの「Assign」ボタンと「Remove」ボタンが無効になります。 以前は、管理者ユーザーは、数百万の登録済み製品が含まれるカタログの SKU で製品を追加できませんでした。
- 多くのカスタム製品属性で実行する場合の、
addProductToCart
ミューテーションのパフォーマンスが向上しました。 以前は、このミューテーションが多くの製品属性(約 1000)で実行された場合、Commerceはすべての製品属性を読み込もうとしました。
- 買い物かごルールで使用される製品属性を読み込む際のパフォーマンスの問題が解決されました。 アクティブな買い物かごルールの製品属性のみが読み込まれるようになりました。
bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml
コマンドを複数回実行すると、正常に実行されるようになりました。 以前は、複数回実行すると、次のエラーがスローされていました。Coupon with the same code already exists
プロモーション
- Fixed amount discount for whole cart 価ルールの効果は、Apply to shipping amount 価ルールに適用されると、製品と出荷金額の間で期待どおりに比例配分されるようになりました。 以前は、割引計算が正しくありませんでした。
- これで、Discard Subsequent Rules 設定が期待どおりに適用されます。 この設定が有効になっている場合、優先度の低い他のルールは別の製品にのみ適用できます。 GitHub-35707
reCAPTCHA
- 非表示の reCAPTCHA v3 が、「チェックアウトページの Sign in」ボタンで期待どおりに動作するようになりました。 以前は、買い物客がログインできず、CommerceがJavaScript エラーをスローしていました。
- チェックアウトワークフローのGoogle reCAPTCHA が、小切手、マネーオーダー、カスタム支払い方法で期待どおりに機能するようになりました。
- Adobe Commerce ReCAPTCHA チェックボックスが読み込まれる前にGoogle フォームを送信することができなくなりました。
- reCAPTCHA ウィジェットが、支払いページの「Place Order」ボタンの前に表示されるようになりました。 以前は、ウィジェットはページの上部に表示されていました。
レポート
- デフォルト以外の通貨を使用するストアで注文が生成された場合、注文レポート(REPORTS > Sales > Orders)に正しい注文値が含まれるようになりました。 以前は、このレポートに誤った値が含まれていました。 GitHub-36742
- 販売注文レポートフォームの誤解を招く情報が、わかりやすいように改訂されました。
- 管理者ユーザーは、放棄された買い物かごレポート ページから、
+
(プラス)記号を含むメールを持つレコードを検索できるようになりました。 GitHub-36560
- GraphQL管理者からNew Relicを無効にした後、Commerce トランザクション名が正しく表示されるようになりました。 GitHub-36112
レビュー
- Invisible reCAPTCHA v3 が有効になっている場合、買い物客が重複した製品レビューをすばやく送信できなくなりました。
報酬
- ポイントの有効期限が切れると、報酬ポイントの有効期限に関するメールが送信されなくなります。
magento_reward_balance_warning_notification
タスクとmagento_reward_expire_points
cron タスクがリファクタリングされ、柔軟性とメール送信能力が向上しました。 以前は、マーチャントは、これらの cron タスクによって短時間で生成される多くのメールを送信することはできませんでした。 これにより、時間依存の通知の配信に遅延が生じる可能性があります。
- 期限切れの報酬ポイントが、期待どおりに買い物客の現在の報酬ポイントの残高から減算されるようになりました。
- 報酬ポイントの残高の更新メール通知で、現在のストアコンテキストが考慮されるようになりました。 以前は、報酬ポイントの残高を更新するメールは、デフォルトストアの設定を使用していました。
- 報酬ポイントは、クレジットメモの作成後に返金できるようになりました。 以前は、マーチャントはクレジットメモを作成した後に報酬ポイントを払い戻すことができず、注文ステータスは
Closed
ではなくCompleted
のままでした。
RMA
- REST
POST /V1/returns
リクエストで、製品ごとに 1 つの RMA が作成されるようになりました。 以前は、このリクエストは検証をバイパスして、製品ごとに複数の RMA を返す可能性がありました。
- Show on Storefront RMA 属性が no に設定されている場合、RMA 属性がデフォルトの EAV フォームに自動的に追加されるようになりました。 以前は、カスタムの戻り値の属性を作成し、Show on Storefront の RMA 属性を no に設定すると、RMA アイテムの詳細ポップアップが空白になっていました。
- Enable RMA 属性の値が、製品編集ページの「Use Config」チェックボックスが有効な場合に設定で指定された値と一致するようになりました。
- 個々の製品レベルの Enable RMA 属性は、ストア RMA 設定の設定に従うようになりました。 以前は、製品を追加すると、ストアの設定に関係なく、この設定はデフォルトでオフに切り替えられていました。
検索 search-heading
- ヘッダーのミニ検索フロントエンドのオートコンプリート検索候補が、期待どおりに機能するようになりました。 以前は、この機能が有効な場合、オートコンプリートによってこのフィールドに値が入力されることはありませんでした。 GitHub-37557
- 管理者の検索バーから実行されるクエリのパフォーマンスが、インデクサーの追加により向上しました。 以前は、
search_query
テーブルが大きいほど、クエリの完了に時間がかかりました。
- トルコ語の文字を含む名前の場合、製品を名前でアルファベット順に並べ替えても正しく機能するようになりました。
- Use in Search Results Layered Navigation 製品属性プロパティは、Use in Search の設定が Yes に設定されている場合にのみ表示されるようになりました。
- 詳細検索で一緒に適用した場合、詳細検索価格と SKU フィルターが正しく機能するようになりました。 GitHub-37581
- 空の検索フィールドに対する検索は実行されなくなりました。 これにより、
search_query
テーブルのサイズが小さくなります。 以前は、空の検索フィールドに対する誤ったクエリやクエリによって大きなデータセットが返され、search_query
テーブルのサイズが大きくなり、/tmp
に関する問題が発生していました。
- カタログエントリをドロップダウンカスタム属性で並べ替える場合、ストアフロントフィルターが期待どおりに機能するようになりました。
- 検索結果に、属性の検索重み付けに基づいて関連する結果が期待どおりに表示されるようになりました。
- Admin Stores/Attributes/Product の
Search Weight
属性のStorefront Properties
入力フィールドの下にある情報テキストに、使用可能な値が記述されるようになりました。 GitHub-36646
送料
- 動的価格属性が無効な場合にバンドル製品が買い物かごに追加された場合、買い物かご価格ルールが期待どおりに機能するようになりました。 動的属性が有効であるか無効であるかに関わらず、送料無料および適切なテーブルレートが適用されます。 以前は、送料無料は期待どおりに適用されませんでした。
- Commerceは、注文の部分出荷を作成した後、期待どおりに新しい出荷ページに移行するようになりました。 以前は、一部の出荷を作成した後は、Commerceは、注文の残りの製品の出荷完了ページを作成していませんでした。 GitHub-38063
- 注文を複数の住所に配送するための合計金額が正しく計算されるようになりました。 以前は、見積に複数の配送先住所が含まれている場合、回収担当者の合計は、期待どおりに
$shippingAssignment
で渡すのではなく、$quote->getShippingAddress()
で指定された住所の配送額を更新していました。 GitHub-37283
- 管理者ユーザーがユーザーとしてログイン機能を使用した場合、複数の配送先住所を含むチェックアウト中にCommerceが例外をスローしなくなりました。
- 出荷ラベルの作成後に製品をパッケージに追加すると、製品がパッケージを作成ページの製品グリッドに正しくリストされるようになりました。
cart
クエリは、個別の配送割引を、一意の割引ラベルを持つ個別の配送割引として返すようになりました。 新しいapplied_to
割引プロパティは、買い物かご項目に適用される割引の違いをサポートします。 以前は、すべての配送割引が 1 つのハードコードされた Shipping Discount 値に結合されていました。
- 管理者ユーザーが再注文を作成すると、管理者ユーザーが Reorder 定ボタン(管理者 Sales ール/Orders/View)をクリックすると、最初の注文の請求アドレスと出荷アドレスが関連するフィールドに自動的に入力されます。 買い物客のアドレス帳に同じアドレスが保存されている場合、再注文には常にこれらのアドレスの更新バージョンが組み込まれます。 以前は、更新後のデータが出荷先住所フィールドに事前入力されていましたが、請求先住所フィールドには入力されていませんでした。
- Apply custom Shipping Policy が有効になっており、カスタム配送ポリシーが使用可能な場合、Shipping Policy のテキストボックスが管理ストア表示スコープに表示されるようになりました。 GitHub-36425
cart
クエリは、available_shipping_methods
の通信事業者コードとメソッドコードの 1 つに一致するselected_shipping_method
値を返すようになりました。 以前は、選択した配送方法の 1 つにアンダースコアが含まれていると、これらの配送業者/メソッド コードが一致しませんでした。 GitHub-36606
- 通り配列の 2 番目の値が null の場合に、
setShippingAddressesOnCart
のミューテーションがエラーをスローしなくなりました。 以前は、この例外がスローされていました:The address failed to save. Verify the address and try again
。 GitHub-35160
サイトマップ
- XML サイトマップがマルチストーリーデプロイメントで期待どおりに機能するようになりました。 以前は、サイトマップには、各ストアに割り当てられたデフォルトページが含まれていませんでした。 GitHub-35001
- Web サイトの作成とシングルストアモードが有効な場合に、マーチャントが製品を
id != 1
成および保存できるようになりました。 以前は、保存アクションは次のメッセージで失敗していました:SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
。 GitHub-35009
ステージング
- 販売ルールのステージング更新が、ステージングダッシュボードに複製されなくなりました。
- スケジュールの更新が進行中に、買い物客が買い物かごにバンドル製品を追加した場合、バンドル製品が正しく更新されるようになりました。 以前は、スケジュールタスクの処理中にオプションを含むバンドル製品が買い物かごに追加された場合、Commerceが次の例外をスローしていました。
Some of the products below do not have all the required options. Please select all required options
- スケジュールの更新で、バンドルオプションの正しい価格が維持されるようになりました。 以前は、特定の web サイトやストアの表示に対してこれらの価格がゼロに変更されていました。
- 終了日が指定されていない場合、スケジュールされた更新を更新しても、ステージング項目の以前のバージョンは削除されません。 以前は、ステージングされた項目が更新された場合、終了日が指定されていなければ、ロールバックバージョンの項目は削除されていました。 Commerceが削除前にエラーをスローしなかったか、管理者ユーザーに警告しませんでした。
- 買い物かごの価格ルールのスケジュール更新後に、ストア表示ラベル値が消去されなくなりました。 以前は、これらのラベルは、更新で指定されていなくても消去されていました。
- コンテンツのステージングプレビューが、リンクされたページで正しく機能するようになりました。 以前は、ステージングプレビューではリンクされたページに移動できませんでしたが、代わりに誤ってストアフロントページに移動されていました。
- сステージング更新をハングしても、後日に割り当てられたスケジュール済み更新が削除されなくなりました。
- Google Analytics コンテンツ実験が有効になっている場合に、カテゴリのスケジュールされた更新を追加または編集しても、JavaScript エラーが発生しなくなりました。
- マーチャントは、カテゴリを表示または編集した後、カテゴリの既存のスケジュールの更新を正常に保存できるようになりました。 以前は、Adobe Commerceが
system.log
でエラーをスローしていました。
- 以前に追加した製品が買い物かごに入っている状態で、スケジュールされた更新が適用された場合、ダウンロード可能なリンクが期待どおりに保持されるようになりました。 以前は、顧客のマイアカウント(マイダウンロード可能な製品)ページと管理者の注文表示ページにダウンロード可能なリンクが表示されなくなりました。
- 製品を有効にするステージングアップデートが適用された後、製品が期待どおりにストアフロントに表示されるようになりました。 以前は、製品は管理者で有効になっていましたが、カタログインベントリのインデクサーモードが「スケジュールに従って更新」に設定されている場合、ストアフロントカテゴリには表示されませんでした。 完全な再インデックスを実行すると、問題が修正されました。
- 処理するステージング更新がない場合に、
magento_bulk
テーブルのstaging.synchronize_entity_period
コンシューマーキューが増加しなくなりました。 以前は、cron
を毎分実行するように設定すると、staging.synchronize_entity_period
コンシューマーに関連する新しいレコードが毎分このテーブルに追加されていました。
- 別の商品の保存中に商品のスケジュールを変更しても、Adobe Commerceが SQL エラーをスローしなくなりました。 以前は、Adobe Commerceには「
The product with the SKU "%1" couldn't be added to the current update
」というエラーが表示されていました。
ターゲットルール
- Target ルールが様々なストアビューで正しく機能するようになりました。 以前は、関連製品のルールキャッシュの問題により、マルチストアデプロイメントで推奨製品を表示できませんでした。
税
- 税金が設定され、FPT が有効化されている場合、請求書に正しい小計が表示されるようになりました。
- 税を含めるように設定されている場合、Regular Price 値を持つ商品に対してカスタムオプションを選択すると、Commerceに Special Price 値の正しい値が表示され Price Display Settings ようになりました。
- 設定で指定されたチェックアウトワークフローの配送価格に、税金が期待どおりに含まれるようになりました。
cart
のクエリapplied_taxes
応答値に、期待どおりに個々の税務処理基準がすべて含まれるようになりました。 以前は、複数の税務処理基準が設定されている場合に合計税額が返されていました。
- 税務処理基準の作成時に Additional Settings のセクションの「折りたたみ/展開」アイコンが期待どおりに動作するようになりました。 以前は、展開アイコンのみが機能していました。 GitHub-37922
- 「税務処理基準編集」ページから「国」および「地域」の税率の値を期待どおりに編集できるようになりました。 以前は、そのページから行った編集は保存されませんでした。
- 発送方法が更新されると、買い物かごの見積もりエリアの税額が期待どおりに更新されるようになりました。 以前は、チェックアウト中に買い物客が国を変更した後は、税率が更新されていませんでした。
- ストア表示スコープで既存の設定可能な製品の新しいバリエーションを作成する際、新しく作成された単純な製品の
tax class
値が親の製品の値に設定されるようになりました。 以前は、この値は「なし」に設定されていました。 その結果、カートに入っている商品には税金が加算されず、お客様には過少納税が課されていました。 GitHub-37180
テスト
- メールフィールドが早い段階で完了することが原因で発生する障害を排除するように、
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
テストを改善しました。
- 信頼性
StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest
向上させるためにリファクタリングが行われました。 GitHub-38359
- 検索で使用する属性を明示的に設定する追加の手順を導入することで、
AdminSimpleProductwithTextandVisualSwatch
テストを修正しました。
SortbyTest
単体テストの誤字脱字を修正。 GitHub-37792
- 単体テストで、存在しないクラスへの参照を削除しました。 GitHub-37636
- メールフィールドが早い段階で完了することが原因で発生する障害を排除するように、
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
テストを改善しました。
- クエリ応答
Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId
ランダムなカテゴリ順序を処理するためのリファクタリングproducts
れたテスト。
TableNameSniff
の大規模なアレイでのパフォーマンスの問題は解決されました。
- ギフトレジストリ編集機能の統合テストが、既存のエンティティ ID に依存しなくなりました。 必要なデータはすべてフィクスチャーを通じて取得されます。 以前は、
\Magento\GiftRegistry\Controller\Index\EditPostTest
は失敗していました。
CollectionTest::testGetDateRangeFirstPart()
では、夏時間を考慮するようになりました。
StorefrontDeleteItemFromRequisitionListPrintView
の非推奨(廃止予定)通知を修正しました。
UI フレームワーク
- 画像アップローダが、動的行で期待どおりに動作するようになりました。 多国籍配列として送信する際に、画像が正しくアップロードされるようになりました。 GitHub-37957
- ファイルのアップロードスタイルが Luma テーマで複製されなくなりました。 GitHub-32373
- ストリートフィールドの顧客アカウント編集住所フォームのストリートフィールドが正しく保存されるようになりました。 これらのフィールドは、フォーム内の指定されたキーで正しく並べ替えられるようになりました。 GitHub-37973
- 「ギフトレジストリ Message」テキストフィールドのカーソル動作を修正しました。
- 製品詳細ページの累積レイアウトシフト(CLS)値が改善されました。 (この指標は、ページレイアウトの視覚的な安定性を定量化します)。GitHub-35410
- テンプレートのレンダリング中に発生するエラーのメッセージを改善しました。 Commerceに情報メッセージが表示されるようになりました。 以前は、PHP エラーが発生するとCommerceでHTMLリークが表示されていました。
- 削除された画像とその後アップロードされた画像で、カスタム顧客属性(タイプ
File attached
)が正しく機能するようになりました。 以前は、カスタム属性をアップロード、削除してから再度アップロードしても、ストアフロントから保存できませんでした。
- カレンダーテンプレートファイルの構文エラーを修正しました。 GitHub-37725
- 管理者ユーザーは、シングルストアモードが有効な場合にストアフロントのロゴを変更できるようになりました。 以前は、Commerceにはデフォルトのフォールバックロゴが表示されていました。 GitHub-35952
- Mixin 設定値が空ではなくなり、読み込み位置に関係なく jQuery Mixin が機能するようになりました。 以前は、jQuery mixin は、ブラウザーをまたいで一貫して読み込まれませんでした。
- ログインページの「Show Password」チェックボックスがアクティブな場合、パスワードが期待どおりに表示されるようになりました。
- Adobe Commerceに、特別価格の固定バンドル製品の正しい価格が表示されるようになりました。
- ストアフロントのフッターテンプレートファイルの GitHub の問題リストページへのリンクを更新しました。 GitHub-37214
- 最近表示された項目ウィジェットに、グループ化された製品価格で正しい税額が表示されるようになりました。 GitHub-35881
- 管理者ユーザーは、シンプルな製品用に作成されたカスタマイズ可能なオプションを期待どおりにドラッグ&ドロップできるようになりました。 GitHub-36051
- 製品ドロップダウン属性タイプの順序が、設定可能な製品ページの画像の順序と一致するようになりました。 GitHub-37285
- システムメッセージの読み込みが高速化されました。 表示されているメッセージのみが読み込まれます。 以前は、すべてのメッセージがデータベースから読み込まれていたため、時間がかかっていました。
- レイアウト XML を使用して
remove=true
を設定することでパンくずノードを削除しても、カテゴリページのページタイトルが削除されなくなりました。 以前はこの方法でパンくずリストを削除すると、カテゴリページからページタイトルが削除されていました。
- 複数選択の顧客属性が含まれている場合、顧客登録フォームが期待どおりに読み込まれるようになりました。 以前は、Adobe Commerceは次の例外をスローしていました:
[2023-03-05T05:57:40.032602+00:00] report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
。 GitHub-37189
- 一重引用符を含むようこそメッセージが、コンソールエラーを含まずにストアフロントで正しくレンダリングされるようになりました。 以前は、ウェルカムメッセージに一重引用符が含まれている場合、ストアフロントレンダリング中にウェルカムメッセージが読み込まれませんでした。 Adobe Commerceには、コンソールエラーも表示されました。
- 管理注文ページでコメント履歴と返品間のビューをすばやく変更しようとすると、Adobe Commerceがエラーをスローしなくなりました。 以前は、Adobe Commerceには「
A technical problem with the server created an error
」という一般的なエラーが表示されていました。
- 1 つの web サイトに制限された権限を持つ管理者ユーザーが、
all stores view
範囲に設定された web サイト固有の製品属性を更新できるようになりました。
- 拡大鏡ウィジェットが製品ページで期待どおりに読み込まれるようになりました。
- 請求書、PDF書、クレジット・メモの各文書に、複数行のカスタマイズ可能なオプションが適切に表示されるようになりました。 以前は、複数行テキストの前に予期しない改ページが表示され、テキストがページを超えるとテキストが切り捨てられました。
- 管理者ユーザーは、ストア ID が web サイト ID と一致しない別の web サイト用にその顧客が作成された場合、管理者から新しい顧客アドレスを追加できるようになりました。 以前は、Adobe Commerceには「
Something went wrong
」というポップアップメッセージが表示されていました。 GitHub-36582
- 会社の管理者を割り当てメールに
CMS Block URL
変数が含まれている場合、会社の管理者の詳細は期待どおりに保存され、管理者は正しくリダイレクトされるようになりました。
- 注文の詳細ページでのコメントの送信に関連するエラーメッセージが、より詳しく表示されるようになりました。 以前は、買い物客が注文ステータスを変更したり、コメント領域にテキストを入力したりせずに Submit comment をクリックすると、Adobe Commerceに「
The comment is missing. Enter and try again
」というメッセージが表示されていました。
- 1 つのフィールドで日付を選択した後、管理 Marketing / Cart Price Rules の日付範囲フィールドで、カレンダーアイコンが期待どおりに表示されるようになりました。 以前は、あるフィールドで日付を選択すると、他のフィールドにカレンダーアイコンが表示されなくなり、Adobe Commerceにプレースホルダーテキストが表示されていました。 GitHub-36499
- 複数選択フィールドを含む顧客登録フォームが正常に読み込まれるようになりました。 以前は、このフォームに複数選択フィールドが含まれている場合に読み込まれず、次のエラーがトリガーされていました:
report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
。 GitHub-37189
- 製品ギャラリーのフルスクリーンモードでビデオサムネールをクリックすると、ビデオが期待どおりに表示されるようになりました。 以前は、ビデオが表示されず、ブラウザーコンソールにJavaScript エラーが表示されていました。 GitHub-36456
- 著作権行に変数を追加しました。この変数は毎年自動的に更新されます。 GitHub-36776
- 製品ページの画像スライダーが、モバイル表示で期待どおりに動作するようになりました。 以前は、最初の画像のみが正常に表示されていました。 GitHub-37232
URL の書き換え
crossorigin
属性がHEAD
要素用にlinkTypes
に追加されました。GitHub-32509
- マルチストアデプロイメントのストアレベルの表示設定に基づいて、URL の書き換えが生成されるようになりました。 以前は、デフォルトのストア範囲で製品の表示が「非表示 に設定されている場合、デフォルト以外のストアの URL の書き換えは生成されませんでした。
Category::getUrl()
は、301 リダイレクトを取得しなくなりました。 GitHub-38152
- カスタムストアで URL の書き換えが見つからない場合、Commerceで、ルートカテゴリの商品 URL の書き換えや、マルチストア設定で Not Visible Individually に設定された商品 URL の書き換えが生成されなくなりました。
- カテゴリ URL キープロパティが更新された後、正規 URL タグが、期待どおりに変更を反映するようになりました。 以前は、古いカテゴリ URL が使用されていましたが、これにより、新しい URL へのリダイレクトがすぐにトリガーされました。
- カテゴリの製品 URL の書き換えが、製品がカテゴリに追加された際に、すべてのストアビューで期待どおりに生成されるようになりました。 GitHub-32910
- カテゴリ/商品 URL の書き換えを生成 が有効になっている場合に、商品 URL の 301/302 リダイレクトを作成しようとすると、Commerceがエラーをスローしなくなりました。 製品を作成してカテゴリに割り当てると、URL の自動書き換えが作成されます。1 つはダイレクト URL 用で、もう 1 つはカテゴリパスを介した製品用です。 新しい製品 URL の書き換えが作成されると、製品、カテゴリおよびストア間の相関関係がチェックされます。 このチェックは、相関エンティティプロパティ(カテゴリおよび製品)に基づいています。 以前は、このチェックは、既存の URL の書き換えに対して実行されていました。
- 新しいカテゴリを CSV ファイルから読み込む際に、すべてのストアビューでカテゴリ URL の書き換えが生成されるようになりました。
- 製品 URL サフィックスとカテゴリ URL サフィックスの設定が
url_rewrite
テーブルのサフィックスと一致するようになりました。 以前は、URL サフィックス設定を更新する際の競合状態が発生し、設定された URL サフィックスとurl_rewrite
テーブルが一致しませんでした。
- Adobe Commerceは、カテゴリ URL の書き換えを作成する際、すべてのレベルでカテゴリツリーをレンダリングするようになりました。 以前は、カテゴリの最初の 3 つのレベルのみが表示されていました。 GitHub-36973
- 1 つの子ノードを持つ新しく作成された CMS ページが、マーケティングフィルターグリッド(Marketing > URL rewrites)に含まれるようになりました。 以前は、これらの CMS ページの URL の書き換えは作成されていませんでした。
- カテゴリ URL の書き換えが、新しいカテゴリの読み込み時に CSV ファイルに表示されるようになりました。
- URL の書き換えのないマルチストア CMS ページが、期待どおりに転送されるようになりました。 以前は、URL の書き換えのない複数ストアのリクエストされた CMS ページはストアのホームページにリダイレクトされていましたが、元の CMS ページはリダイレクトされませんでした。
ビジュアルマーチャンダイザー
- ビジュアルマーチャンダイザールールに
Categories
属性を使用できるようになりました。 以前は、Adobe Commerceは次の例外をスローしていました:Something went wrong while saving the category
。
Web API フレームワーク
- Callback URL フィールドと Identity link URL フィールドが空の場合、管理 System/Extensions/Integrations でCommerceに
Integration not secure
警告が表示されなくなりました。 GitHub-36407
taxes
、itemized_taxes
、additional_itemized_taxes
の拡張属性をに追加しました。Magento\Sales\Api\Data\OrderInterface
。 これらの属性を使用すると、適用された税金を注文 REST 呼び出しで保存できます。
- Tier Prices REST API で小数がサポートされるようになりました。 以前は、この API は、Use Decimal Quantity 設定が有効な場合でも小数点以下の数量を許可していませんでした。
- 保留中の注文のステータスにコメントを追加しようとすると、REST
V1/orders/{id}/comments
エンドポイントが注文のステータスを変更しなくなりました。 これで、有益なエラーが発生するようになりました。 以前は、このエンドポイントは、コメントを追加する際に注文ステータスを変更していました。
- REST API
GET
とPOST V1/products/attributes
エンドポイントは、Use in Layered Navigation オプションのFilterable(with results)
オプションとFilterable(no results)
オプションの両方で、is_filterable
属性に同じ値を返さなくなりました。 以前は、is_filterable
属性プロパティの型がBoolean
であったため、このエンドポイントは同じ値を返していました。そのため、このプロパティをFilterable(no results)
に設定することはできませんでした。 GitHub-37979
- 見つからない
media_gallery_entries
フィールドが RESTV1/configurable-products/sku/children
エンドポイントに追加されました。 以前は、この関数には、media_gallery_entries
ータの保存と表示に必要なコードがありませんでした。 GitHub-37607
- REST
V1/carts/mine/estimate-shipping-methods
メソッドは、ペイロードフィールドデータのすべてのレベルを検証し、無効なデータに対して 400 HTTP コードを返すようになりました。 以前は、API ペイロードの最初のレベルのみが検証され、ペイロードの検証されていないレベルで無効なデータが返された場合、Commerceは 500 ステータスコードを返しました。
- 階層価格と様々な属性セットを使用して製品を更新する非同期の一括 REST API 操作が正常に完了しました。 以前は、異なる属性セットを持つ商品は、この方法で更新できませんでしたが、Commerceに「
The product was unable to be saved. Please try again
」というエラーが表示されていました。
- 階層価格の作成時に無効な顧客グループ名が使用された場合、
POST /V1/products/tier-prices
エンドポイントが返すエラーメッセージがより詳細になりました。 以前は、Adobe CommerceはNotice: Undefined index: XXXXX in ~/public_html/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php on line 474"
のようなエラーを返していました。 GitHub-36431
- 認証済みの非同期一括 API リクエストを実行して、デフォルト以外のグループ ID を持つ顧客を作成できるようになりました。 以前は、これらのリクエストにより、グループ ID がデフォルト値にリセットされていました。
- Bulk API を使用して作成された顧客は、割り当てられた web サイトで設定された言語で顧客登録メールを受け取るようになりました。 以前は、すべてのメールは、顧客が割り当てられている web サイトのロケールではなく、デフォルトのロケールに送信されていました。
- Allow Guest Checkout が無効の場合、
POST V1/guest-carts
呼び出しではゲスト注文が送信されなくなりました。
AsyncOrder
が有効になっていない場合、ステータスReceived
で管理者から注文を開くことができるようになりました。 以前は、POST V1/orders
によって注文ステータスが変更されると、管理者から注文詳細ページを開くことができませんでした。
- Adobe Commerceは、product media API 応答で
content
属性(base64 画像コード)GET V1/products/sku/media
正常に返すようになりました。content
属性は、以前は応答に表示されていませんでした。
ウィッシュリスト
- 買い物客が同じアイテムをウィッシュリストに複数回追加しようとすると、アイテムがウィッシュリストに既に追加されていることを示すメッセージがCommerceに表示されるようになりました。 以前はこれらの条件下では、Commerceはウィッシュリストの製品数量を増加させました。
- Adobe Commerceは、必要なアップロード済みのカスタマイズ可能なオプションファイルを含む商品をウィッシュリストに正常に追加するようになりました。 以前は、Commerceは 1 つではなく 2 つの商品をウィッシュリストに追加していました。 GitHub-37437
必要システム構成
当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、 システム要件を参照してください。
インストールとアップグレードの手順
Composer を使用してAdobe Commerce 2.4.7 をインストールできます。