Magento Open Source 2.4.7 リリースノート
Magento Open Source 2.4.7では、PHP 8.3のサポートが導入されています。 数百もの品質修正と機能強化が含まれています。 コアコンポーザーの依存関係とサードパーティライブラリが、利用可能な最新バージョンにアップグレードされました。 このリリースでは、カスタム属性とGraphQL リゾルバーキャッシュに対するGraphQLの適用範囲が拡大されます。 また、最近更新されたFedExおよびUPS サービスのサポートも導入されます。
その他のリリース情報
これらの機能のコードは、Magento Open Source コアコードのリリースにバンドルされていますが、これらのプロジェクトのいくつかは個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントに記載されている、プロジェクト固有の個別のリリース情報に記載されています。
Magento Open Source 2.4.7のハイライト
このリリースでは、次のハイライトを確認してください。
セキュリティの強化
このリリースには、Adobe Commerce 2.4.6-p5、2.4.5-p7、および2.4.4-p8に含まれるのと同じセキュリティ修正とプラットフォームセキュリティの機能強化が含まれています。 これらの修正された問題の最新の説明については、Adobe セキュリティ情報を参照してください。
これらの問題に関連する確認された攻撃は、これまでに発生していません。 ただし、特定の脆弱性を悪用して、顧客情報にアクセスしたり、管理者セッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセスを取得する必要があります。 その結果、管理者を保護するために必要なすべての手順を実行することをお勧めします(以下を含むがこれに限定されません)。
- IP許可リストに加える
- 二段階認証
- VPNの使用
/adminではなく一意の場所を使用- パスワードの健全性を保つ
その他のセキュリティ機能
このリリースのセキュリティの改善点は、最新のセキュリティのベストプラクティスに準拠することです。
-
生成されていないキャッシュキーの動作に変更が加えられました:
- ブロックの非生成キャッシュキーに、自動生成されるキーのプレフィックスとは異なるプレフィックスが含まれるようになりました。 (生成されないキャッシュキーは、テンプレートディレクティブ構文または
setCacheKeyまたはsetDataメソッドを使用して設定されるキーです)。 - ブロックの生成されないキャッシュキーには、文字、数字、ハイフン( – )、アンダースコア(_)のみを含める必要があります。
- ブロックの非生成キャッシュキーに、自動生成されるキーのプレフィックスとは異なるプレフィックスが含まれるようになりました。 (生成されないキャッシュキーは、テンプレートディレクティブ構文または
-
自動生成されるクーポンコード数の制限。 Magento Open Sourceでは、自動生成されるクーポンコードの数が制限されるようになりました。 デフォルトの最大値は250,000です。 マーチャントは、新しい Code Quantity Limit 設定オプション(Stores > Settings:Configuration > Customers > Promotions)を使用して、多数のクーポンでシステムが圧倒されるのを防ぐことができます。
-
デフォルトの管理者URL生成プロセスの最適化。 デフォルトの管理者URLの生成は、ランダム性を高めるために最適化されており、生成されたURLが予測不可能になっています。
-
新しいフルページキャッシュ設定設定は、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 アプリケーションを設定します。 -
支払いページでのスクリプトの整合性の検証に関するPCI 4.0要件に準拠するため、サブリソース整合性(SRI)サポートを追加しました。 Subresource Integrity (SRI)のサポートは、ローカルファイルシステムにあるすべてのJavaScript アセットに対して整合性ハッシュを提供します。 デフォルトのSRI機能は、管理領域とストアフロント領域の支払いページにのみ実装されます。 ただし、マーチャントはデフォルト設定を他のページに拡張できます。 Commerce PHP開発者ガイドのSubresource Integrityを参照してください。
-
コンテンツセキュリティポリシー(CSP)の変更 - PCI 4.0要件に準拠するため、Adobe Commerce コンテンツセキュリティポリシー(CSP)の設定の更新と機能強化。 詳しくは、Commerce PHP開発者ガイドの コンテンツセキュリティポリシーを参照してください。
-
Commerce管理領域とストアフロント領域の支払いページのデフォルト CSP設定が
restrictモードになりました。 その他のすべてのページでは、デフォルト設定はreport-onlyモードです。 2.4.7より前のリリースでは、すべてのページに対してreport-onlyモードでCSPが設定されていました。 -
CSPでインラインスクリプトの実行を許可するnonce プロバイダーを追加しました。 nonce プロバイダーは、各リクエストに対して一意のnonce文字列を生成しやすくします。 その後、文字列がCSP ヘッダーに添付されます。
-
管理者の注文を作成ページとストアフロントのチェックアウトページのCSP違反をレポートするためのカスタム URIを設定するオプションを追加しました。 管理者から、または
config.xmlファイルにURIを追加することで、設定を追加できます。note note NOTE CSP設定を restrictモードに更新すると、Adminおよびストアフロントの支払いページ上の既存のインラインスクリプトがブロックされる可能性があり、ページの読み込み時に次のブラウザーエラーが発生します:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src。 これらのエラーを修正するには、ホワイトリスト設定を更新して、必要なスクリプトを許可します。 Commerce PHP開発者ガイドの トラブルシューティング を参照してください。
-
-
RESTおよびGraphQL APIを介して送信される支払い情報のネイティブ レート制限。 RESTとGraphQLを使用して送信される支払い情報について、 レート制限を設定できるようになりました。 この保護レイヤーの追加により、カード攻撃の防止がサポートされ、多くのクレジットカード番号を一度にテストするカード攻撃の量が減少する可能性があります。 これは、既存のREST エンドポイントのデフォルト動作の変更です。 レート制限を参照してください。
-
isEmailAvailable GraphQL クエリと(V1/customers/isEmailAvailable) REST エンドポイントのデフォルトの動作が変更されました。 デフォルトでは、APIは常に
trueを返すようになりました。 販売者は、管理者の「ゲストチェックアウトログインを有効にする」オプションをyesに設定することで、元の動作を有効にできますが、そうすると、未認証のユーザーに顧客情報を公開する可能性があります。
プラットフォームの機能強化
このリリースのプラットフォームのアップグレードは、最新のセキュリティのベストプラクティスへのコンプライアンスを向上させます。
Magento Open Source 2.4.7には、次のプラットフォームアップグレードが含まれています。
- PHP 8.3との互換性。 このリリースでは、PHP 8.3のサポートが導入されています。 Magento Open Sourceは、PHP 8.3と8.2の両方をサポートするようになりました。 PHP 8.2は、2025年12月のサービス終了(EOS)日までサポートされます。 2025年12月以降、2.4.7 デプロイメントを実行しているすべてのマーチャントは、PHP 8.3に移行する必要があります。
Magento Open Source 2.4.7は、アップグレード目的でのみPHP 8.1と互換性があります。 PHP 8.1はサポートされておらず、推奨されていません。 Magento Open Source 2.4.7 コアコード、バンドルされているすべての拡張機能、Adobeが所有するすべての拡張機能およびSaaS サービスは、PHP 8.3と互換性があります。
-
RabbitMQ 3.13 サポート。 このリリースは、最新バージョンのRabbitMQ 3.13と互換性があります。 互換性はRabbitMQ 3.11および3.12で引き続き維持されます。これは、それぞれ2024年8月および2024年12月を通じてサポートされていますが、Adobeでは、Magento Open Source 2.4.7をRabbitMQ 3.13でのみ使用することをお勧めします。
-
Composer 2.7.x。 Composer 2.2.xとの互換性は残っています。
-
Varnish キャッシュ 7.4 サポート。 このリリースは、最新バージョンのVarnish Cache 7.4と互換性があります。 互換性は6.0.xおよび7.2.x バージョンでも維持されますが、Magento Open Source 2.4.7はVarnish Cache バージョン 7.4またはバージョン 6.0 LTSでのみ使用することをお勧めします。
-
Elasticsearch 8.11との互換性
-
OpenSearch 2.12とOpenSearch 1.3はをサポートしています
-
Redis 7.2
-
extjsライブラリは、最新バージョンのjsTreeに置き換えられました。 -
jquery/fileUploadライブラリが削除されました。
Magento Open Source コアコードのすべてのJavaScript ライブラリとNPM依存関係が、利用可能な最新バージョンに更新されました。 すべてのLaminas ライブラリの依存関係が、PHP 8.3と互換性のある最新バージョンに更新されました。
追加アップグレード
-
Commerce UPS XML API ゲートウェイは、新しいCommerce UPS REST APIに移行され、UPSがAPI セキュリティモデル に対して行う更新をサポートするようになりました。 (UPSでは、すべてのAPIにOAuth 2.0 セキュリティモデル(ベアラートークン)を実装しています)。 以前のCommerce UPS XML APIはすべて、Magento Open Source 2.4.7 コードベースから削除されました。
-
FedExとのMagento Open Source 統合は、従来のFedEx WSDL Web サービスから最新のFedEx RESTful APIに移行されました。 FedEx Web サービスのトラッキング、アドレス検証、および郵便番号の検証WSDLSは2024年5月に廃止されます。
-
新しいUSPS Ground Advantage出荷方法のサポートを追加しました。 これは、2023年7月にリリースされたUSPSの新しい出荷方法であるUSPS Ground Advantageとの標準の統合です。 この新しい統合は、USPS配送サービスを通じて配送料を取得し、配送と返品をスケジュールするために使用できます。 USPS Ground Advantageの配送方法は、USPS Ground Advantageの配送方法がリリースされたときに廃止されたこれらの配送方法に置き換わります。
- USPS リテール・グラウンド
- ファーストクラスのパッケージサービス
- 地表を選択
-
Temandoの配送モジュールがコア Magento Open Source コードベースから削除されました。 この機能は、Magento Open Source 2.4.4で非推奨(廃止予定)となりました。
パフォーマンスとスケーラビリティの強化
Magento Open Source 2.4.7には、Magento Open Sourceのパフォーマンスと拡張性に対する次の機能強化が含まれています。
-
拡張インデクサー管理。 新しい
indexer:set-statusコマンドは、インデクサーステータスの動的管理をサポートしています。 管理者ユーザーは、このコマンドを使用して、インデクサーステータスをsuspended、invalid、またはvalidに変更できます。 この機能は、製品のインポートや更新などの大規模な一括操作中に、システムのcron ジョブによってインデクサーが自動的にトリガーされるタイミングを制御できるようにすることで、システムのパフォーマンスを管理するのに特に便利です。 インデクサーの管理を参照してください。 -
多くのオプションを含む複雑な製品の製品リストページ。 100以上のオプションを備えた複雑な製品を含む製品リストページの読み込み時間が短縮されました。 また、GraphQLから依頼された品目別の商品リストアップの実績も向上しました。
-
セールスルールのパフォーマンスの向上。 多くの(約100,000)アクティブなセールスルールを使用して、エンタープライズ展開のパフォーマンスを向上。 プロモーションを頻繁に実施する企業向け展開では、多くの場合、アクティブなカートルールを展開します。 Magento Open Source 2.4.7を実行しているこれらのタイプのエンタープライズ展開では、チェックアウト処理中に設定されたカート価格ルールの数に関連するパフォーマンスの低下は発生しません。
-
多数のストアを含むデプロイメントのストアレベル設定の保存操作を高速化。 500以上のストアを含むデプロイメントで構成設定を保存すると、時間がかかる場合があります。 新しいAsync Config モジュールでは、コンシューマーを使用してメッセージキュー内の保存操作を処理するcron ジョブを実行することで、非同期設定の保存操作を有効にします。 AsyncConfigはデフォルトで無効になっています。
-
大規模構成の構成キャッシュの生成を高速化。 設定キャッシュが有効になっている場合、
bin/magento cache:clean configコマンドは設定キャッシュを事前にウォーミングするようになりました。 これにより、大規模な設定の設定キャッシュを生成するために必要なダウンタイムが削減されます。 設定の保存操作は、データをキャッシュに書き込む前にconfig_scopesキャッシュをクリーンアップしなくなりました。これにより、設定データの書き込み中に他の要求がロックアウトされる時間も短縮されます。
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のアカウントを利用できるようになりました。 以前は、チェックアウトで取引を完了する際に、後で使用するために支払いを保存する際にのみ保管できましたが、新しい取引を作成することなく、新しいクレジット/デビットカードやPayPal アカウントを保管できるようになりました。
-
スムーズなトランザクション:スムーズなトランザクションは、オンラインでのクレジット/デビットカードのトランザクションを完了するための顧客のクリック数/ステップ数を減らすことによって、支払いプロセスを加速します。 以前(3DSが有効になっていた場合)は、すべての顧客に3DSの課題が課されていました。 新しい摩擦のないトランザクション機能では、銀行がリクエストした場合にのみ、顧客に3DSに対するチャレンジが発生します。 これにより、カート放棄率を低減し、コンバージョン率を向上させ、より多くの売上につなげることができます。
-
紛争webhook – お客様がBraintreeで取引に異議を申し立てると、紛争ステータスがCommerceに引き継がれます。 これは、Sales > Order グリッドで検索でき、各注文に添付されます。
GraphQL
Magento Open Source 2.4.7には、強化されたGraphQL キャッシュ機能、カスタム属性に対するGraphQL スキーマのサポート、ヘッドレス注文キャンセルのサポート、および改善されたリゾルバーのキャッシュが含まれています。
-
より柔軟なカート管理。
clearCartの変異により、指定されたショッピングカートのコンテンツが1回のアクションでクリアされるようになりました。 非推奨となっているclearCustomerCart変異に置き換わります。 -
カートの変更の作成の改善。 非推奨の
createEmptyCart変異を置き換えるために、createGuestCart変異が追加されました。 以前は、createEmptyCartを使用していた場合、カートがゲスト用かログイン顧客用かを判断できませんでした。 -
注文項目に商品画像が含まれるようになりました。
OrderItemInterfaceは製品画像を公開します。これにより、画像を注文した製品に関連付け、より効率的に読み込むことができます。 GitHub-32369 -
リゾルバーキャッシュのサポートを拡張。 次のGraphQL クエリリゾルバーがGraphQL Resolverの結果キャッシュにキャッシュされるようになりました。これにより、POST リクエストでクエリが送信されるときのパフォーマンスが向上します。
Magento\CustomerGraphQl\Model\Resolver\Customer::resolveMagento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolveMagento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolveMagento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
-
注文キャンセルのサポート。 cancelOrderの変異により、お客様は注文をキャンセルでき、IDとキャンセル理由を渡すことができます。
- 新しい
order_cancellation_enabledおよびorder_cancellation_reasons.description応答フィールドstoreConfig
ユーザーが開始した注文キャンセル要求をクエリします。 ストアの注文キャンセル設定のクエリ を参照してください
- 新しい
-
カスタム属性の拡張サポート。 GraphQLのカスタム属性のサポートは、すべての属性タイプをサポートするようにAPI データを強化することで強化されました。 GraphQL EAV属性スキーマで、Adminで顧客属性と顧客アドレスオブジェクトを拡張し、GraphQLを使用して取得できるようになりました。 機能強化の特定の領域は次のとおりです:
- 顧客や顧客の住所などの特定の領域にカスタム属性を拡張/追加
- カスタム属性のキャッシュを追加
- 製品に対する既存のカスタム属性のサポートの強化
-
強化されたGraphQL キャッシュ機能により、ページ読み込み速度が向上しました。 これらのクエリにキャッシュ機能が追加され、ほとんどのPWA ページのページ読み込み時間の速度が向上しました。
-
GraphQL パーサーのパフォーマンスを向上。 GraphQL パーサのパフォーマンスは、parse メソッドがリクエストごとに呼び出される回数を減らすことによって向上しました。 今は一度と呼ばれています。 以前は、パーサーは少なくとも3回呼び出されました。
既存の突然変異の新しいフィールド
-
quickorder_activeフィールドをstoreConfigおよびavailableStores クエリに追加しました。 このフィールドは、クイック注文機能が有効かどうかを示します。 -
次のフィールドを
setBillingAddressOnCartおよびsetShippingAddressesOnCart個の変異に追加しました:faxmiddlenameprefixsuffix
新しいクエリと変更
非推奨のクエリと変更
clearCustomerCart変異createEmptyCart変異attributesMetadataクエリcustomAttributeMetadataクエリ
Inventory management
Inventory management(v1.2.7)には、商品の在庫を管理するツールが用意されています。 このコミュニティ開発機能は、Adobe CommerceおよびMagento Open Source コアコードにバンドルされています。
Magento Open Source拡張機能メタパッケージ
このリリースには、Magento Open Source拡張機能メタパッケージ v1.0.0が含まれており、このコアリリースで一部のMagento Open Source拡張機能が自動的にバンドルされます。 このメタパッケージに含まれるこの拡張機能のバージョンは、composer updateの実行時にインストールされるため、最新のコアリリースにアップグレードする際の拡張機能のアップグレード処理が簡素化されます。 この拡張機能は、独立したリリーススケジュールを維持します。
Magento Open Source 2.4.7のMagento Open Source拡張機能メタパッケージには、次の拡張機能が含まれています。
この拡張機能メタパッケージの将来のバージョンには、追加の拡張機能が含まれます。
PWA Studio
PWA Studio v14.0は、Magento Open Source 2.4.7-beta1と互換性があります。 アクセシビリティを向上させるための複数の機能強化が含まれています。 バグ修正について詳しくは、PWA Studio リリース を参照してください。 PWA Studioのバージョンと互換性のあるMagento Open Source コアバージョンの一覧については、 バージョンの互換性を参照してください。
Web API フレームワーク
このリリースでは、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です。1はFilterable (with results)、2はFilterable (no results))です。GET /V1/products/attributes/{attributeCode}/is-filterable. パス パラメーター:attributeCode(String)。
修正された問題
Magento Open Source 2.4.7 コアコードの数百もの問題を修正しました。 このリリースに含まれる修正された問題のサブセットについて、以下で説明します。
インストール、アップグレード、導入
- 不要なキャッシュ操作がセットアップ プロセスから削除されました。 以前、Magento Open Sourceは
bin/magento setup:db-data:upgradeまたはbin/magento setup:upgradeの実行時に設定をディスクに不必要に書き込んでいたため、セットアップ中に一部のモジュールで問題が発生していました。 GitHub-38124
- メモリ不足とテーブルのサイズが大きいため、デプロイメントの問題が解決されました。 大きなMySQL テーブルに関連するメモリ超過エラーにより、
bin/magento setup:upgradeコマンドが失敗しなくなりました。
app/etc/config.phpが削除された後、bin/magento setup:installが正常に完了しました。 以前は、インストール中に見つからないファイルが再生成されず、Magento Open Sourceがエラーをスローしていました。 GitHub-37805
- テーブルと関連する
mview個のインデクサーの両方をインストールする新しいモジュールをインストールする際に、bin/magento setup:upgradeが正常に実行するようにリファクタリングされました。 GitHub-37304
- 区切り文字エラーにより、データベースの復元が失敗しなくなりました。 以前、
bin/magento setup:rollback --dbが実行されたときにMagento Open Sourceがこのエラーをスローしました: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中のメモリ消費を減らすように最適化されました。
- データベースのバックアップの生成が、管理者とコマンドラインの両方から期待どおりに機能するようになりました。 以前、Magento Open Sourceがこのエラーをスローしました:
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設定が更新され、ゲストユーザーが他の顧客グループに関連するキャッシュされたコンテンツにアクセスできるようになりました。
- テーブルと関連する
mviewインデクサーの両方をインストールする新しいモジュールをインストールする際、bin/magento setup:upgradeが正常に完了するようになりました。
- メッセージ キューのトピックにトピック名が含まれていない場合に、
bin/magento setup:upgradeに、より有益なエラーメッセージが表示されるようになりました。 GitHub-34246
- 結合されたXML ファイルが無効な場合に、
bin/magento setup:upgradeに、より有益なエラーメッセージが表示されるようになりました。 エラーメッセージにファイル名が含まれるようになりました。
管理者UI
- ダッシュボードでグラフがデフォルトで正常に無効になりました。 GitHub-38430
- 管理者販売メニューにサブメニューが正しく表示されるようになりました。 以前は、列区切りが正しく機能せず、一部のサブメニューが表示されませんでした。 GitHub-37812
- グリッドで複数のページが選択されている場合、管理者Content > PagesにSelect ドロップダウンメニューオプションが表示されるようになりました。 GitHub-35386
- 構成設定のデフォルト値
system/dashboard/enable_chartsへのパスを修正しました。 管理画面にグラフが正常に表示されるようになりました。 GitHub-37668
- 管理者のお客様のグリッドの表示に関する問題を修正しました。 以前は、グリッド列は表示されるページ内に完全に含まれていませんでした。
- 管理者の静的グリッドの行にホバーカラーが期待どおりに適用されるようになりました。 GitHub-35358
- チェックアウトワークフローで、買い物客が空白を含まないギリシャの郵便番号を入力すると、警告が表示されなくなりました。 GitHub-36676
- 管理者
It's time to change your passwordリンクが、管理者パスワードの変更ページにリダイレクトされるようになりました。 GitHub-37902
- 製品ページの
titleタグとmeta titleタグの両方に、ページタイトルのサフィックスが含まれるようになりました。 GitHub-37680
- 関連製品ルールに対して、製品在庫ステータス条件が正しく適用されるようになりました。
- モバイルデバイスでLogin as Customer ボタンが正しく表示されるようになりました。
- ログインしている管理者ユーザーに新しい顧客グループを追加する権限がない場合、Adobe Commerceに「管理者Add new customer group」ボタンが表示されなくなりました。
- 権限が制限された管理者ユーザーは、親製品が別のスコープに割り当てられている子製品を保存できるようになりました。 以前、Commerceでは、子製品が変更されたスコープに割り当てられていない親製品のキャッシュが無効になっていました。
- 管理者ユーザーは、ビューデータが破損したり失われたりすることなく、管理者フィルタービューを正常に切り替えることができるようになりました。 GitHub-37529
バンドル製品
customerCartクエリで、バンドル製品に適用されたすべての割引が期待どおりに返されるようになりました。 以前は、バンドル製品に適用された合計割引はゼロとして返されていました。
- 商品詳細ページに、100%割引が適用されたバンドル商品の正しい価格が表示されるようになりました。 以前、Magento Open Sourceでは、価格をバンドルする際に100%割引を適用していませんでした。
- カート価格ルールは、動的な価格のバンドル商品の各子商品ではなく、商品バンドルに適用されるようになりました。
POST V1/shipmentエンドポイントを使用してバンドル製品を含む出荷を作成する際に発生するエラーを修正しました。 エンドポイントはアイテムを期待どおりに追加し、このエラーを返さなくなりました:The shipment couldn't be saved。
- 商品に together の配送タイプが設定されている場合は、
GET V1/shipment/API ルートを使用して、バンドル商品を含む配送を作成できるようになりました。 バンドル製品も、配送タイプのプロパティに基づいて検証されるようになりました。
- 顧客は、ストアフロントのショッピングカートでバンドル商品の数量を編集できるようになりました。 以前、Adobe Commerceは、ストアフロントのショッピングカートで商品が編集され、エラーが表示された場合、
ItemIdのnull値を処理しませんでした。 GitHub-37696
- スラッシュ(
/)文字を含むSKUを使用して、バンドル製品を管理者注文に正常に追加できるようになりました。 以前は、管理者ユーザーはこの方法を使用して管理者注文に商品を追加できず、Magento Open SourceでJavaScript エラーがスローされていました。
- 対応するシンプルな製品で Qty Uses Decimal が有効になっている場合、管理者ユーザーは新しく追加されたバンドルオプションの10進数のデフォルト値を設定できるようになりました。 以前は、保存済みの選択範囲に対してのみ10進数値を設定できました。
- 多数のオプションでバンドル製品を保存するための最適化されたパフォーマンス
- バンドル製品は、製品オプションでSKUを複製することなく正常に読み込まれるようになりました。 以前、Magento Open Sourceでは、重複したエントリを持つバンドル商品を読み込むと、商品オプションに複数の重複SKUが作成されていました。
- バンドル内の商品の1つが在庫切れになった場合に、バンドルの商品価格が適切に計算されるようになりました。 以前は、バンドルの一部である商品が在庫切れだった場合、価格計算から削除されていました。
- バンドル商品は、必要な子商品の最後が購入されると、在庫切れとして表示されるようになりました。 以前は、シンプルな商品の在庫が切れたときに、ストアフロントにバンドル商品の在庫が表示されていました。
addBundleProductsToCartの変異を使用して、不要なオプションを含むバンドル製品をカートに追加する際のパフォーマンスの問題が解決されました。
categoryListクエリは、Show out-of-stock products構成設定が有効になっている場合に、すべてのバンドルオプションを期待どおりに返すようになりました。 以前は、在庫切れオプションはクエリ応答に含まれていませんでした。
- カタログの価格範囲が
websiteに設定されている場合、POST V1/productsで作成されたバンドル製品が成功するようになりました。 以前は、整合性制約の違反が発生していました。 GitHub-35595
キャッシュ
- キャッシュがFastly CDN (Caching Application=Fastly CDN)に設定されているストアの買い物客にカテゴリが表示されるようになりました。 これは、ゲストの買い物客と登録済みの顧客の両方に影響を与えます。
- ログイン後のキャッシュ Cookieは、web サイトを閲覧した後も同じになりました。 以前は、ログインコントローラーが誤ったキャッシュ Cookieを送信し、ページが複数回キャッシュされた可能性がありました。
- CMS ブロックを含むCMS ページ上のGraphQL GET オペレーションからの応答が、Fastly キャッシュで期待どおりにクリアされるようになりました。 以降のスケジュール更新では、これらのページの正確な更新コンテンツが表示されるようになりました。
- 子製品の1つが管理者から保存された場合、親製品のページキャッシュが期待どおりにクリアされるようになりました。 インデクサーの状態(スケジュール済みまたはリアルタイム)に関係なく、他の製品タイプと同様に、設定可能なバリアントのキャッシュ無効化に到達するためのプラグインチェックが導入されました。 以前は、設定可能なバリエーションが管理者から更新された後、ストアフロントで価格が適切に更新されませんでした。
- AWS資格情報のキャッシュメカニズムを追加しました。 認証情報プロバイダーは、EC2設定のためにAWSから取得した認証情報をキャッシュするために、Commerce キャッシュを使用するようになりました。
- 設定可能な製品に関連付けられた単純な製品が保存されたときに、設定可能なキャッシュタグを追加することを目的とするプラグインが正常に動作するようになりました。
POST V1/productsによって単純な製品が更新されると、関連するすべての設定可能なキャッシュタグが期待どおりに削除されます。 以前は、ストアフロントですべての価格が更新されたわけではなく、キャッシュを手動でクリアする必要がありました。 GitHub-36726
カートとチェックアウト
- 永続的なカートが有効になっている場合、Magento Open Sourceで商品詳細ページ(PDP)やCMS ページなどのフルページのキャッシュ可能ページを生成する際に、ユーザー固有の見積もりデータを読み込まないことで、パフォーマンスが最適化されるようになりました。 以前は、ページの生成中にユーザー固有のセッションや引用データが不必要に読み込まれたため、パフォーマンスに影響を与えていました。
- カスタムアドレスのカスタム属性が、データベースに期待どおりに保存されるようになりました。 以前は、データベースに保存された属性値には、属性コードが先頭に付いていました。
- 製品属性のカートルールのフィルターテキストの生成が改善されました。 個々の製品は、複数回ロードされなくなりました。
- チェックアウト中にエラーが発生し、買い物客が以前のチェックアウトステップに戻らない場合、Magento Open Sourceに有益なエラーメッセージが表示されるようになりました。 以前は、この買い物客は配送ページに戻っていました。
cartクエリで、仮想カートの配送方法と住所が返されなくなりました。 以前は、カートに物理的な商品とバーチャルな商品の両方が入っていて、すべての物理的な商品が削除された場合、カートのクエリには引き続き配送情報が含まれていました。
- カートに追加アクションがトリガーされたときに、Magento Open Sourceに情報メッセージが表示されるようになりました。 以前は、
The requested qty is not availableは必ずしもストアフロントに必要に応じて表示されていませんでした。
- 大きなアドレス帳を持つ顧客のチェックアウトページの読み込み時間が改善されました。 Magento Open Sourceは、Customer Addresses Limit設定で指定された数の顧客アドレスのみを処理するようになりました。 以前、Magento Open Sourceはアドレス帳全体を読み込んでいました。
- 1つの商品の在庫が切れたときに、在庫商品に対して予想どおりに商品の数量をカートで変更できるようになりました。 以前は、在庫切れの際に、商品の数量を変更することができませんでした。
AdvancedSalesRule製品属性フィルターが、10進数属性のバックエンドタイプで正しく機能するようになりました。 その結果、Coupon Typeが No Coupon に設定された買い物かごルールが正常に機能するようになりました。
- バンドルと設定可能な商品の両方を含むカートに、予想どおりにカート全体の割引が適用されるようになりました。
- お客様セクションのCookieは、Cookieのドメイン設定を尊重するようになりました。 以前は、セッションが共有されていても、サブドメインを含むストアでミニカートが期待どおりに更新されませんでした。
- 複数の住所に注文を配送しても、地域ID処理中にエラーがトリガーされなくなりました。
- カートレベルで適用される固定割引額が正しくなりました。GitHub-37496
- 買い物客が、配送方法を条件として設定したカート価格ルールが適用される定額料金の配送方法を選択した後、クーポンを適用する際に、注文にクーポンが正常に適用されるようになりました。 以前は、「クーポンは無効です」というエラーが表示され、クーポンは適用されませんでした。 GitHub-34866
- 買い物客が、配送方法を条件として設定したカート価格ルールが適用される定額料金の配送方法を選択した後、クーポンを適用する際に、注文にクーポンが正常に適用されるようになりました。 以前は、「クーポンは無効です」というエラーが表示され、クーポンは適用されませんでした。 GitHub-34866
- 買い物客がChrome autocompleteを使用して配送先住所を入力し、配送方法ブロックが再読み込みされる前に Next をクリックすると、デフォルトでMy billing and shipping address are the same チェックボックスがオンのままになります。 GitHub-33725
quote_itemテーブルのapplied_rule_ids値に、適用されたルール IDの正しいリストが含まれるようになりました。 以前は、この値には最後に適用されたルール IDのみが含まれていました。
- サーバーからセッションが削除されたときに、ローカルストレージ内のミニカートと顧客データがリセットされるようになりました。 以前は、セッションファイルを削除しても、このデータは表示されていました。
- 永続的なカートが有効になっている場合に、個別のカートが管理者から誤ってマージされなくなりました。
- 買い物かごの税金と送料の見積もりが、デフォルトの宛先設定を正確に反映するようになりました。 以前は、デフォルトの納税先計算設定を設定し、都道府県/地域と郵便番号を指定した場合、郵便番号の値のみが Estimate Tax and Shipping の下のカートに表示されていました。 これは、デフォルトのリージョン IDをAdminから呼び出す条件付きステートメントを呼び出す前に、Magento Open Sourceがリージョン IDを未定義に設定したことに起因します。
- 永続的なショッピングカートが有効になっている場合、Magento Open Sourceはチェックアウト中にこのエラーをスローしなくなります:
Invalid state change requested。 以前は、このエラーがスローされたときに、同じquote_idの複数の注文が作成されることがありました。
- ミニカートに、カートの税金設定を反映したバンドル商品価格が表示されるようになりました。 以前は、ミニカートには常にバンドル製品の価格に税金が含まれていました。
- カートページから提供される配送見積もりが正確になりました。
collectShippingRatesは1回のみ設定されています。 以前は、出荷見積もりが重複していました。 GitHub-36648
- 指定されたカート内の商品が在庫切れになった場合、
cartクエリはエラーを返さなくなりました。 以前は、このクエリを使用して購入した買い物客は、商品の在庫がなく、チェックアウトページが空白の場合、購入を完了することができませんでした。
- モバイル環境でのログイン中にページが再読み込みされた場合、
POST V1/guest-carts/<cartId>/shipping-informationへのゲスト API リクエストでcancelステータスが返されなくなりました。 以前、Magento Open Sourceは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拡張機能が無効になっている新しいカート価格ルールを正常に保存できるようになりました。 以前、Magento Open Sourceがこのエラーをスローしました:report.ERROR: Warning: Undefined array key "simple_free_shipping"。 GitHub-37580
- 店舗に対して1つの配送方法に関連するカート価格ルールを設定し、チェックアウト時に別の配送方法に変更すると、カート価格ルールが期待どおりに適用されるようになりました。 以前は、
sales_order_itemテーブルでapplied_rule_idsの値は変更されず、カート価格ルールは注文に適用されませんでした。
- 買い物客が、配送方法を条件として設定したカート価格ルールが適用される定額料金の配送方法を選択した後、クーポンを適用する際に、注文にクーポンが正常に適用されるようになりました。 以前、カートページに
Coupon is Not validエラーが表示され、クーポンは適用されませんでした。 GitHub-34866
カタログ
bin/magento cache:cleanまたはbin/magento cache:flushを実行しても、指定しない限り、組み込みキャッシュまたはVarnish フルページキャッシュ全体がフラッシュされなくなります。 GitHub-38301
catalog_product_price dimensions-modeがwebsiteに設定されている場合、マーチャントは商品カルーセルを使用してCMS ブロックを作成できるようになりました。 以前、Magento Open Sourceはブロックを保存せず、次のSLQ エラーをスローしました:report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table。
- 商品詳細ページで商品カラーを変更しても、Magento Open Sourceに重複した画像が表示されなくなりました。 GitHub-36243
- 新しいストアを追加した後、または大規模なマルチストア環境で既存のストアを変更した後、web サイト固有の値を同期するアルゴリズムを最適化しました。
- キャッシュされた画像ファイルのクリーンアッププロセスが改善され、
pub/media/catalog/productフォルダーに非表示のディレクトリが作成されなくなりました。 以前は、クリーンアップ操作中に隠しディレクトリによってディスク容量の問題が発生していました。 操作を終了できました。これにより、削除されなかった一時的な隠しディレクトリが残りました。
- バンドル商品の価格が正しく計算され、価格を計算する際の操作順序の問題が解決されました。 GitHub-35665
catalog_product_price個のインデックスクエリから不要な句が削除されました。これにより、カタログが大きいストアでこのインデクサーのパフォーマンスが向上しました。 GitHub-32382
- このフィールドが空のままになっている場合、Magento Open Sourceは商品詳細ページ Meta Description フィールドに商品説明テキストを挿入しなくなりました。 以前、製品説明にページビルダーまたは別のHTML エディターによって生成されたHTML コードが含まれていると、Meta Description フィールドにHTMLが表示され、このフィールドを空のままにすることができませんでした。
- 設定可能な製品PDP ページの設定可能な製品オプションは、ページの他の設定可能な製品オプションの影響を受けなくなりました。 以前は、ドロップダウン属性を持つ設定可能な製品は、製品カルーセルが製品詳細ページに表示される場合に、トリガーが表示されなくなっていました。 スウォッチオプションを含む他の設定可能な製品がページに存在する場合、設定可能な製品オプションは選択できませんでした。
- 最近閲覧した製品情報が、ストアビュー設定に従って表示されるようになりました。 以前は、最近閲覧した商品データは、名前や優先言語など、ストアビューごとに更新されていませんでした。
- Vimeoのビデオが、Chromium ベースのweb ブラウザーのモバイルビューで商品ページで正常に再生されるようになりました。
bin/magento catalog:images:resizeコマンドで、カスタムテーマを使用してカスタム web サイトに割り当てられた製品の製品画像が正しく生成されるようになりました。
NULLまたはNOT NULLの値を持つメタデータが、「デフォルト値を使用」チェックボックスに従って、デフォルトストア用に保存されるようになりました。 以前は、このチェックボックスをオフにした場合、NULL値のメタデータは保存されませんでした。
- 商品詳細ページから既存の画像を削除し、同じ名前の新しい画像をアップロードできるようになりました。 以前は、そのような状況において、ストアフロントの商品ページに正しい画像が表示されていませんでした。
- 製品画像
alt属性が空に設定されている場合、productDetailクエリはnullではなく製品名を返すようになりました。
- ダウンロード可能な商品と実店舗の商品の両方が含まれる注文には、注文が完了するとすぐに、ダウンロード可能な商品へのリンクが含まれるようになりました。 以前は、同じ注文の物理的な商品が出荷されるまで、ダウンロード可能な商品へのリンクは利用できませんでした。
- URLの書き換えは、あるストア/ルートカテゴリから別のストア/ルートカテゴリにカテゴリを移動したときに更新されるようになりました。 サブカテゴリが新しい親カテゴリに転送されると、古いデータベースエントリが削除されるようになりました。 データベースには、関連するエントリのみが含まれるようになりました。 以前は、
url_pathは適切なストア IDで更新されませんでした。
- REST
V1/products/<sku>/mediaエンドポイントは、複数のメディア画像の同時アップロードを処理できるようになりました。 以前は、複数のリクエストを同時に処理する際に、一貫性のないデータが作成され、このデータがデータベースに保存されたときにMagento Open Sourceがエラーをスローしていました。
- カテゴリ製品および製品カテゴリのインデクサーの部分的な再インデックスのパフォーマンスが改善されました。 以前は、
indexer_update_all_viewscron ジョブは、1つの製品またはカテゴリごとに複数回インデックス再作成を実行していました。
- 在庫構成(数量)に基づいて製品在庫状況が自動的に在庫切れに更新されると、在庫数量が更新されると、在庫状況はその後在庫切れに更新されます。 以前は、製品の在庫構成が在庫に更新されたときに、
stock_status_changed_auto設定は無視されていました。
- Remember Category Pagination設定が有効になっている場合に、検索ページでツールバーの並べ替えが期待どおりに機能するようになりました。 GitHub-33220
- ストアビュースコープのUse Default Value チェックボックスを選択すると、複数選択属性が期待どおりに保存されるようになりました。 以前は、製品が編集され、デフォルト値が保存されたときに、このチェックボックスはオフになっていました。
- web サイトに限られたアクセス権を持つ管理者ユーザーは、自分の範囲内の製品に画像を追加できるようになりました。 管理者ユーザーが製品へのアクセス権を持っていない場合は、Magento Open Sourceに有益なメッセージが表示されます。 以前は、web サイトに制限されたアクセス権を持つ管理者ユーザーは、アクセス権を持つ製品に画像を追加できませんでした。
- ストアによって商品名が異なるマルチストア展開で、管理者> Category > Products in categoryで商品名を名前順に並べ替えた後、Magento Open Sourceに正しい名前が表示されるようになりました。 GitHub-36208
addProductsToCartの突然変異は、データを使用してカスタマイズ可能なオプションを返すようになりました。 以前は、カスタマイズ可能な空のオプションのみが返されていました。 GitHub-37599
- ストアフロントに製品の取り寄せステータスが正しく表示されるようになりました。 以前は、出荷できる商品がバックオーダーとして誤って識別されていました。
use_config_manage_stockの値が1に等しい場合、書き出された製品の値が正しいmanage_stockになりました。 以前は、このデフォルト値は正しくありませんでした。
- 管理者からダウンロード可能な製品にアクセスすると、管理者ユーザーが製品作成時に使用したビューから別のストアビューにストアビューを変更したときに、エラーが発生しなくなります。 管理者ユーザーがすべてのストアビューからデフォルトのストアビューにストアビューを切り替えると、製品価格がフロートに正常に変換されるようになりました。 以前、Magento Open Sourceはエラーをスローしていました。 GitHub-37519
- カスタムオプションで作成した商品を画像を削除した後に保存すると、Magento Open Sourceに警告メッセージが表示されなくなりました。
- 商品のサムネイル画像が、商品の再入荷時に送信される商品の在庫アラートメールに、期待通りに表示されるようになりました。 以前は、この画像はアラートメールには表示されませんでした
- カテゴリーツリー(管理者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画像を追加できるようになりました。 以前、Magento Open Sourceはこのエラーを表示しました:
imagecolorsforindex(): Argument #2 ($color) is out of range。
- 未定義の配列キーに起因するエラーを処理するためのチェックが追加されました。 以前は、宣言型スキーマのホワイトリスト生成中にエラーが発生していました。
- Magento Open Sourceは、カスタム日付
01/01/1970の有効な結果を返すようになりました。 以前、カスタム属性がこのエラーを返しました:Invalid input datetime format of value '1/01/1970。 GitHub-37274
- フラグメントを使用する
routesクエリで、カテゴリ情報が期待どおりに返されるようになりました。 以前は、カテゴリーページで内部サーバーエラーが発生していました。 GitHub-35906
cataloginventory_stockの部分的なインデックス再作成プロセスに関する問題が解決され、インデクサーのパフォーマンスが向上しました。 以前は、在庫と商品のカテゴリーは正確に更新されていませんでした。
- Magento Open Sourceでは、属するカテゴリが新しい親に移動された場合、商品の301 リダイレクトが生成されるようになりました。 GitHub-37039
カタログルール
- スケジュールの更新によって有効になっている場合に、カタログルールのインデックスが正しく作成されるようになりました。 その結果、割引価格が正しく生成され、インデックスが作成されるようになりました。 以前は、2つのカタログルールが使用可能で、最初のルールのカタログルールのインデックス作成操作が完了する前に1つのルールが最初のルールの後にアクティブ化された場合、2番目のカタログルールのカタログルールの割引価格は生成されませんでした。
- 複数のweb サイト環境で、カタログルールが期待どおりに適用されるようになりました。
コンフィグ商品
- 関連するシンプルな製品のソースに影響を与えることなく、設定可能な製品を設定する際に Skip quantity at this time と Skip image uploading at this を選択できるようになりました。 以前は、Skip quantity at this timeを選択すると、製品ソースが消えていました。
- すべてのオプションの価格が同じ場合、設定可能な製品価格にAs low as ラベルは表示されなくなります。
- web サイト権限を持つ管理者ユーザーは、設定可能な製品の一部である子製品を別のストアコンテキストに保存できるようになりました。 インデックス再作成プロセスでは、このタイプの設定可能な製品がスキップされるようになりました。
- スケジュールされた更新によって1つの子製品が無効になった場合、2つの子製品を含む設定可能な製品が在庫切れとしてマークされなくなりました。 これは、2.4.7-beta1の既知の問題でした。
- 複数のオプションを持つ設定可能な製品の保存操作のパフォーマンスが向上しました。 以前は、製品の保存操作中にタイムアウトが発生する可能性がありました。 GitHub-36928
- 買い物客が商品オプションを選択すると、設定可能な商品価格のストアフロント表示が期待どおりに変更されるようになりました。 GitHub-37378
クーポン
- 顧客あたりの使用回数が制限されたクーポンコードは、以前に使用された注文が失敗したときに2回目に使用できるようになりました。 以前は、前回の注文がキャンセルされたときにプロモーションコードはリリースされませんでした。
- スペース文字を含むクーポンコードは無効化されなくなりました。 以前は、クーポンコードに(実際のコードの前または後に)スペース文字が含まれている場合、検証に失敗しました。 GitHub-38048
- 適用された注文がキャンセルされたときに、買い物客の単回使用クーポンの値が期待どおりに復元されるようになりました。
GET V1/coupons/<couponId>エンドポイントは、自動生成されたクーポンと同様に、手動で作成されたクーポンに対して期待される完全な応答を返すようになりました。 以前は、一部のフィールドが省略されていました(例:usage_limit、usage_per_customer、およびcreated_at)。
cron
aggregate_sales_report_bestsellers_datacron ジョブは、一時MySQL テーブルを大きく作成しなくなり、正常に完了しました。 このcron ジョブは、すべてのストアに対して一度にデータを挿入するのではなく、ストアごとにデータを挿入するようになりました。 以前は、このcron ジョブでNo space left on device個のエラーが発生する可能性がありました。
- cron ジョブが不要なcron ジョブロックを取得しようとするのを防ぐことにより、
cron_scheduleテーブル内の保留中のレコードの数が削減されました。 以前、cron ジョブは、ジョブを実行するのに遅すぎたときにロックを取得しようとしていました。cron_scheduleのCron ジョブは、スケジュールされた時間を既に過ぎていても、欠落としてマークされませんでした。 Magento Open Sourceは、エラーログに次のエラーを繰り返し表示しました:report.WARNING: Could not acquire lock for cron job: indexer_update_all_views。
- cron式のゼロ区切りの致命的なエラーを修正しました。 GitHub-37804
sales_clean_quotescron プロセスは、見積テーブルのstore_idとupdated_at columnsに複合インデックスを追加することで、より高速に実行するように最適化されました。 この変更により、多くの見積もりを処理する際のcron ジョブのパフォーマンスが向上します。
- 管理者ユーザーは、
bin/magento cron:runプロセスが現在実行しているタスクを表示できるようになりました。 現在実行中のプロセスのタイトルに、グループ名とジョブ名が一覧表示されるようになりました。 GitHub-34321
お客様
- Magento Open Sourceでは、設定に基づいて、お客様の編集ページにDate of Birth、Tax/VAT Number、Gender、Telephone、Companyおよび Fax のフィールドが表示されるようになりました。 GitHub-36196
メール
- 発音記号やアクセントを含む電子メール(utf8 メール)は、お客様や企業、およびゲストや登録済みのお客様による注文でサポートされるようになりました。 以前は、Magento Open Sourceは発音記号を含むお客様のレコードを保存せず、次のエラーが表示されていました:
Something went wrong while saving the customer。
- メール送信者名にコロン文字を含めることができなくなりました。 新しい検証ルールにより、管理者Stores > Generalの「メールアドレスを保存」セクションからコロン文字を含む送信者名を保存できなくなります。 以前は、コロン文字を含む送信者名を保存すると、メールサーバーエラーが発生していました。
- 顧客のメールアドレスに発音記号を含めることができるようになりました。 以前は、フロントエンドの検証により、電子メールアドレスに発音記号が含まれるユーザーの作成が禁止されていました。 GitHub-12075
- 在庫および価格のアラートメールが、web サイトのデフォルトのストアビュー用に設定された言語に従って翻訳されるようになりました。 以前は、これらのメールは翻訳されていませんでした。
POST V1/order/notify-orders-are-ready-for-pickup様は、注文が受け取り可能な状態になったことを顧客に通知する電子メールを送信するようになりました。 メールは、リクエストが例外なく満たされた場合にのみトリガーされるようになりました。
フレームワーク
- Varnishを使用してHTTP ヘッダーを出力する際に
UNCACHEABLE値を追加することで、デバッグを改善しました。 以前は、HITまたはMISS個の値のみが出力されていました。 GitHub-37912
- デフォルトのVarnish圧縮処理をサポートするコードを追加しました。 GitHub-38309
varnish:vcl:generateコマンドにinput-file argumentが含まれるようになりました。 これにより、Commerce ルートに対するカスタム VCLのGit リポジトリへの追加がサポートされます。 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 ドキュメントタグを修正しました。 GitHub-38186
- コーディングの実行時に作成されたコードベース全体でリファクタリングされたコードにより、
app/etc/env.phpファイルに含まれるすべてのキャッシュセクションにフロントエンドセクションが含まれることが示されました。 このリファクタリングは、Magento Open Source 2.4.4より前のデプロイメントをアップグレードする際の潜在的な問題を解決します。 GitHub-38363
- 値が0のストック IDがAPI呼び出し中に指定された場合に
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個のエラーメッセージが含まれていません。 メニューエントリログがレベル INFOからDEBUGに移動されました。 以前は、var/log/system.logファイルに次のようなメッセージが溢れていました:Add of item with id Magento_Theme::design_config was processed …。
exec()がfalseを返したときにRedisのプリロードが失敗しなくなりました。array_combineが2番目の引数としてfalseを受け取らないように、プリロードプロセスに検証が追加されました。 その結果、exec()がfalseを返したときに、プリロードは引き続き実行されます。 GitHub-37509
Magento_CatalogWidgetモジュールをリファクタリングして、$block個のエスケープ関数を$escaper個のエスケープ関数に置き換えました。 GitHub-37107
Swazilandがコードベース全体でEswatiniに更新されました。 GitHub-37873
- 新しいニカラグア通貨(NIO)を利用可能な通貨のリストに追加しました。
CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.phpの変数名を修正しました。 GitHub-38093
- 10進数が有効になっている製品のトランザクションで発生した小計の丸めエラーを解決しました。 GitHub-37817
- 管理者の顧客グリッドの日付フィルターが、指定されたロケールに従って期待どおりに機能するようになりました。
- 変数データタイプ
$schemaPatchが原因で、bin/magento setup:upgradeコマンドが失敗しなくなりました。 以前は、文字列値がget_class関数に渡されたため、エラーが発生していました。 GitHub-37545
- コンシューマーに
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
- インドのラダック州が、管理者アドレス 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)に置き換えられました。 以前は、Magento Open Sourceにエスケープされていない要素が含まれている場合、通常のシリアライザーでシリアル化されたデータを使用しようとすると、クラッシュすることがあります。 GitHub-31377
- 完全な再インデックス (
bin/magento indexer:reindex)の実行中に、パイプラインの破損エラーが発生しなくなりました。 AMPQ接続は、プロセスマネージャーがプロセスをフォークする前に閉じるようになりました。
- キューのメッセージバリデーターは、すべての配列要素のサブタイプを検証するようになりました。 Magento Open Sourceはこれまで例外を投げていた。
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
- 欠落している
jQuery依存関係がtrim-input.jsファイルに追加されました。 GitHub-37683
- イベント固有の詳細が、
logメソッドの2番目の属性(context)として渡されるようになりました。 GitHub-37879
- アスペクト比の値がカタログ画像に追加され、不要なスクリプトがUI フレームワークから削除されました。 GitHub-37691
- 無効なXML設定によってトリガーされるエラーメッセージを修正して、より有益なものにしました。 GitHub-37788
- コードベース全体での動的プロパティの作成に関連する非推奨のコードをリファクタリングしました。
- 非常にアクティブな商品データベースを持つ大規模店舗向けのインデクサーのパフォーマンスが向上しました。 インデクサーは、最新の製品情報を複数回ではなく、各インデックスに1回インデックス付けするようになりました。 以前は、web サイトから製品が消え、web サイトの製品データが古くなっている可能性がありました。 GitHub-30012
- スレーブ データベース接続が利用可能な場合、
mview_stateレコードの状態が、changelog アクティビティに基づく状態を正確に示すようになりました。 以前は、変更ログに新しいエントリがない場合でも、これらのレコードはクラウド展開のwaiting状態のままでした。
- 非推奨の
ZendCurrencyクラスと機能のパリティを維持するために、通貨形式のprecisionオプションのサポートを追加しました。
- Cookie メッセージは観測可能な属性に変換され、開発者はステートを操作できるようになりました。これにより、UIの変更がトリガーされる可能性があります。 以前は、Cookieは読み取り専用で、操作することはできませんでした。 GitHub-37308
- 管理者ユーザーは、Magento Open Source インスタンスがS3 ストレージに接続されたときに請求書を生成できるようになりました。 以前、Magento Open Sourceはこのエラーを表示しました:
Cannot create image resource. File not found。 GitHub-35706
- VIES検証サービスによるVAT番号検証が失敗した場合、Magento Open Sourceが予期したとおりに例外メッセージを記録するようになりました。 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パラメーターを無視していました。 この問題は、管理者インターフェイス全体で発生しました。
- 同時要求による更新中に競合状態を防ぐため、注文に対してMutexが実装されました。 以前は、注文キャンセルの同時要求(競合条件)によって、
inventory_reservationテーブルのエントリが重複していました。
populateWithArray関数は、オブジェクトのプロパティをスネークケースに正しく変換し、AbstractModelのゲッターとセッターと互換性を持つようになりました。 以前は、データ属性名に行に複数の大文字が含まれている場合、大文字と小文字の書式が正しくありませんでした。
- 製品を保存した後、テーブル
catalog_product_entity_varcharの自動増分値が正しく増分されるようになりました。 以前は、この値は10増加していました。
- JavaScript/CSS キャッシュ
No such file or directoryをフラッシュしようとすると、Magento Open Sourceはこのファイルシステムの例外をスローしなくなります。
customer_entity_intのvalue_idの値が正しく増分されるようになりました。 これらの属性を組み込んだエンティティを更新する場合、更新クエリはinsert on duplicate key updateではなく実行されます。 その結果、EAV モデル内で使用される自動インクリメント列が線形に成長するようになりました。 以前は、挿入クエリが失敗したため、列の自動増分プロセスで値がスキップされていました。 GitHub-28387
- 不要な空白を必要としない
id属性から削除しました。 (このバグは、Magento Open Source 2.4.6 コードの変更によって導入されました。)
- ストアがシングルストアモードの場合、ストアコードがストア URLに表示されなくなりました。 GitHub-36831
around個のプラグインがマイナーに更新されました。 GitHub-31443
- スウォッチ
Helperがリファクタリングされ、誤解を招くインポート エイリアスが削除されました。 GitHub-31373
- 管理者ユーザーは、期待どおりに
sitemap.xmlファイルを削除または名前変更できるようになりました。 以前は、管理者ユーザーは管理者からファイルを削除できましたが、ファイルシステムに残っていました。 GitHub-37468
- クーポンが適用された注文の支払いが失敗した場合に、クーポンが「使用された」としてフラグ付けされなくなりました。 キューのメッセージは、消費者の開始時に公開される順序で処理されるようになりました。 以前は、最初のメッセージはキューから取り出され、メッセージがキューに入れられたかどうかを簡単に確認するために、後で拒否されたため、最初のメッセージは最後に処理されていました。
- ユーザーが配送ラベルを印刷しようとすると、Magento Open Sourceでログファイルに例外がスローされなくなりました。 以前は、拡張機能が添付ファイルを含む応答ヘッダーを変更した場合、ログファイルに例外がスローされていました。
- より多くのHTML クラスのサポートが
elements.xsdに追加されました。 GitHub-36891
一般的な修正
reponseBody変数の名前をapp/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.phpのresponseBodyに変更しました。GitHub-38093
- 製品の更新をスケジュールすると、複数選択の属性データが消去されなくなりました。 以前は、製品の更新がスケジュールされた場合、製品の複数選択属性データが誤ってクリアされていました。 GitHub-37675
- デフォルト以外のストアスコープを持つ製品を保存すると、
ProductRepositoryを使用して読み込むと、変更されていない属性がストアスコープに変わることがなくなりました。 GitHub-8897
- 製品詳細ページのカスタムフィールド検証に、有益なエラーメッセージが追加されました。 GitHub-38006
- 名前フィールドで特殊文字を使用できるようになりました。 以前は、名前バリデータでアンパサンド文字(&)が制限されていましたが、顧客名にアンパサンドが含まれている場合、顧客の追加または編集操作がブロックされていました。 GitHub-38080
- 特定のストアへのアクセスが制限されている管理者ユーザーは、一括更新アクションを使用して製品レビューを更新できるようになりました。 以前、Magento Open Sourceはこの例外をスローしました:
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 バイト文字がサポートされていなかったため、絵文字の後にコンテンツが切り捨てられていました。
- ログインページのShow Password チェックボックスがアクティブな場合に、パスワードが期待どおりに表示されるようになりました。
- 顧客アカウントの作成中に、顧客エンティティ (
rp_token)検証のパスワードのリセットのトークンシステム属性が属性検証から削除され、文字列検証は結果として得られる顧客の電子メールにのみ含まれます。 以前、Magento Open Sourceはお客様のレコードを保存せず、次のエラーが表示されていました:Something went wrong while saving the customer。
- 列を削除した後で、管理者ページとブロックグリッドに編集を正常に保存できるようになりました。 GitHub-37525
- お客様は、別のデバイスでパスワードをリセットした後、1つのデバイスから新しいパスワードで正常にログインできるようになりました。
- 管理者の顧客アドレス 都道府県 フィールドに、最後に保存された値が期待どおりに保持されるようになりました。 以前は、このフィールドから値を削除した場合、Magento Open Sourceは削除された値を都道府県 フィールドに引き続き表示していました。 GitHub-36846
- RSS Feed Top Level Categoryが有効になっている場合、カテゴリのRSS フィードのリクエスト中にエラーが発生しなくなりました。 以前は、RSS Feed Top Level Categoryが有効になっている場合、RSS フィード カテゴリ ページを参照すると、ログ ファイルでElasticsearch
CRITICALエラーが発生していました。
- ユーザーの役割の作成中に役割の範囲が変更されたときに、正しい値が
gws_store_groupsに保存されるようになりました。 以前、役割の範囲がAllとして選択された場合、gws_store_groups値はユーザーの作成時にはnullとして保存されましたが、役割の編集時には保存されませんでした。 また、役割の範囲がCustomとして選択された場合、gws_store_groups値は常にnullとして保存されました。
- 「Add Store Code to Urls」設定が有効になっている場合に、管理者ログインページの「管理者パスワードのリセット」リンクをクリックして、パスワードリセットページにアクセスできるようになりました。 管理者リセットパスワードリンクは、以前ログインページまたは404 ページを開きました。
- 管理者統計ダッシュボードの日付範囲は、設定設定で設定されたタイムゾーンに基づいて計算され、その後UTCに変換されてデータベースからデータを取得するようになりました。
- CMS階層フィルターは、ストアビューをフィルタリングしてから、管理者Content > Hierarchyで「Save」をクリックすると、期待どおりに機能します。 以前は、Saveをクリックするとページが更新されましたが、コンテキストは失われ、選択したストアビューは表示されなくなりました。
- Send invitation ボタン (管理者Marketing > Private sales > Invitation)をクリックすると、フォームキーと共にPOST リクエストが送信され、招待が正常に送信されるようになりました。 以前は、このボタンをクリックしても、HTTP POST メソッドもフォームキーも表示されませんでした。
- AWS S3を使用して、ゼロバイトファイルをリモートストレージに正常にコピーできるようになりました。
- 管理者ユーザーは、ストア IDがweb サイト IDと一致しない別のweb サイト用に顧客が作成されたときに、管理者から新しい顧客アドレスを追加できるようになりました。 以前、Magento Open Sourceはこのポップアップメッセージを表示しました:
Something went wrong。 GitHub-36582
- CMS ブロックエディターページに、正しいウィジェット
block_id値が表示されるようになりました。 GitHub-29644
GraphQL
- 設定可能な製品を含むリストをクエリする際に、
getCustomerWishlistクエリで内部サーバーエラーが発生しなくなりました。
customerCartクエリで、バンドル製品に適用されたすべての割引が期待どおりに返されるようになりました。 以前は、バンドル製品に適用された合計割引はゼロとして返されていました。
- 設定可能な製品を含むリストをクエリする際に、
getCustomerWishlistクエリで内部サーバーエラーが発生しなくなりました。
is_subscribedフラグの宣言、そのリゾルバー、キャッシュ、および関連するテストがCustomerGraphQlモジュールからNewsletterGraphQlモジュールに移動されました。
addProductsToCartの突然変異は、user_errorsで無関係なエラーを報告しなくなりました。 以前は、買い物かごに関連するエラーが、想定される操作エラーと共にuser_errorsに含まれていました。 GitHub-37908
productsクエリ製品フィルターで、部分一致の結果と完全一致を返すことができるようになりました。 新しいmatch_type(PARTIAL、FULL)属性は、一致タイプの指定をサポートしています。 以前は、クエリは完全一致のみを返していました。
- 同時要求による更新中に競合状態を防ぐために、Mutexが
addConfigurableProductsToCartクエリに追加されました。 以前は、販売業者が同じ設定可能な商品をカートに追加するために2つの並列リクエストを送信する際に、同じ商品SKUを持つ2つの別々の商品が追加されていました。 GitHub-37847
- Use in Layered Navigationが Filterable (no results) に設定されている場合、GraphQLの回答の商品集計に属性の0以外の値が含まれるようになりました。 以前は、ゼロ以外の値のみが返されていました。
- カスタム製品属性を含むカート関連の操作の
setShippingAddressForEstimateクエリのパフォーマンスが向上しました。 以前は、パラメーターが変数として送信されたときに、クエリはすべての製品属性を読み込んでいました。
productsクエリConfigurableProduct.configurable_optionsフィールドは、少なくとも1つの有効な製品を持つ値のみを返すようになりました。 以前は、このフィールドで無効な単純な製品が返されていました。
- 生成する不要なSQL クエリの数を減らすことにより、
GetCategories queryのパフォーマンスを向上させました。
- 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
- パスワードのリセットに成功した後、
changeCustomerPasswordの変更で電子メールが正常にトリガーされるようになりました。
- URL書き換えの
Target Pathが絶対URLである場合、urlResolverおよびrouteクエリで結果が返されるようになりました。 以前は、urlResolverクエリでリダイレクトデータの取得に使用した際にNULLが返されていました。
productsクエリで正しいラベルが返されるようになりました。 GitHub-29635
categoryListクエリで、バンドル製品の子製品に対するoptionsブロックの入力されたproductセクションが予期したとおりに返されるようになりました。 以前は、バンドル製品の子製品に関する情報は返されませんでした。
routeクエリは、内部サーバーエラーなしで、カテゴリと製品のルートを期待どおりに返すようになりました。 GitHub-36544
- 複数のカテゴリを選択すると、
productsクエリがurl_key値を取得するようになりました。
productsクエリは、指定された共有カタログに割り当てられている製品に対してのみ集計を返すようになりました。
- New Relic GraphQLのトランザクションにトランザクション名が追加されました。 GitHub-36874
OptionValueProviderクラスget()メソッドが、指定されたoption_idに基づく属性オプション値を期待どおりに返すようになりました。 以前は、エラーが返されていました。 GitHub-35910
productsクエリで、使用可能なすべての集計(フィルター)と、正しく翻訳されたラベルが返されるようになりました。 以前は、価格とカテゴリの集計ラベルは期待どおりに翻訳されていませんでした。 GitHub-36140
ProductInterfaceでrelated_products、upsell_productsおよびcrossell_productsをクエリする際に、フラグメントProductCardを使用できるようになりました。 GitHub-29769
productsクエリは、関連、アップセル、およびクロスセルの製品を保存された順序で返すようになりました。 GitHub-36461
- GraphQL クエリで、位置順に並べ替えられた関連商品データが返されるようになりました。 GitHub-33010
category_url_pathがProductAttributeFilterInputに追加されました。これにより、1つのクエリで1つのカテゴリのすべての製品のリクエストがサポートされます。 GitHub-32460
- 検証を処理するメソッドの前に、現在のストアをGraphQLの突然変異に設定するメソッドが実行されるエラーを修正しました。 GitHub-31336
画像
- Admin 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万個の製品を含むデータベースに任意の数の製品をインポートできませんでした。
- 検証チェックで、読み込む有効なデータがない場合に、読み込みプロセスが予期したとおりに停止するようになりました。Magento Open Sourceでは、次のエラーが表示されるようになりました:
There are no valid rows to import。 以前はこれらの条件で検証を渡しましたが、読み込みプロセスは次のメッセージで失敗しました:entity values are mixed。 GitHub-32905
- 同じ製品でURL キーを読み込むと、既存のデフォルトのストアビューキーが上書きまたは削除されなくなりました。 URLの書き換えは、ストアビューで
url_key値が上書きされていない場合にのみ再生成されるようになりました。 以前は、同じURL キーを使用したURL書き換えを読み込むと、既存のデフォルトのストアビューURL キーが上書きされていました。 (key_storeURLの書き換えは削除されましたが、製品のデフォルトストアビューレベルでのURLの書き換えは、まだkey_storeに設定されていました)。
- 読み込み中に製品数が予期せず変更されなくなりました。 キャッシュフラッシュは、インポートプロセスの後まで延期されるようになりました。
- スケジュールされたインポートアクションのステータスが、インポートオペレーションの成功または失敗を正確に表すようになりました。 以前は、すべてのアクションが成功として記録されていました。
- Magento Open Sourceでは、顧客レコードの読み込み中に 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
- マーチャントは、インポートデータが表示されるロケールと、データバリデータがこのデータをどのように解析するかを指定できるようになりました。 ロケール値が指定されていない場合、Magento Open Sourceはデフォルトの設定ロケール(デフォルトのストアビューではなく)を使用してデータを解析します。 管理者では、インポートとエクスポートのプロセスで、管理者ユーザーインターフェイスのロケールを引き続き使用して、それぞれデータのインポート、解析、書式設定を行います。
- 製品を読み込む管理者ユーザーとは異なるロケール設定を持つ管理者ユーザーが作成した
country_of_manufacture属性を持つ製品を読み込むと、検証エラーがスローされなくなりました。 以前は、この読み込み操作により、country_of_manufacture属性の検証エラーが発生する可能性がありました。
use_config_manage_stockの値が1に等しい場合、書き出された製品の値が正しいmanage_stockになりました。 以前は、このデフォルト値は正しくありませんでした。
- スケジュールされた読み込み処理中に画像が正常に読み込まれなかった場合に、Magento Open Sourceでスケジュールされた読み込みグリッドにエラーメッセージが表示されるようになりました。 以前は、エラーメッセージは表示されませんでした。
- 製品画像が見つからない場合に、製品読み込みプロセスが中断されなくなりました。 以前、CSV ファイルを使用してサードパーティサービスを読み込む際に製品イメージが見つからなかった場合、Magento Open Sourceに次のエラーが表示されました:
Maximum error count has been reached or a system error is occurred!。
configurable_variations列の属性値にコンマが含まれている場合、製品インポートプロセスで検証エラーがスローされなくなりました。
- デコードは書き出しプロセスから除外されました。 CSV書き出しファイルのテキストは、読み込み後も変更されません。 その結果、再読み込み後も説明は変更されません。 以前は、商品の書き出しと読み込みの後に、ページビルダーエディターでHTML タグが削除されていました。
- 環境変数として追加されたデフォルト以外の設定(web サイトまたはストアスコープ)が、再帰エラーで
app:config:importプロセスを中断しなくなりました。
- 保存モードでの更新のカタログ検索と価格インデックスは、読み込み後に無効化されなくなりました。 以前は、新しい製品と既存の製品を読み込むと、Elasticsearch インデクサーのドキュメントのバージョンが変更されていました。
- 製品レポートが
varディレクトリにエクスポートされるようになりました。 以前は、これらのレポートは、クラウドインスタンスの読み取り専用ディレクトリであるドキュメントルートディレクトリに書き出されていました。
- 空の複数選択の顧客アドレスフィールドは、書き出しプロセスを中断または停止しなくなります。
Index
- カタログ ルールが設定されていない場合の
catalogrule_productインデクサーのパフォーマンスが向上しました。 GitHub-34784
- 物価指数のパフォーマンスに関する問題が解決されました。 インデクサーのパフォーマンスが徐々に低下しなくなりました。 一時テーブルの作成方法を変更することで、インデクサーの処理速度を向上させるために、インデクサーがリファクタリングされました。 これらの一時テーブルは、より時間がかかるDELETE ステートメントで対処される代わりに、再作成されるようになりました。
- 価格インデクサーのパフォーマンスが改善されました。 インデックス作成中に発生するMySQL クエリの実行時間を改善する価格インデクサーに、インデックスヒントが追加されました。
- すべてのインデクサーは、インデクサーの状態を表すために同じ色を使用するようになりました。 GitHub-34648
- すべてのweb サイトにルールが割り当てられていないデプロイメントでのカタログルール製品インデクサーのパフォーマンスが向上しました。
- インデックスが Update on schedule に設定されている場合にカスタム製品タイプを作成すると、インデックス更新
cronタスクが失敗しなくなります。 GitHub-36471
- 顧客グリッドに新しく作成されたカスタム顧客属性が含まれている場合、
bin/magento indexer:reindex customer_gridがMySQL エラーで失敗しなくなりました。 GitHub-36233
- 複数のインデクサーのインデクサーモードの変更(つまり、マスアクションインデクサーモードの変更)は、現在のモードと適用されているモードが異なる場合にのみ、インデクサーのモードを変更するようになりました。 これにより、データベースへの不必要なトリップを防止して、パフォーマンスを向上させる。 GitHub-36823
- 多くの属性オプションを持つ製品のインデックス作成が改善されました。 GitHub-36386
メール基盤
- 欠落している
returnステートメントを管理者使用許可コントローラーに追加しました。 以前は、returnステートメントはなく、FrontendControllerクラスのコントローラーが正しく処理されませんでした。 GitHub-31374
- MySQL 8.xへの準拠のために、MySQL
CREATE TEMPORARY TABLE ... LIKEをリファクタリングCREATE TEMPORARY TABLEに置き換えました。 GitHub-37926
- Magento Open Sourceでは、形式が正しくないHTTP リクエストがサーバーに送信されたときに表示されるエラーメッセージに、サーバーのルートへのフルパスが含まれなくなりました。 文字列のみが、2番目の引数として
explodeメソッドに渡されるようになりました。
restricted_classes.phpさんがZend_Validate_File_Uploadを置き換えました。 以前は、php.iniで設定された値よりも大きいインポートファイルのアップロード中にバリデーターがクラッシュしていました。 GitHub-37281
- メールテンプレートエンジンが、特定のネストされたディレクティブを正しく処理できるようになりました(例:
{{if}}{{depend}}...{{/depend}}{{/if}})。 GitHub-36438
- 集計データを含む
productクエリで、ブール型の製品属性に対して正しいラベル値が返されるようになりました。 GitHub-29123
- ウクライナの地域を
directory_country_regionテーブルに追加しました。 GitHub-35187
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-itemsREST呼び出しは、返されたインベントリ ソース項目の空白のペイロードを検証し、必要に応じて検証に関するエラーメッセージを送信するようになりました。
- 商品の No Manage Stock 設定が有効になっている場合、注文を受け取る準備ができていることを買い物客に通知できるようになりました。 以前は、この設定を有効にすると、Magento Open Sourceに次のエラーメッセージが表示されていました:
Your order is not ready for pickup。
- 加盟店は、設定可能な製品に関連付けられたシンプルな製品が削除された注文のクレジットメモを作成できるようになりました。 以前、マーチャントはクレジットメモを作成できず、Magento Open Sourceは
TypeError個の例外をスローしました。
- 管理者グリッドソース数は、フィルターが適用された後に有効なレコードを返すようになりました。 以前は、
getSourcesCountメソッドは、フィルターが適用された後、常にソースの合計数を返していました。
- 「在庫切れを下部に移動」オプションを使用して製品を並べ替えた場合、カテゴリーページが管理者ダッシュボードにリダイレクトされなくなりました。 この問題は、SQL join ステートメントを条件文の中に入れることで、既に含まれていないことを確認した後にのみ解決されました。 以前、ページは次のメッセージを含む管理者ダッシュボードにリダイレクトされました:
Invalid security or form key. Please refresh the page。
UPDATE操作ごとにinventory_source_itemテーブルのAUTO_INCREMENTが増加しなくなりました。 以前は、このテーブルのAUTO_INCREMENTが更新されたため、新しいレコードをinventory_source_item tableに追加する際にAUTO_INCREMENT値が範囲外になりました。 その結果、管理者ユーザーは、管理者から新しい製品を作成しようとしたときに、次のエラーを受け取りました:Numeric value out of range...。
- Admin Users can now add a product to a customer cart from the Admin for a particular store view scope with Inventory management. 以前は、ストック IDが正しく決定されず、管理者ユーザーが商品を顧客カートに追加できませんでした。
- インベントリとカタログの同期は、Synchronize with Catalog設定に依存しなくなりました。 以前は、この設定が有効になっている場合にのみ、製品が正しく同期されていました。
- 買い物客が配送元を選択する際に利用可能な商品の範囲内にある注文から商品数量を差し引いた場合、Magento Open Sourceでページのリロード後にエラーがスローされなくなりました。
- 構成可能な製品とその子製品
Stock Availabilityの値が一括在庫更新によって更新されると、構成可能な製品在庫ステータスが適切に更新されるようになりました。 以前は、設定可能な商品とその子商品を一括更新して在庫に戻すことはできませんでした。
- デフォルト以外のソースのデータタイプが
DECIMAL (12, 4)に更新され、最大8桁の整数がサポートされるようになりました。これは、デフォルトの在庫に対して実装された同じ制限です。 この値は、すべてのタイプの在庫ソースに対して最大8桁の入力検証をサポートする管理者製品ページと同期しました。 以前は、Quantity フィールドの入力(デフォルト以外のソースの場合)は、最大6桁までしかサポートされていませんでした。
- ストアフロントから注文されたデフォルト以外のソースが出荷用に処理される場合、デフォルトのソースとデフォルト以外のソースの両方に、製品販売可能数量に関する正しい情報が表示されるようになりました。 以前、Magento Open Sourceでは商品ソースに対して誤った在庫状況が表示されていました。
\Magento\Catalog\Model\Product::getIsSalable()は、商品オブジェクト (\Magento\Catalog\Model\Product::getStoreId())で定義された範囲に基づいて在庫状況を返すようになりました。 以前、getIsSalable()は、商品オブジェクトに関係なく、現在の範囲に基づいて在庫状況を返しました。
ログ
- 管理者ユーザーは、管理者の「一括アクションログ」セクションで、統合によって作成された一括アクションのログを確認できるようになりました。
ログイン
- 1つのブラウザーでパスワードをリセットした後、別のブラウザーからログインしても、例外が発生しなくなりました。 GitHub-36447
- 顧客は、アカウントを正常にアクティブ化した後、ログインページにリダイレクトされるようになりました。 以前は、顧客は自動的にログインしていました。
ニュースレター
- Commerceは、ニュースレターの新規購読者をニュースレターに受け入れる前に、ニュースレター購読機能が有効になっているかどうかを確認するようになりました。 GitHub-33040
注文
- 管理者のショッピングカートから注文するアイテムのリストに移動した製品が、ショッピングカートから期待どおりに削除されるようになりました。 GitHub-37538
- 注文の部分的な返品に対して、一部を報酬ポイントで支払ったクレジットメモを、想定どおりに作成できるようになりました。 以前は、マーチャントが部分的な返品を作成する際、注文ステータスが誤ってクローズと識別され、管理者注文ページにクレジットメモのオプションが表示されませんでした。
- Magento Open Sourceでは、一部のキャンセル済み注文に正しい割引額が適用されるようになりました。 以前は、
base_discount_cancelled列で計算された割引額は、注文が変更されたときに誤って計算されていました。 割引オーダーの請求書に、マイナス値のサポートが追加されました。
- Magento Open Sourceで、管理者ユーザーが管理者で注文を作成したときに指定された並べ替え順に基づいて、カスタム顧客アドレス属性が並べ替えられるようになりました。
- 管理者の販売注文グリッドページは、マーチャントがこのページから検索を開始すると、予想どおりに読み込まれるようになりました。 以前、マーチャントがこのテーブルから注文を検索しようとすると、ページがフリーズし、Magento Open Sourceにブラウザーコンソールに
Request-URI Too Longエラーが表示されていました。
- データベースから注文を読み込む回数を減らすことにより、
OrderRepository::get()メソッドのパフォーマンスを向上させました。 以前は、このメソッドは注文を複数回ロードしていました。 GitHub-36636
- 他の注文商品の払い戻しが可能な場合、一部の商品の合計がゼロの注文について、クレジットメモを生成できるようになりました。 以前は、顧客が注文の一部の商品を100%割引した場合、複数の返金をおこなうことはできませんでした。
- 管理画面から子製品を再注文する際に、子製品と親製品間のリンクが注文ページに表示されるようになりました。 GitHub-37028
getInfoBlockHtml()呼び出し中にエミュレーションが完了し、エラーが記録されないと、エミュレーションがsend()呼び出し中に開始されるようになりました。 以前、system.logファイルに次のエラーが表示されていました:main.ERROR: Environment emulation nesting is not allowed。 GitHub-35603
- 他の注文商品の払い戻しが可能な場合、一部の商品の合計がゼロの注文について、クレジットメモを生成できるようになりました。 以前は、顧客が注文の一部の商品を100%割引した場合、複数の返金をおこなうことはできませんでした。
- 管理画面から子製品を再注文する際に、子製品と親製品間のリンクが注文ページに表示されるようになりました。 GitHub-37028
- 注文ページのヘッダーセクションに、送信された請求書、クレジットメモ、および配送に関する予想される情報が含まれるようになりました。 GitHub-27474
- 設定可能な製品が1つだけの注文のクレジットメモが正しく生成されるようになりました。 以前、
isLast()関数は期待どおりにtrueを返しませんでした。 GitHub-36722
- メイン データ クエリを最適化して、
aggregate_sales_report_bestsellers_datacron ジョブのパフォーマンスを向上しました。
- バンドル製品を含む注文に対して部分的な払い戻しが行われた場合、注文ステータスが正しくなりました。 以前は、部分的な払い戻しが行われた後、残りの注文が完了していなくても、注文ステータスは「完了」と表示されていました。 GitHub-37377
- 管理者から単発のカスタム価格を使用して注文が最初に生成された場合、買い物客はカスタム価格を使用して商品を注文できなくなります。 以前は、注文にカスタム価格の商品が含まれている場合、このカスタム価格は、再注文機能を備えた他の注文に適用されていました。
- 買い物客は、注文ページに誤った注文状況を保存することができなくなりました。 商品の発送時に、注文ステータスが「完了」から「処理中」に変更されなくなりました。 以前、Magento Open Sourceでは、買い物客がコメントを入力した後も、注文状況を保存する前に現在の注文状況を確認していませんでした。 GitHub-36562
- 販売注文グリッドが、すべての注文と非同期で同期されるようになりました(期待通り)。 GitHub-36562
- 注文ページの「顧客の注文」セクションの購入日によるフィルター機能が、期待どおりに機能するようになりました。 以前は、タイムゾーン変換ロジックが同じタイムゾーンをメソッドに提供したときにエラーをスローしたときに、JavaScript エラーが発生していました。
- 管理者ダッシュボードに、初回読み込み時の正しい注文統計が表示されるようになりました。 以前は、ダッシュボードに誤った注文情報が表示されていましたが、期間が更新されると正しい情報が表示されていました。
- 管理者ユーザーは、新しい注文作成時に管理者からストアビューを選択した後、注文ページに期待どおりにリダイレクトされるようになりました。
GET V1/orders/<OrderID>エンドポイントは、シンプルな製品の在庫状況に関係なく、設定可能な製品とシンプルな製品の両方に関する情報を注文で返すようになりました。 管理者ユーザーは、選択した商品(商品)が在庫または販売可能な場合にのみ、注文できるようになりました。 以前は、このAPIは在庫のある製品に関する情報のみを返していました。
- 送料に税金が含まれている場合に送料無料が有効になり、割引の後に税金計算が適用される場合、クレジットメモ ページがクラッシュしなくなりました。 以前、Magento Open Sourceは
Division by zero個の例外をスローしました。 GitHub-36800
rest/V1/orders/{id}/commentsエンドポイントを使用して、注文のステータスを指定せずに注文に関するコメントを投稿しても、注文の表示には影響しません。 以前は、注文ステータスはsales_orderおよびsales_order_gridテーブルにNULLとして記録され、マイオーダーページも管理者注文グリッドも注文を表示しませんでした。 GitHub-34180
ページビルダー
- ページビルダーで画像のサイズを変更しても、正しい縦横比が維持されるようになりました。 GitHub-37493
- 指定した最大ファイルサイズを超える画像をアップロードしようとすると、ページビルダーに必要に応じてエラーメッセージが表示されるようになりました。 以前、Commerceには、アップロードされた画像ファイルが指定された最大値よりも小さいという警告ポップアップメッセージが表示されていました。
- CMS ページの製品スライダーに、スライダーに含めるために選択された子製品の親製品が含まれるようになりました。 以前は、親製品はスライダーから除外されていました。
Magento_AsyncConfigモジュールが無効になっている場合に、HTMLで変換されたコンテンツが電子メールテンプレートに表示されるようになりました。 以前は、メールテンプレートには生のHTMLのみが含まれていました。
- Chrome ブラウザーでのページビルダーの保存操作のパフォーマンスが向上しました。
- ページビルダーカルーセルからショッピングカートに商品を追加しても、同じ商品を表示する2つの異なるウィジェットを含むページの商品数量が重複しなくなります。
- ハイパーリンクを編集してからテンプレートを保存すると、Page Builderで
tabindexHTML属性がハイパーリンクタグaに追加されなくなりました。
- 製品ウィジェットとページビルダーのプレビューで、HTMLの特殊文字が適切に処理されるようになりました。 以前は、製品ウィジェットに
&文字が含まれているSKUが正しく表示されませんでした。
- プレビューモードでコンテンツブロック全体を選択して更新すると、ページビルダーテキスト要素のコンテンツが期待どおりに更新されるようになりました。
- あるページビルダーテキストエディターから別のページビルダーテキストエディターへのテキストのコピーとペーストが、正常に動作するようになりました。 以前は、テキストを貼り付けようとしたページを保存できませんでした。Magento Open Sourceはこのコンソールエラーを表示しました:
[ERROR] Page Builder was rendering for 5 seconds without releasing locks.。
- 以前のバージョンのページビルダーで作成されたページビルダー
column-blockコンテンツタイプが正しく表示されるようになりました。
- 管理者からの製品作成時に、製品メタデータの説明のフィルタリングが改善されました。 以前は、ページビルダーが有効になっている場合、デフォルトの
{{name}} {{description}}マスクに基づいて製品メタデータの説明が生成されていました。 デフォルトの製品メタディスクリプションマスクは{{name}}で構成されるようになりました。 GitHub-36107
- コンテンツを含まないダイナミックブロックを追加しても、エラーがトリガーされなくなりました。
- ページビルダーコンテンツでの列の表示に関する問題が解決されました。 以前は、
column-lineコンテンツタイプのコンテンツはレンダリングされませんでした。 GitHub-3949
お支払い
- Magento Open Sourceでは、このエラーが発生したときに注文作成を防ぐことにより、PayPalからの502 エラーを正しく処理できるようになりました。 以前は、PayPalで502の支払いミスがあったにもかかわらず、注文が作成されたため、Magento Open SourceレコードとPayPalの間に不整合が発生していました。
- PayPal Expressのチェックアウトトランザクションに、子製品のSKUと完全な製品タイトルが含まれるようになりました。
Magento/Paypal/Model/Cart.phpファイルは、親製品のタイトルを含む子製品のSKUを収集して、子SKUを含む製品タイトルを識別するようになりました。 GitHub-36808
- Card Security Code Does Not Match設定は、Payflow Pro支払いプロセス中に期待どおりに処理されるようになりました。 以前は、この評価プロセスは完了しておらず、チェックアウトがブロックされていました。
- 買い物客がボールトトークンを持っていない場合、管理チェックアウトワークフローに「Vault支払い方法」オプションが表示されなくなりました。 GitHub-36273
- PayPal ボタンが有効になっている場合、Venmo ボタンを非表示にできるようになりました。 以前は、Venmo ボタンを買い物かご、ミニカート、商品の詳細、チェックアウトページから削除できませんでした。
- 買い物客が、チェックアウト時にクーポンコードを適用しながら、配送方法を選択できるようになりました。 以前これらの状況では、Magento Open Sourceはエラーをスローし、注文に定額料金の配送を割り当てました。
- PayPalおよびPayPal クレジット支払い方法のストアフロント処理に関する問題が解決されました。
- ローカル支払いが有効になっている場合に、Ideal支払いで支払われた注文のフォールバック URLに関する問題を解決しました。
- 買い物客は、姓を追加しなければPayPal注文を作成できなくなりました。
Braintree
- Braintreeの支払い情報は店舗ごとに保存され、買い物客には、買い物中の店舗に保存されたカード情報のみが表示されるようになりました。 以前は、決済時に、あらゆる店舗に保存されているカード情報を確認することができました。 GitHub-34253
- Vault for card paymentsが無効になっている場合、Braintreeの支払い方法を使用して、複数のアドレスに配送されている注文をチェックアウトできるようになりました。 GitHub-37615
- 一部の請求された注文が、Braintree アカウントの同じ通貨に対して2つの異なる加盟店アカウント IDを持つデプロイメントで、正しいアカウントで想定どおりにキャプチャされるようになりました。
- Enable Vault for Card Paymentsが有効になっている場合に、Braintreeで支払われた注文に対して2回目の部分的な請求書を作成する際に、Magento Open Sourceでエラーがスローされなくなりました。 以前、販売者が2回目の請求書を作成しようとしたときに、Magento Open Sourceが次のエラーをスローしました:
Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid。
- 買い物客が請求先住所を更新しても、Braintree Vaultの支払い方法オプションがチェックアウトワークフローで自動的に選択解除されなくなりました。 以前は、買い物客が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でチェックアウトする際に、買い物客が注文レビューページでクーポンを適用したときに、Magento Open Sourceでエラーがスローされなくなりました。 以前は、404 ページにリダイレクトされていました。
- 買い物客は、Braintree Paymentsと、目に見えないReCAPTCHA v2またはv3のMagento Open Source 2.4.6を使用して、チェックアウトを完了できるようになりました。 GitHub-37241
- 買い物客は、最初に必要なオプションを選択することなく、PayPal ボタンをクリックして設定可能な製品を購入できなくなりました。 以前は、買い物客がPayPal ボタンをクリックした後、エラーが発生して商品ページにリダイレクトされていました。
- PayPal ボタンが、買い物かごおよびミニカート ページに期待どおりに表示されるようになりました。 以前は、このボタンはカートページに表示されず、ミニカートページに複製されていました。
パフォーマンス
- Sales > Orders ページの一括処理ドロップダウンメニューをクリックしても、複数のPOST リクエストが生成されなくなりました。 GitHub-37997
- 買い物客が301 リダイレクトをトリガーするページに移動すると、ページのCache-Control ヘッダーに
privateが含まれていない限り、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)で実行された場合、Magento Open Sourceはすべての製品属性を読み込もうとしていました。
- カートルールで使用される製品属性を読み込む際のパフォーマンスの問題が解決されました。 アクティブなカートルールの製品属性のみが読み込まれるようになりました。
- 複数回実行すると、
bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xmlコマンドが正常に実行されるようになりました。 以前は、複数回実行すると、このエラーがスローされていました:Coupon with the same code already exists。
プロモーション
- Apply to shipping amount ルールで適用された Fixed amount discount for whole cart 価格ルールの効果が、製品と出荷金額の間で予想どおりに比例配分されるようになりました。 以前は、割引の計算は正しくありませんでした。
- Discard Subsequent Rules設定が期待どおりに適用されました。 この設定を有効にすると、優先度の低い他のルールを別の製品にのみ適用できます。 GitHub-35707
reCAPTCHA
- チェックアウトページ Sign in ボタンで、非表示のreCAPTCHA v3が期待どおりに機能するようになりました。 以前は、買い物客はログインできず、CommerceでJavaScript エラーがスローされていました。
- チェックアウトワークフローのGoogle reCAPTCHAが、小切手、マネーオーダー、カスタム支払い方法で期待どおりに機能するようになりました。
- Adobe Commerce フォームは、Google ReCAPTCHA チェックボックスが読み込まれる前に送信できなくなります。
- reCAPTCHA ウィジェットが支払いページのPlace Order ボタンの前に表示されるようになりました。 以前は、ウィジェットはページの上部に表示されていました。
レポート
- 注文レポート (REPORTS > Sales > Orders)に、デフォルト以外の通貨を使用するストアで注文が生成されたときに、正しい注文値が含まれるようになりました。 以前は、このレポートに誤った値が含まれていました。 GitHub-36742
- 販売注文レポートフォームの誤解を招くような情報が修正され、わかりやすくなりました。
- 管理者ユーザーは、カート放棄レポートページから
+(プラス)の署名を含むメールを含むレコードを検索できるようになりました。 GitHub-36560
検索 search-heading
- ヘッダーのミニ検索フロントエンドの自動入力検索候補が期待どおりに機能するようになりました。 以前は、この機能が有効になっているときにこのフィールドにオートコンプリートは入力されませんでした。 GitHub-37557
- 管理者の検索バーから実行されるクエリのパフォーマンスが、インデクサーの追加によって向上しました。 以前は、
search_queryテーブルが大きいほど、クエリの完了に時間がかかっていました。
- 名前による製品のアルファベット順の並べ替えが、トルコ文字を含む名前に対して正しく機能するようになりました。
- Use in Search Results Layered Navigation製品属性プロパティは、Use in Search設定が Yes に設定されている場合にのみ表示されるようになりました。
- 高度な検索で一緒に適用すると、高度な検索価格とSKU フィルターが正しく機能するようになりました。 GitHub-37581
- 空の検索フィールドの検索は実行されなくなりました。 これにより、
search_queryテーブルのサイズが小さくなります。 以前は、空の検索フィールドに対する誤ったクエリやクエリによって巨大なデータセットが返され、search_queryテーブルのサイズが増加し、/tmpに問題が発生していました。
- ドロップダウンのカスタム属性を持つカタログエントリを並べ替える際に、ストアフロントフィルターが正常に機能するようになりました。
- 検索結果で、属性の検索重みに基づいて検索結果が表示されるようになりました。
- 管理者Stores > Attributes > Productの
Search Weight属性のStorefront Properties入力フィールドの下の情報テキストに、使用可能な値が記述されるようになりました。 GitHub-36646
発送
- 動的価格属性が無効になっている場合に、バンドル商品がカートに追加されたときに、カート価格ルールが期待どおりに機能するようになりました。 送料無料と正しい表レートは、動的属性が有効か無効かを問わず適用されます。 以前は、送料無料は期待どおりに適用されていませんでした。
- Magento Open Sourceは、注文の一部の配送を作成した後、予想どおりに新しい配送ページに移行するようになりました。 以前、Magento Open Sourceでは、部分的な出荷を行った後、注文の残りの商品の完全な出荷ページを作成していませんでした。 GitHub-38063
- 複数の住所に注文を配送する合計金額が正しく計算されるようになりました。 以前は、見積もりに複数の配送先住所が含まれている場合、集計担当者は指定された住所の配送金額を
$quote->getShippingAddress()で更新し、想定どおり$shippingAssignmentで渡さなくなりました。 GitHub-37283
- 管理者ユーザーがログインをお客様の機能として使用している場合、Magento Open Sourceで複数の配送先住所を使用するチェックアウト中に例外がスローされなくなりました。
- 配送ラベルを作成した後に製品をパッケージに追加すると、製品が「パッケージを作成」ページの「製品」グリッドに正しく表示されるようになりました。
cartクエリで、個別の送料割引が、一意の割引ラベルを持つ個別の送料割引として返されるようになりました。 新しいapplied_to割引プロパティでは、カート商品に適用される割引の区別がサポートされています。 以前は、すべての送料割引を1つのハードコードされた Shipping Discount 値に組み合わせていました。
- 管理者ユーザーが再注文を作成すると、管理者ユーザーがReorder ボタンをクリックすると、最初の注文の請求先住所と配送先住所が関連するフィールドに自動的に入力されます(管理者Sales > Orders > View)。 買い物客のアドレス帳に同じアドレスが保存されている場合、再注文では常に、これらのアドレスの更新版が組み込まれます。 以前は、出荷先住所フィールドには更新されたデータが事前に入力されていましたが、請求先住所フィールドにはありませんでした。
- Apply custom Shipping Policyが有効になっていて、カスタム配送ポリシーが使用可能な場合、Shipping Policy テキストボックスがAdmin Store View スコープに表示されるようになりました。 GitHub-36425
cartクエリは、available_shipping_methodsのキャリア コードとメソッド コードのいずれかに一致するselected_shipping_method値を返すようになりました。 以前は、選択した配送方法の1つにアンダースコアが含まれていると、これらの配送業者/方法コードが一致していませんでした。 GitHub-36606
- Street配列の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
税
- 税金が設定され、FPTが有効になっている場合に、請求書に正しい小計が表示されるようになりました。
- Price Display Settingsが税込みに設定されている場合に Special Price 値を持つ商品にカスタムオプションが選択されている場合、Magento Open Sourceに Regular Price 値の正しい値が表示されるようになりました。
- チェックアウトワークフローの出荷価格に、設定設定で指定された税金が期待どおりに含まれるようになりました。
cartクエリapplied_taxesの応答値に、期待どおりの個人税ルールがすべて含まれるようになりました。 以前は、複数の税ルールが設定されている場合に、合計税額を返していました。
- 税ルールの作成中にAdditional Settings セクションの折りたたみ/展開アイコンが期待どおりに機能するようになりました。 以前は、展開アイコンのみが機能していました。 GitHub-37922
- 「税金ルールの編集」ページから「税率の国と地域」の値を期待どおりに編集できるようになりました。 以前は、そのページから行われた編集は保存されませんでした。
- 配送方法が更新されると、カート見積もりエリアの税額が予想どおりに更新されるようになりました。 以前は、決済時に買い物客が国を変更した後も、税率は更新されませんでした。
- 新しく作成されたシンプルな製品の
tax class値が、ストアビューのスコープで既存の設定可能な製品の新しいバリエーションを作成する際に、親製品の値に設定されるようになりました。 以前は、この値はnoneに設定されていました。 その結果、カート内のこれらの商品には税金が追加されず、お客様には過少税金が課せられました。 GitHub-37180
テスト
- メールフィールドの早期完了に起因するエラーを排除するために、
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackordersテストを改善しました。
- 信頼性を向上させるために
StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTestがリファクタリングされました。 GitHub-38359
- 検索で使用する属性を明示的に設定する追加の手順を導入して、
AdminSimpleProductwithTextandVisualSwatchテストを修正しました。
SortbyTest単体テストの誤字を修正しました。 GitHub-37792
- 単体テストに存在しないクラスへの参照を削除しました。 GitHub-37636
- メールフィールドの早期完了に起因するエラーを排除するために、
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackordersテストを改善しました。
products件のクエリ応答でランダムなカテゴリ順序を処理するために、Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryIdのテストをリファクタリングしました。
\Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrityテストは、ComponentRegistrar()によって登録されたモジュールからのすべてのPHP クラスを検証するようになりました。
TableNameSniffの大きな配列のパフォーマンスの問題が解決されました。
CollectionTest::testGetDateRangeFirstPart()は夏時間を考慮するようになりました。
UI フレームワーク
crossorigin属性がHEAD要素のlinkTypesに追加されました。GitHub-32509
- 画像アップローダーが動的行で期待どおりに動作するようになりました。 多国籍配列として送信すると、画像が正しくアップロードされるようになりました。 GitHub-37957
- ファイルのアップロードスタイルがLuma テーマで重複しなくなりました。 GitHub-32373
- ストリートフィールドの顧客アカウント編集アドレスフォームのストリートフィールドが正しく保存されるようになりました。 これらのフィールドは、フォーム内の指定されたキーによって正しく並べ替えられるようになりました。 GitHub-37973
- CLS (Cumulative Layout Shift)の値が、製品詳細ページで改善されました。 (この指標は、ページレイアウトの視覚的安定性を定量化します。) GitHub-35410
- テンプレートのレンダリング中に発生するエラーのメッセージを改善しました。 Magento Open Sourceに情報メッセージが表示されるようになりました。 以前、Magento Open Sourceでは、PHP エラーが発生したときにHTMLのリークが表示されていました。
- カスタム顧客属性(タイプ
File attached)が、削除された後にアップロードされた画像で正しく動作するようになりました。 以前は、アップロードされたカスタム属性は、ストアフロントから保存できず、その後削除され、再度アップロードされていました。
- カレンダーテンプレートファイルの構文エラーを修正しました。 GitHub-37725
- シングルストアモードが有効になっている場合、管理者ユーザーはストアフロントのロゴを変更できるようになりました。 以前、Magento Open Sourceにはデフォルトのフォールバックロゴが表示されていました。 GitHub-35952
- Mixin設定値が空でなくなったため、jQuery Mixinは読み込み位置に関係なく機能するようになりました。 以前は、jQuery ミックスインはブラウザー間で一貫して読み込まれていませんでした。
- ログインページのShow Password チェックボックスがアクティブな場合に、パスワードが期待どおりに表示されるようになりました。
- Magento Open Sourceでは、固定商品の特別価格が表示されるようになりました。
- ストアフロントフッターテンプレートファイルのGitHub問題リストページへのリンクを更新しました。 GitHub-37214
- 最近表示したウィジェットに、グループ化された製品価格に正しい税額が表示されるようになりました。 GitHub-35881
- 管理者ユーザーは、シンプルな製品用に作成されたカスタマイズ可能なオプションを、期待どおりにドラッグ&ドロップできるようになりました。 GitHub-36051
- 製品ドロップダウン属性タイプの順序が、設定可能な製品ページの画像の順序と一致するようになりました。 GitHub-37285
- システムメッセージの読み込みが速くなりました。 表示されているメッセージのみが読み込まれます。 以前は、すべてのメッセージがデータベースから読み込まれていましたが、これには時間がかかっていました。
- レイアウト XMLで
remove=trueを設定してパンくずノードを削除すると、カテゴリーページのページタイトルが削除されなくなりました。 以前は、この方法でパンくずリストを削除すると、カテゴリーページからページタイトルが削除されていました。
- 複数選択の顧客属性が含まれている場合、顧客登録フォームが正常に読み込まれるようになりました。 以前、Magento Open Sourceはこの例外をスローしました:
[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
- 単一の引用符を含むウェルカムメッセージが、コンソールエラーなしでストアフロントで正しくレンダリングされるようになりました。 以前は、ウェルカムメッセージに引用符が1つ含まれている場合、ストアフロントのレンダリング中にウェルカムメッセージが読み込まれませんでした。 Magento Open Sourceでは、コンソールエラーも表示されました。
- 管理者向け注文ページでコメント履歴と返品履歴の間のビューをすばやく変更しようとすると、Magento Open Sourceでエラーがスローされなくなりました。 以前、Magento Open Sourceはこの汎用エラーを表示しました:
A technical problem with the server created an error。
- 1つのweb サイトに制限された権限を持つ管理者ユーザーは、web サイト固有の製品属性を
all stores viewスコープに設定して更新できるようになりました。
- 拡大鏡ウィジェットが製品ページに正常に読み込まれるようになりました。
- 複数行のカスタマイズ可能なオプションが、請求書、発送、クレジットメモのPDF ドキュメントで適切にレンダリングされるようになりました。 以前は、複数行のテキストの前に予期しない改ページが表示され、テキストがページを超えた場合は、テキストが切り捨てられていました。
- 管理者ユーザーは、ストア IDがweb サイト IDと一致しない別のweb サイト用に顧客が作成されたときに、管理者から新しい顧客アドレスを追加できるようになりました。 以前、Magento Open Sourceはこのポップアップメッセージを表示しました:
Something went wrong。 GitHub-36582
- 注文の詳細ページにコメントを送信する際に関連するエラーメッセージが表示されるようになりました。 以前、買い物客が注文状況を変更したり、コメント領域にテキストを入力したりせずに Submit comment をクリックすると、Magento Open Sourceに次のメッセージが表示されました:
The comment is missing. Enter and try again。
- 1つのフィールドで日付を選択した後、管理者Marketing > Cart Price Rulesの日付範囲フィールドにカレンダーアイコンが期待どおりに表示されるようになりました。 以前は、1つのフィールドの日付を選択すると、カレンダーアイコンは他のフィールドに表示されなくなり、Magento Open Sourceにはプレースホルダーテキストが表示されていました。 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の書き換え
- URLの書き換えが、マルチストア展開でのストアレベルの可視化設定に基づいて生成されるようになりました。 以前は、デフォルトのストアスコープで製品の表示が 表示されない に設定されていた場合、デフォルト以外のストアに対してURL書き換えは生成されませんでした。
Category::getUrl()は301 リダイレクトを取得しなくなりました。 GitHub-38152
- Magento Open Sourceでは、ルートカテゴリおよびマルチストア設定で Not Visible Individually に設定されている製品のURL書き換えが、カスタムストアのURL書き換えの欠落を生成する際に生成されなくなりました。
- カテゴリ URL キープロパティが更新された後、正規のURL タグに予想どおりの変更が反映されるようになりました。 以前は、古いカテゴリ URLが使用されていましたが、新しいURLへのリダイレクトがすぐにトリガーされました。
- カテゴリ製品URLの書き換えが、カテゴリに製品が追加されたときにすべてのストアビューに対して期待どおりに生成されるようになりました。 GitHub-32910
- Generate category/product URL Rewritesが有効になっている場合に、商品URLの301/302 リダイレクトを作成しようとすると、Magento Open Sourceでエラーがスローされなくなりました。 製品を作成してカテゴリに割り当てると、直接URL用とカテゴリーパス経由の製品用の1つという、URLの自動書き換えが作成されます。 新しい製品URLの書き換えが作成されると、製品、カテゴリ、ストア間の相関関係がチェックされます。 このチェックは、相関するエンティティのプロパティ(カテゴリと製品)に基づいています。 以前は、このチェックは既存のURLの書き換えに対して実行されていました。
- CSV ファイルから新しいカテゴリを読み込むと、すべてのストアビューに対してカテゴリ URLの書き換えが生成されるようになりました。
- 製品URL サフィックスとカテゴリ URL サフィックスの設定が、
url_rewriteテーブルのサフィックスと一致するようになりました。 以前は、URL サフィックス設定を更新する際に競合条件が発生し、設定されたURL サフィックスとurl_rewriteテーブルが一致しませんでした。
- Magento Open Sourceは、カテゴリ URLの書き換えを作成する際に、すべてのレベルでカテゴリーツリーをレンダリングするようになりました。 以前は、カテゴリの最初の3つのレベルのみが表示されていました。 GitHub-36973
- カテゴリ URLの書き換えが、新しいカテゴリの読み込み中にCSV ファイルに表示されるようになりました。
- URLを書き換えないマルチストア CMS ページが、期待どおりに転送されるようになりました。 以前は、URLの書き換えなしで要求されたマルチストアのCMS ページは、ストアのホームページにリダイレクトされましたが、元のCMS ページはリダイレクトされませんでした。
Web API フレームワーク
- Callback URLおよびIdentity link URL フィールドが空の場合、Magento Open Sourceでは管理者System > Extensions > Integrationsに
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 ペイロードの最初のレベルのみが検証され、検証されていないレベルのペイロードで無効なデータが返された場合、Magento Open Sourceは500 ステータスコードを返しました。
- 非同期の一括REST API操作により、階層の価格と異なる属性セットを使用して製品を更新できるようになりました。 以前は、異なる属性セットを持つ商品をこの方法で更新できず、Magento Open Sourceに次のエラーが表示されていました:
The product was unable to be saved. Please try again。
- 価格作成時に無効な顧客グループ名を使用すると、
POST /V1/products/tier-pricesエンドポイントからより有益なエラーメッセージが返されるようになりました。 以前、Magento Open Sourceは次のようなエラーを返しました: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呼び出しはゲスト注文を送信しなくなりました。
- Magento Open Sourceは、
GET V1/products/sku/media件のproduct media API応答でcontent属性(base64 image code)を正常に返すようになりました。content属性は、以前は応答に表示されませんでした。
必要システム構成
アドビのテクノロジースタックはPHPとMySQL上に構築されています。 詳しくは、必要システム構成を参照してください。
インストールとアップグレードの手順
Magento Open Source 2.4.7は、Composerを使用してインストールできます。