Adobe Commerce 2.4.4 リリースノート
Adobe Commerce 2.4.4 では、PHP 8.1 がサポートされるようになりました。すべてのプロジェクトライブラリと依存関係は、PHP 8.1 との互換性を保つために更新されています。また、Core Composer の依存関係とサードパーティライブラリも、PHP 8.1 と互換性のある最新バージョンにアップグレードされました。このリリースでは、OpenSearch 1.2 もサポートしています。
このリリースには、約 250 個の品質修正および機能強化が含まれています。
配送業者として DHL を引き続き提供するには、AC-3022.patch
を適用してください
DHL ではスキーマバージョン 6.2 を導入しており、近い将来、スキーマバージョン 6.0 を廃止する予定です。 DHL 統合をサポートするAdobe Commerce 2.4.4 以前のバージョンは、バージョン 6.0 のみをサポートしています。これらのリリースをデプロイするマーチャントは、DHL を配送業者として引き続き提供するために、できるだけ早い時期に AC-3022.patch
を適用する必要があります。 パッチのダウンロードとインストールについては、ナレッジベースの記事 DHL を引き続き配送業者として提供するためのパッチを適用するを参照してください。
その他のリリース情報
これらの機能のコードは、Adobe Commerce コアコードの四半期リリースにバンドルされていますが、これらのプロジェクトのいくつか(B2B、ページビルダー、Progressive Web Application(PWA) Studio など)も個別にリリースされています。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントで利用できる別のプロジェクト固有のリリース情報に記載されています。
composer.json
ファイル内の信頼されたプラグインを識別する必要があるセキュリティ機能が導入されました。 現在、composer.json
ファイルに含まれているプラグインのうち、信頼されているとマークされていないプラグインは、自動的にインストールされます。 ただし、2022 年 7 月現在、Composer は、明示的に許可されていない限り、プラグインをロードしません。 composer.json
ファイルを修正してプラグインのロードを明示的に許可する方法については、ナレッジベースの記事「Composer プラグインがAdobe Commerce 2.4.4 にアップグレードする際の問題を参照してください。このリリースに含まれるホットフィックス
Adobe Commerce 2.4.4 には、Adobe CommerceおよびMagento Open Source 2.4.3、2.4.3-p1、2.3.7-p2 に対して提供された次のホットフィックスで解決されたすべての問題が含まれています。
-
MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patch
とMDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch
で対処された脆弱性が、このリリースで解決されました。 -
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
。 このパッチは、アップグレード中に発生した致命的な PHP エラーに対処します。 ナレッジベースの記事「Adobe Commerceのアップグレード 2.4.3、2.3.7-p1 PHP 致命的なエラーに関するホットフィックス」を参照してください。
このホットフィックスは、2.4.4 のインストール後に適用します。
Adobe Commerce 2.4.4 のインストール後に、次のパッチを適用することをお勧めします。
braintree-disabled-partial-capture-for-applepay-googlepay.patch
。 マーチャントは、Braintreeを通じてApple Pay で支払われた注文に対して部分的な払い戻しを送信できません。 販売者が注文請求書から一部払い戻しを求めるクレジットメモを作成しようとすると、「払戻数量」フィールドは編集できません。 このホットフィックスは、その問題を修正します。 ナレッジベースの記事「Adobe Commerce 2.4.4:部分請求書を作成できせん」を参照してください。
Adobe Commerce 2.4.4 のハイライト
このリリースのハイライトは次のとおりです。
セキュリティ機能の強化
このリリースには、セキュリティ修正と Platform セキュリティの改善が 1 つ含まれています。 このセキュリティ修正は、Adobe Commerce 2.4.3-p2 およびAdobe Commerce 2.3.7-p3 に移植されました。
これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、管理者を保護するために必要なすべての措置をとることをお勧めします。これには、以下の取り組みが含まれますが、これらに限定されません。
- IP許可リストに加える
- 二要素認証
- vpn の使用
/admin
ではなく一意の場所の使用- 適切なパスワードハイジーン
修正された問題の最新情報については、Adobeセキュリティ速報を参照してください。
その他のセキュリティ機能強化
このリリースのセキュリティの強化により、次のような最新のセキュリティのベストプラクティスへのコンプライアンスが向上しています。
-
メール変数の使用は、セキュリティリスク軽減の一環として 2.3.4 に廃止され、より厳密な変数構文に置き換わりました。 このレガシー動作は、そのセキュリティリスク軽減の続きとして、このリリースでは完全に削除されています。
その結果、Adobe Commerce 2.4.4 またはMagento Open Source 2.4.4 にアップグレードすると、以前のバージョンのAdobe Commerceで機能していたメールまたはニュースレターのテンプレートが正しく機能しなくなる場合があります。影響を受けるテンプレートには、管理者の上書き、テーマ、子テーマ、カスタムモジュールまたはサードパーティの拡張機能のテンプレートが含まれます。 互換性アップグレードツールを使用して非推奨(廃止予定)の使用状況を修正した後でも、デプロイメントに影響が及ぶ場合があります。 考えられる影響と影響を受けるテンプレートの移行に関するガイドラインについて詳しくは、 カスタムメールテンプレートの移行を参照してください。
-
API ベアラートークン認証に統合トークンを使用できなくなりました。 以前は、統合トークンをトークンベースの認証用のスタンドアロンキーとして使用できました。 ただし、有効期限が切れないアクセストークンのセキュリティに影響するので、この動作はデフォルトで無効になっています。 以前の動作は、コマンドラインまたは管理者を使用して有効にできます。 トークンベースの認証を参照してください。
-
セッション ID はデータベースに格納されなくなりました。
-
OAuth アクセストークンとパスワードリセットトークンが、データベースに保存される際に暗号化されるようになりました。
-
英数字ではないファイル拡張子のアップロードを防ぐために、検証が強化されました。
-
クーポンコードに reCAPTCHA サポートを追加しました。
-
Adobe Commerceが実稼動モードの場合、Swagger がデフォルトで無効になりました。
-
Adobe Commerce ストアフロントで HTTPS がデフォルトで有効になりました。 ストアフロントでセキュアな URL を使用 設定と 管理者でセキュアな URL を使用 設定はデフォルトで有効になっており、すべての組み込み Cookie がセキュアとして設定されるようになりました。
-
すべてのAdobe Commerce インストールに dependency confusion プラグインが必要になりました。 以前は、このプラグインは Composer ベースのインストールにのみ必要でした。 信頼できるバージョンが許可されるようになりました。 マーチャントは、このプラグインで設定された、Composer インストールの特定の組み合わせを禁止する制約を回避できます。 信頼済みバージョンの制約を回避でき、インストールを続行する前にAdobe Commerceに警告が表示されるようになりました。
-
開発者は、Adobe Commerce RESTful エンドポイントで受け入れられる配列のサイズの制限を、エンドポイントごとに設定できるようになりました。 API セキュリティを参照してください。
-
ユーザーが web API を使用してシステム全体でリクエストできるリソースのサイズと数を制限し、個々のモジュールのデフォルトを上書きするメカニズムを追加しました。 これにより、
MC-43048__set_rate_limits__2.4.3.patch
が対処した問題が解決します。 API セキュリティを参照してください。
プラットフォームの機能強化
Adobe Commerce 2.4.4 で PHP 8.1 がサポートされるようになりました。すべてのプロジェクトライブラリと依存関係は、PHP 8.1 との互換性を保つために更新されています。プラットフォームのその他の機能強化は次のとおりです。
-
Adobe Commerce 2.4.4 では、Elasticsearch 7.16 と OpenSearch 1.2 がサポートされています。オンプレミスでホストされたデプロイメントを使用するAdobe Commerce マーチャントは、どちらのソリューションも使用できます。 ただし、現在は、クラウドでホストされるAdobe Commerce 2.4.4 デプロイメントのデフォルトの検索エンジンは OpenSearch になりました。 クラウドデプロイメントを使用しているお客様がバージョン 2.4.4 にアップグレードする場合は、OpenSearch を使用する必要があります。 Cloud 2.4.4 でのAdobe Commerceの OpenSearch への切り替えを参照してください。
-
JQuery
ライブラリがバージョン 3.6 にアップグレードされました。jquery-ui
ライブラリがバージョン 1.13.0 にアップグレードされました。その他の複数のJavaScript ライブラリが最新バージョンに更新されました。 -
TinyMCE 5.8.1 がサポートされるようになりました。 TinyMCE 4 がコードベースから削除されました。
-
RequireJS
ライブラリが最新バージョン(v2.3.6)にアップグレードされました。 GitHub-33672 -
PHPUnit を最新バージョン(9.5.x)にアップグレードしました。 新しいバージョンに対応するようにテストとテストフレームワークが更新されました。
-
ほとんどの Laminas の依存関係は、PHP 8.1 と互換性のある最新バージョンにアップグレードされています。依存関係の数を減らすために、コードベースから 3 つのラミナス依存関係が削除されました。
jQuery UI のアップグレード
jQuery UI が最新バージョン(v1.13.0)にアップグレードされました。 次の v1.10.0 jQuery コンポーネントが削除されました。
パフォーマンスと拡張性の強化
Adobe Commerceのパフォーマンス強化により、高スループットのオーダー処理とメッセージキューの最適化が向上します。 このリリースで導入された非同期注文機能は、1 時間あたり約 60,000 件の注文の作成をサポートします。 それ以前のAdobe Commerceは、1 時間当たり約 1 万件の受注処理をサポートしており、フラッシュセールのボトルネックとなる可能性がありました。 新しい複数コンシューマー機能は、1 つの Cloud インスタンス上のメッセージキューコンシューマーの数を拡張し、1 時間あたりに処理される注文の数を増加させます。
このリリースでのパフォーマンスの強化:
-
AsyncOrder 機能は、同期実行よりも高速な注文の配置をサポートしています。 AsyncOrder が有効になっている場合、注文の発注はバックグラウンドで実行されますが、買い物客はストアフロントで他のタスクを完了します。
-
新しい 買い物かごへの読み込み時に在庫チェックを有効にする 設定オプションでは、商品を買い物かごに読み込む際に、切り替え可能な在庫チェックが提供されます。 このモードはデフォルトで有効になっています。 このオプションを無効にすると、Adobe Commerceは、見積書の読み込み時に在庫確認をスキップします。これにより、特に、多数の商品を含む買い物かごの場合、チェックアウトが高速化されます。
-
新しい
multiple_processes
設定オプションは、複数のプロセスでの並列コンシューマーの実行をサポートします。 以前は、必要cron
応じて 1 つのコンシューマーを実行していました。 複数のコンシューマーを起動してプロセスを並行して実行すると、タスクの実行速度が向上します。 この機能を有効にするには、app/etc/env.php
ファイルにmultiple_processes
を追加します。 -
750 個を超える設定可能な製品を含む買い物かごの操作を改善しました。入力変数の量をサポートするために、
php.ini
ファイルのmax_input_vars
で設定されたメモリ制限を増やしました。 -
合計計算を延期することにより、チェックアウト時の販売ルール処理を最適化します。 通常、販売ルールの処理は、買い物客が買い物かごに製品を追加したり、製品数量を更新したり、「注文する ボタンをクリックしたりするたびに発生します。 マーチャントは、
env.php
ファイルにcheckout/deferred_total_calculating
変数を設定することでこの延期を有効にできます。 または、bin/magento setup:config:set --deferred-total-calculating 1|0
. を実行することもできます。 -
非同期注文プレースメント中に買い物かごの価格ルールの影響を受ける注文の検証プロセスの改善。
高スループットのオーダー処理を参照してください。
GraphQL
このリリースには、GraphQLに関する次の機能強化が含まれています。
- 交渉可能な見積もりに関するGraphQLの説明。 B2B 会社のユーザーは、GraphQLを使用して、交渉可能な見積りに関連するすべてのタスクを完了できるようになりました。 この API の以前のバージョンでは、ネゴシエーション フローはサポートされていましたが、チェックアウトはサポートされていませんでした。
新しい変異
-
パフォーマンスの向上:
-
GraphQLの買い物かごの操作のパフォーマンスが向上しました。
collectQuoteTotals()
メソッドは、GraphQL リクエスト中に 1 回だけ呼び出されるようになりました。これにより、応答時間が短縮されます。 -
GraphQL リクエストのキャッシュ方法が変更され、ストアフロントのパフォーマンスが向上しました。 Fastly と Varnish は、
auth
トークンで送信されたGraphQL リクエストをキャッシュするようになりました。
-
-
新しいストアフロント関連の管理設定。
storeConfig
クエリは、小計ゼロのチェックアウトおよび小切手/送金方法の設定を返すようになりました。 -
コア GraphQL ライブラリを更新しました。 コア GraphQLを機能させる
webonyx
ライブラリがバージョン ^14.9 にアップグレードされました。 -
マルチサイトストアと多言語ストアを使用したGraphQLの翻訳の問題を修正しました。 GraphQL リゾルバーが、ストアスコープに基づいて翻訳された文字列を期待どおりに返すようになりました。
-
GraphQLには、デバッグに役立つ、わかりやすいトランザクション名がNew Relicに用意されるようになりました。 GitHub-30915
これらの機能強化について詳しくは、GraphQL開発者ガイドを参照してください。
B2B
このリリースには、複数のバグ修正が含まれています。 B2B リリースノートを参照してください。
ベンダーバンドルの拡張機能
Braintree を除き、すべてのベンダーバンドルの拡張機能は、Adobe Commerce 2.4.4 コードベースから削除されました。 マーチャントは、公式の拡張機能に移行する必要があります。この拡張機能は、Commerce Marketplace で利用できます。
PWA Studio
PWA Studio v.12.3.0 は、Adobe Commerce 2.4.4 と互換性があります。reCAPTCHA、ページビルダーのコンテンツ最適化、パーソナライズされたコンテンツのサポートが含まれます。 機能強化とバグ修正について詳しくは、PWA Studioリリースを参照してください。 PWA Studioバージョンと互換性のあるAdobe Commerce コアバージョンのリストについては、 バージョンの互換性を参照してください。
PayPal 支払いの機能強化
-
Venmo 支払いオプションがサポートされるようになりました。
-
「後で支払う」は、マーチャントの場所ではなく、買い物客の場所に基づくオプションとして追加されました。
-
マーチャントは、選択した国で買い物客のエクスペリエンスをテストする際に、買い物客の国を設定できるようになりました。 以前は、テストは販売者が所在する国のテストに限定されていました。 この変更は、サンドボックスモードでのみ有効です。
-
チェックアウトページのメッセージに、買い物客が「後払い」を使用した際に支払うと予想される金額と増分の正確なメッセージが表示されるようになりました。
Live Search
ライブサーチで PHP 8.1 がサポートされるようになりました。
更新された Live Search インストール中、新しい Magento_ElasticsearchCatalogPermissionsGraphQl
モジュールは無効になります。 これらの機能を利用するには、既存の Live Search インストールを Live Search 2.0.0 にアップグレードする必要があります。 詳しくは、Live Search リリースノートを参照してください。
アクセシビリティの更新
このリリースでは、標準のアクセシビリティガイドラインへの準拠が強化されています。 これらの機能強化により、視覚、言語、認知および学習能力が限られているユーザーのエクスペリエンスが向上します。 また、画面Readerツールのパフォーマンスも向上しました。
アクセシビリティの強化には、次のものが含まれます。
- ツールヒントは、入力のテキストと正確でタスクに焦点を当てた表示ラベルをリンクします
- 編集ボタンに一意のテキストが表示されるようになりました。
- 管理ボタンには、AA 標準に準拠した、一意でアクセス可能で説明的な目的が追加されました
- 意味を伝えるアイコン画像に、代替テキストが提供されるようになりました。
- 管理ボタンおよびフォームフィールドのコントラストが、隣接色とのコントラスト比が 3:1 以上に向上しました。
ページビルダー
- マーチャントは、画像(画像、バナー、スライド)に代替テキスト(
alt_text
)を追加して、コンテンツのアクセシビリティを強化できるようになりました。 GitHub-746
修正された問題
Adobe Commerce 2.4.4 コアコードの何百もの問題を修正しています。 修正された問題の一部を以下に示します。
インストール,アップグレード,デプロイメント
- Adobe Commerceは、静的コンテンツのデプロイメントエラーを期待どおりにビルドログファイルに記録するようになりました。
- データパッチでは、テーブルの一意の制約を無視して、MySQL データベーステーブルに重複した値を挿入できなくなりました。 以前は、パッチによって重複した値が挿入され、データベースが破損する可能性がありました。
- マーチャントは、Klarna を使用したAdobe Commerce 2.4.2 のデプロイメントからAdobe Commerce 2.4.3 に正常にアップグレードできるようになりました。GitHub-33760
- サイトマップジェネレーターの設定をコマンドラインから正常に変更できるようになりました。 以前は、Adobe Commerceで、Admin:
Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78
以外でサイトマップ設定を変更しようとした場合に、このエラーが表示されていました。 GitHub-31428
config.php
で値を更新した場合、bin/magento app:config:import
コマンドがエラーなく実行されるよtime
になりました。 以前は、手動で編集(管理者を使用しない)して製品のアラート設定を変更すると、エラーが発生していました。
アクセシビリティ
- 買い物かごページとチェックアウトページでのナビゲーションに関するアクセシビリティエラーが解決されました。 GitHub-34483
- スクリーンリーダーで、製品ページ上の関連するすべてのフォーム要素を読み取れるようになりました。
- ストアフロント全体で画像の削除や移動のアイコンボタンのコントラストを改善し、ロービジョンユーザーの読みやすさを向上しました。
- 製品インターフェイス全体で検索を実行するために使用される虫眼鏡アイコンに、アクセシブルな名前と代替テキストが割り当てられました。
- Tab キーを使用してリッチテキストエディターツールバーにアクセスできるようになりました。
- この項目に重みがあり カタログ/製品 詳細ページの入力を選択すると、ラベルが表示され、名前にアクセスできるようになりました。
- アクセス可能なコントロール名に、ページごとの項目数ドロップダウンに表示されるラベルのテキストが含まれるようになりました。
- カタログ/製品 詳細ページのテーブルコントロールでは、テーブルを折りたたむと、ラベルが表示され、アクセス可能な名前が付くようになりました。
- 製品テーブルの編集リンクに、意味のある一意のリンクテキストが追加されました。
- ツールチップを拡張するトリガーには、テキスト名が提供されるようになりました。
- ストアフロント全体のボタンに、一意でわかりやすいアクセシブルな名前が付けられるようになりました。 以前は、テキストボタンと隣接する下向き矢印アイコンボタンを持つ分割ボタンには、同じアクセス可能な名前が付いていました。
- ストアフロント全体で画像の削除や移動のアイコンボタンのコントラストを改善し、ロービジョンユーザーの読みやすさを向上しました。
- マーチャントが「検索エンジン最適化」アコーディオンの入力を編集したときに表示される鉛筆アイコンに、代替テキストが追加されました。
- 製品インターフェイス全体で検索を実行するために使用される虫眼鏡アイコンに、アクセシブルな名前と代替テキストが割り当てられました。
- 製品ページ 新しい表示 のテキスト入力フィールドに、アクセス可能な名前が付けられました。
- この項目に重みがあり カタログ/製品 詳細ページの入力を選択すると、ラベルが表示され、名前にアクセスできるようになりました。
AdminGWS
- 権限が制限された管理者は、期待どおりにリターンを作成できるようになりました。
バックエンド
- 管理者は、カスタム管理パスが設定され、秘密鍵が有効になっているデプロイメントで管理者にログインできるようになりました。 以前は、Adobe Commerceには「
Invalid security or form key. Please refresh the page
」というエラーが表示されていました。
- マルチストア階層が変更されても、Adobe Commerceはすべてのストアビュー範囲にリダイレクトされなくなりました。 以前は、階層を保存した後、買い物客は誤ったストア URL にリダイレクトされ、マルチストアデプロイメントで「すべてのストア表示」範囲が選択されていました。
バンドル製品
- 買い物客は、固定製品税と 2 つのオプションを含むバンドル製品を買い物かごに追加できるようになりました。 以前は、Adobe Commerceは商品を追加せず、次のエラーを表示していました:
We can't add this item to your shopping cart right now
。
- バンドル製品の負の値を防ぐために、
data-validate
属性とmin
属性の形式のフォーム検証が買い物かごの数量フィールドに追加されました。
- ストア表示レベルで子製品が無効になっている場合、
products
クエリでバンドル製品を正しくフィルタリングできるようになりました。 以前は、クエリは、ストアビューレベルで無効にされた子製品を返していました。
cron
では、実行時に製品カテゴリのキャッシュを期待どおりにクリアindexer_update_all_views
るようになりました。 以前は、カテゴリに含まれる多くの商品を一括更新した後、Adobe Commerceのカテゴリページに誤った商品数が表示されていました。
- バンドル製品が在庫として再び表示される際に、Adobe Commerceがカテゴリ製品キャッシュを期待どおりに更新するようになりました。
- インデックス再作成中に実行されるキャッシュクリーニングアルゴリズムを最適化しました。 インデックス再作成中にカテゴリがキャッシュされた場合、バンドル製品が期待どおりに表示されるようになりました。 以前は、バンドル製品は、製品カテゴリがインデックス再作成中にキャッシュされた後、数時間表示されませんでした。
- 異なる通貨を使用するマルチストアデプロイメントで、バンドル製品の購入のメール確認で、通貨コンバージョンが期待どおりに行われるようになりました。 GitHub-33426
- 製品グリッドに % 接頭辞が付いたバンドル製品に対して、詳細価格の特別価格ディスカウントが正しく表示されるようになりました。 以前は、製品グリッドで、% ではなく$ プレフィックスで % 割引が誤って表示されていました。
- 管理画面でのバンドル製品のステータスが、関連製品がステータスを変更した際に自動的に更新されるようになりました。
- バンドル製品のGraphQL リゾルバーが、子バンドル製品が無効になっているかどうかを確認するようになりました。 以前は、このチェックは発生しておらず、
categoryList
のようなクエリでは、販売不可能な子製品が返されていました。
- クエリ応答
cart
、動的な価格のバンドル製品に対して正確な割引を返すようになりました。 以前は、クエリの応答には、各バンドル製品に個別に適用される割引が含まれていました。
キャッシュ
- ページキャッシュは、通常の使用では急速に増加しなくなりました。 GitHub-9458
- 注文すると、注文した製品に関連するすべてのキャッシュタグが Varnish キャッシュから削除されなくなりました。 GitHub-30128
- トップカテゴリの製品を更新したり、インデックスを実行して製品属性や在庫ステータスを更新したりしても、フルサイトページのキャッシュが消去されなくなりました。 以前は、Varnish キャッシュは、すべてのページキャッシュタグにトップメニューカテゴリ ID を追加していました。 GitHub-33465
買い物かごとチェックアウト
- 広告の最低価格 これは何ですか?買い物かごページの リンクをクリックできるようになり、期待どおりに情報のポップアップが開きます。 以前は、このリンクをクリックしても効果はありませんでした。
- 永続買い物かごが有効になっているデプロイメントで、セッションタイムアウトの後に、買い物客がエラーなく注文できるようになりました。 以前は、Adobe Commerceで、セッションのタイムアウト後に支払いエラーが表示されていました。
- 高い並べ替え順の値を顧客住所属性に割り当てても、チェックアウトページでパフォーマンスが低下しなくなりました。
- 更新された数量が無効な場合、Adobe Commerceは買い物かごの製品数量を以前の値に戻すようになりました。
- 最近表示された項目セクションの「買い物かごに追加」ボタンをクリックすると、製品の詳細ページに期待どおりにリダイレクトされるようになりました。 以前は、買い物客は製品リストページにリダイレクトされていました。
- ゲストの買い物客は、複数のタイプのカスタム顧客アドレス属性を含む顧客アドレスを使用して正常にチェックアウトできるようになりました。 以前は、チェックアウト時に表示されるカスタム属性の値の形式が正しくありませんでした。 GitHub-30290
- Adobe Commerceは、テーブルの料金が有効な場合、注文に送料無料のしきい値を正しく適用するようになりました。 GitHub-21832
POST /V1/guest-carts/:cartId/items
を使用して、様々なオプションを持つシンプルな製品を買い物かごに追加できるようになりました。 以前は、この呼び出しでは、指定したオプションを使用して 2 つ目の単純製品を追加する代わりに、追加した最初の単純製品の数量が変更されていました。 GitHub-32302
- 国と
PLN
の通貨に対してデプロイメントが設定されている場合、チェックアウトページの「注文の概要」セクションに正しい通貨と金額Poland
表示されるようになりました。 以前は、買い物かごとチェックアウトページに金額が表示されていました PLN 0。
- ミニ買い物かごで商品の数量を変更した後に買い物客が 買い物かごを更新 をクリックしても、Adobe Commerceがエラーをスローしなくなりました。 以前は、Adobe Commerceには「
The quote item isn't found. Verify the item and try again
」というエラーが表示されていました。
- 特定の店舗の設定可能な商品に対するGraphQL
products
クエリで、指定された店舗のみの商品の価格範囲が返されるようになりました。 以前は、リクエストは、指定されていない店舗での単純な製品の価格範囲を返しました。
- Adobe Commerceでは、買い物客が住所フィールド
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
のない請求先住所を追加した場合に、このエラーがスローされなくなりました。 GitHub-33826
- ミニ買い物かごが削除されたストアのチェックアウト時に、Adobe Commerceがコンソールエラーをスローしなくなりました。 GitHub-34513
- 請求先住所に番地フィールドの値がない場合や、番地フィールドの値が配列でない場合に、支払い段階でチェックアウトが失敗しなくなりました。 以前は、チェックアウトは次のエラーで失敗していました:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
。 GitHub-33826
- クーポンレポートグリッドで売上高が正しく計算されるようになりました。 以前は、売上高には出荷金額が含まれていませんでした。
- 買い物客が配送方法を切り替える際に、買い物かご全体の割引が正しく計算されるようになりました。
- 管理者による注文の作成ページの 状態 フィールドのドロップダウンリストに、選択した国の事前定義済みの値が入力されるようになりました。 以前は、このフィールドはドロップダウンメニューではなく入力テキストフィールドでした。
addConfigurableProductsToCart
ミューテーションを使用して、ストア表示を変更した直後に設定可能な商品を買い物かごに追加した後、Adobe Commerceがエラーをスローしなくなりました。
addConfigurableProductsToCart
ミューテーションを使用して、設定可能な商品の無効な子を買い物かごに追加しても、Adobe Commerceがエラーをスローしなくなりました。 以前は、Adobe Commerceが整合性制約違反エラーをスローしていました。
- 買い物かごにクロスセル項目を表示 設定設定が無効になっている場合、クロスセル製品が買い物かごページに表示されなくなりました。
- クーポンが適用された順序が失敗した場合に、クーポン使用状況の値が変更されなくなりました。 以前は、買い物かごにクーポンが適用され、注文されなかった場合、1 回限りの自動生成クーポンは無効とマークされていました。
- 顧客の住所をデフォルト値と比較するための検証がチェックアウトワークフローに追加されました。 検証プロセスで変更が識別されると、その変更を新しい顧客所在地として処理する
null
をcustomer_address_id
に設定します。 以前は、お客様がチェックアウト時に検証なしに住所を保存し、同じお客様がチェックアウトフィールドに検証が適用された後に同じ住所を使用して注文しようとした場合、Adobe Commerceは編集された住所を受け入れず、例外をスローしました。
買い物かご価格ルール
- クーポンの生成は、関連する買い物かご価格ルールが「
auto
」オプションを有効にして保存されるまでブロックされるようになりました。 「auto
」オプションを有効にせずにこのルールを保存しようとすると、Adobe Commerceは「Rule is not saved with auto generate option enabled. Please save the rule and try again
」というメッセージを表示します。
- 買い物かごの価格ルール割引の正しい適用を確認するためのテストを追加しました。
- これらの条件のすべてを/いずれかを満たす買い物かごで項目が見つかった/見つからなかった場合 で SKU 条件を使用する買い物かご価格ルールが、設定可能な製品で期待どおりに機能するようになりました。
- 固定価格のバンドル製品に対して買い物かご価格ルールが正しく適用されるようになりました。 以前は、少なくとも 1 つの子製品のルール条件で同じ属性セットが指定されていた場合、買い物かご価格ルールがこれらの製品に適用されませんでした。
- Adobe Commerceが「買い物かご全体に対する固定金額割引 価格ルールで設定されている場合、価格が 0 の商品を買い物かごに正常に追加できる うになりました。 以前は、Adobe Commerceには「
report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85
」というエラーが表示されていました。
- 固定金額の割引を含む買い物かごルールが有効化された際に、
cart
クエリが不正確な割引金額を返した条件を修正しました。
カタログ
- 商品に
datetime
属性がある場合に、商品グリッドで一括属性更新アクションを実行しても、Adobe Commerceが例外をスローしなくなりました。
- GraphQL クエリは、子製品の表示フィルター設定に従って設定可能な製品の子製品の結果を返すようになりました。
- 設定可能な商品属性が変更された場合に、Adobe Commerceで関連商品価格が変更されなくなりました。 以前は、設定可能な製品の Minimum Advertised Price (MAP;最小広告価格)によって、店舗前面の関連製品の価格が上書きされていました。
- 管理者は、カテゴリに残っている最後の製品を再割り当てし、空のカテゴリを保存できるようになりました。
- 管理製品グリッドおよびフィルターのドロップダウン/複数選択属性値が、管理設定から期待どおりに取得されるようになりました。 以前は、属性値はデフォルトのストア設定から派生していました。
- GraphQL カテゴリクエリは、ステージングされたカテゴリへの変更に関する情報を期待どおりに返します。
- 製品が親カテゴリとそのサブカテゴリの両方に割り当てられ、ただし各カテゴリ内の異なる位置に割り当てられているデプロイメントで、製品リストが管理者で正確にレンダリングされるようになりました。 以前は、製品リストのレンダリングは次のエラーで失敗していました:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
。 GitHub-33145
- 多数のオプション(150 以上)を持つ複数選択属性を、新しい製品に割り当てることができるようになりました。 以前は、属性オプションは
catalog_product_entity_varchar
テーブルに保存されており、管理で製品を再度開いたときにすべてのオプションが存在していたわけではありません。 GitHub-33486
- ルーターが URL から収集されたアクションクラスをインスタンス化できない場合の検証を追加しました。 Adobe Commerceに標準のエラーメッセージが表示されるようになりました。 以前は、Adobe Commerceには「
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
」というエラーが表示されていました。
- Adobe Commerceは、これらの条件を満たす 1 つの注文に 2 つの買い物かごルールが適用された場合、割引を正しく計算するようになりました。1 つの買い物かごルールはクーポンコードと 買い物かご全体の固定価格 条件で適用され、2 つ目の買い物かご価格ルールにはクーポンがなく、製品価格割引の割合 条件があります。 以前は、以前の買い物かごルールによって一部の製品に対して割引が適用されている場合、関連するアルゴリズムでは、買い物かごの製品間で割引を適切に分割することができませんでした。
- 多数の製品(約 10,000 個)をカテゴリに割り当てても、ブラウザーがクラッシュしなくなりました。
- 管理者からの保存でも読み込みでも、画像属性は一貫してデータベースに保存されるようになりました。 以前は、画像の代替テキスト値の保存に一貫性がありませんでした。 画像が存在し、ラベルが null に設定された場合、データベースでラベル値がリセットされませんでした。
- カタログウィジェットの SQL クエリを最適化しました。 以前は、大きな MySQL クエリによってページの読み込みが遅くなり、MySQL が停止していました。
- 価格フィルターが、在庫切れの設定可能な製品で正しく機能するようになりました。 以前は、在庫切れの設定可能な製品が正しい価格範囲で表示されていませんでした。
- 子製品を更新しても、部分インデックス作成プロセス中に親設定可能な製品から継承されたカタログルールのディスカウントが削除されなくなりました。 以前は、設定可能な商品を、関連する単純な商品ではなくカテゴリに割り当ててから、そのカテゴリを使用してカタログルールを作成していた場合、Adobe Commerceでは、部分インデックス作成プロセスの間に、単純な商品に割り当てられたカタログルールを削除していました。
- グループ化および設定可能な製品のグリッド表示リストに、製品オプションを追加する際に、シンプルな製品と仮想製品のみが含まれるようになりました。 以前は、アプリケーションにはオプションを備えた単純な製品が含まれていました。
カタログルール
- カタログルールを毎日更新しても、パフォーマンスが低下しなくなりました。 以前は、部分的なカタログ製品価格インデックス作成によって、古い価格や日付が削除されることはありませんでした。
- Adobe Commerceでは、部分的なインデックス再作成中に、設定可能な商品に関するカタログ価格ルールが削除されなくなりました。 以前は、設定可能な製品のインデックスが再作成される際に、サブプロダクトのみがインデックス再作成されていました。
- category is not category_id 条件を持つカタログ価格ルールが、どのカテゴリにも属さない製品に適用されるようになりました。
設定可能な製品
- 設定可能な製品オプションのラベル名は、管理者の注文作成時に選択したストア表示に基づくようになりました。 以前は、Adobe Commerceは、デフォルトのストアビューのラベル名を使用していました。
- 在庫切れ製品を表示するグローバルフラグが有効になっている場合、製品リストに在庫切れ製品の子製品が正しく含まれるようになりました。 以前は、このフラグが有効な際に、複数の子製品オプションのいずれかが在庫切れだった場合、製品リストには子製品が含まれていませんでした。
addConfigurableProductsToCart
のバリエーションを使用して、デフォルト以外のストア表示で設定可能な商品を買い物かごに追加できるようになりました。 以前は、web サイト ID とストア ID が異なる場合、設定可能な製品を買い物かごに追加することはできませんでした。 GitHub-30948
- GraphQL
products
クエリは、設定可能な商品の無効な子商品に関するデータを返さなくなりました。
- 設定可能な製品に対して新しい設定を作成しても、既存の設定の変更が上書きされなくなりました。 以前は、新しいバリエーションが生成された後、既存のバリエーションのステータスはデフォルトのステータス
enabled
で上書きされていました。
- 設定可能な商品の無効な子を買い物かごに追加しようとすると、Adobe Commerceが内部エラーをスローしなくなりました。
顧客
- Adobe Commerceでは、注文作成時に管理者ロケールの web サイト範囲を考慮するようになりました。 以前は、顧客アドレス属性などの注文の詳細は、マルチサイト展開では 1 つの web サイトでのみ正しく機能していました。 GitHub-23254
顧客セグメント
- 新しい顧客セグメントのマッチした顧客数が、会社アカウントを作成したときに自動的に更新されるようになりました。 以前は、正確なカウントを取得するには、セグメントデータを更新する必要がありました。
電子メール
- お客様が無効なメールアカウントを使用してログインしようとした際に、チェックアウトログインポップアップのメールフィールド検証エラーが、カスタマーログインページのメール検証エラーと一致するようになりました。
- 管理者から出荷コメントが追加され、「顧客に通知」チェックボックスがアクティブ化されると、Adobe Commerceの出荷詳細メールにエラーメッセージが含まれなくなりました。 以前は、出荷確認メールにこのメッセージが含まれていました:
We're sorry, an error has occurred while generating this content
。
- 地域 ID と国 ID の値がメールテンプレートで正しく変換されるようになりました。 以前は、管理者のメールテンプレートで プレビューリンク をクリックすると、国と地域名が正しく表示されていませんでした。
- デフォルト以外のストア表示に対して管理者から送信される販売更新メールに、正しい注文ステータスラベルが含まれるようになりました。 以前は、これらのメールには常にデフォルトストアからのステータスが表示されていました。 GitHub-29263
- Adobe Commerceでは、期待どおりに
Content-Disposition: inline
ヘッダーがメールに含まれるようになりました。 GitHub-29258
- Microsoft Outlook および MS Exchange Server を使用したデプロイメントで、注文と発送の通知メールが期待どおりに動作するようになりました。 以前は、メール本文は空でしたが、ATT*のラベルが付いた添付ファイルが含まれていました。 GitHub-25076
- 注文メールに、買い物客のロケールを想定どおりに使用してローカライズされたデータが含まれるようになりました。 以前は、注文メールには管理者ロケールが使用されていました。
- メールテンプレートのプレビューをクリックすると、期待どおりに、別のウィンドウでテンプレートのプレビューが開くようになりました。 以前は、Adobe Commerceは、メールテンプレートグリッドとポップアップウィンドウでテンプレートのプレビューを同時に開いていました。
- デフォルト以外の web サイトから送信される非同期注文メールに、適切な web サイトのロゴ URL が含まれるようになりました。 以前は、これらのメールには常にデフォルトまたはプライマリ web サイトのロゴが含まれていました。 (
storeCode
値を持つデフォルトのキーは、UrlInterface
getUrl
関数に渡される 2 番目の配列引数に割り当てられています。 この値は、異なるストアや web サイトに対する URL を区別し、顧客に送信されるメールコンテンツの正しいbaseUrl
を生成します)。
フレームワーク
- 数値と数値以外の文字列の厳密でない比較は、数値を文字列にキャストし、文字列を比較することで機能するようになりました。 数値と数値文字列の比較は、引き続き以前と同様に機能します。 これは、
0 == "not-a-number"
が false と見なされたことを意味します。 GitHub-33780
- ヘルパー
Magento\Payment\Helper\Data
は、コンストラクターに新しいレイアウトを作成しなくなりました。 以前は、市外局番を指定せずにカスタムコマンドでこのヘルパーを使用すると、Adobe Commerceがエラーをスローしていました。 GitHub-33908
allure-framework/allure-php-api
Composer の依存関係を更新しました。
- ブートストラップファイルで例外が発生した場合、Adobe Commerceは 500 応答コードを返すようになりました。 以前は、Adobe Commerceは 200 OK のステータスコードを返していました。 GitHub-22196
- 通貨記号が、ストアフロントの製品の詳細ページで期待どおりに読み込まれるようになりました。 以前は、この記号は、JavaScriptページがリロードされると表示されなくなることがありました。
symfony/console
を更新しても、bin/magento setup:di:compile
の実行時にエラーが発生しなくなりました。 GitHub-33595
- PHP 8.x をサポートするAdobe Commerceで配布される
.htaccess
ファイルとnginx.conf
ファイルに、新しい必要なオプションが追加されました。 古いオプションも削除されました。 GitHub-34358
- マーチャントは、複数の製品用のビデオをアップロードできるようになりました。 アップロードされたファイル名に拡張子が含まれる場合にのみ、ファイル生成プロセスによってファイル名に拡張子が追加されるようになりました。 以前は、マーチャントが 2 つの異なる商品に対して同じビデオをアップロードして保存しようとすると、Adobe Commerceが次のエラーをスローしていました。
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
この問題は、アップロードされたファイル名に拡張子が付いているかどうかに関係なく、Adobe Commerceがファイル拡張子を名前に追加しようとすることが原因で発生していました。
- コードベース全体で PHP 8.x との互換性を確保するため、
sprintf(__())
およびsprintf(Magento\Framework\Phrase())
の構成の問題を修正しました。 以前は、Adobe Commerceは次の種類のエラーをスローしていました:Expected parameter of type 'string', 'Magento\Framework\Phrase' provided
。 GitHub-34085
- 詳細検索クエリパラメーターの検証を改善しました。 GitHub-33589
bin/magento support:backup:code
を実行すると、期待どおりにバックアップが作成されるようになりました。 以前は、Adobe Commerceはバックアップを作成しましたが、エラーがスローされました。
- 正常に実行された
cron
プロセスには、現在、success
のステータスが割り当てられています。 以前は、成功したcron
プロセスにpending
のステータスが割り当てられていたため、同じcron
プロセスを 2 回実行できました。
staging_synchronize_entities_period
cron
ジョブが期待どおりに動作するようになりました。 以前は、最初のステージング更新は正常に適用されましたが、Adobe Commerceはその後の更新でこのエラーをスローしました:report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted
。
Magento_Logging
モジュールで IPv6 がサポートされるようになりました。
一般的な修正点
- Adobe Commerceでは、商品を複製する際、定義済みのスコープに従ってすべての商品フィールドをコピーするようになりました。 以前は、「name」フィールドと「description」フィールドは範囲にリセット
global
れていました。
- Adobe Commerceでは、商品価格が 0 の場合に割引にデルタ丸めを適用しなくなりました。 以前は、Adobe Commerceは、負の割引額を計算していました。
- 空の開始日と期限切れの終了日が割り当てられた 新規として設定 属性を持つ製品を正常に保存できるようになりました。 以前は、次の設定で商品を保存すると、Adobe Commerceがこのエラーをスローしていました:
Make sure the To Date is later than or the same as the From Date
。
- Adobe Commerceは、SEO URL 識別子を変更しても、CMS 階層内の既存の CMS ページを複製しなくなりました。 以前は、Adobe Commerceは、CMS 階層に新しいノードを作成して、既存のノードを複製していました。
- 管理者は、最大処理時間にわたって実行されている操作を再試行できるようになりました。 デフォルトの最大値は 12 時間です。
- コンシューマーに対して確認されていないメッセージが原因で、一括アクション処理中に破損したパイプエラーが発生しなくなりました。 プリフェッチ カウント プロパティで、コンシューマーに対するこれらのメッセージを制限し、エラーを回避できるようになりました。 以前は、
bin/magento queue:consumers:start async.operations.all
を実行すると、次のエラーが生成されていました:Broken pipe or closed connection
。
- 2 回目のログイン試行に失敗した後、買い物客は期待どおりにログインページにリダイレクトされるようになりました。 以前は、2 回目のログイン試行に失敗すると、買い物客は 404 ページにリダイレクトされていました。 GitHub-32885
- パスワード変更ページの送信中に競合状態が発生しないように、パスワードリセットトークンの有効期限が延長されました。 GitHub-29647
- 新しい統合に割り当てられた権限が適用されるようになりました。 GitHub-33347
- お問い合わせフォームの例外ログに残るメッセージに影響を与えるリグレッションの問題を修正しました。 GitHub-34483
- JavaScriptの顧客データの読み込みに関する複数の問題を解決しました。 GitHub-30498
- 拡張機能で
QuoteIdToMaskedQuoteId
を使用しても、応答時間が大幅に増加しなくなりました。 GitHub-33676
magento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php
のクラスBundleDiscountPrice
が正常に宣言されました。 以前は、Adobe Commerceは次のエラーをスローしていました:Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found
。 GitHub-33334
- AWS S3 アダプタによって書き込まれたエスケープ CSV フィールドの値が、他のファイルシステムアダプタによって書き込まれたデータと一致するようになりました。
- S3 互換ストレージがサポートされるようになりました。 GitHub-32114
- あるデバイスからログアウトしても、他のデバイスから買い物客が自動的にログアウトされなくなりました。
- 「親ノード階層を使用」設定が無効になっている場合に、Adobe Commerceがストアビューレベルでグリッドのインラインから編集すると、CMS ページが正常に保存されるようになりました。 以前は、Adobe Commerceにこのエラーが表示され、CMS ページの編集内容が保存されませんでした:
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
。
- 同じページを含むノードのパンくずリストが正しく表示されるようになりました。 以前は、Adobe Commerceには、複数のノードに属するページに同じノード名が表示されていました。 各ページに複数のノードが存在する場合でも、Adobe Commerceはページの最初のノードのみを取得しました。
- URL 書き換えインライン編集イベントがレポートに記録されるようになりました。
- 新しいメッセージがない場合、
mage-messages
の Cookie はリセットされません。
ギフトカード
- 買い物客が無効なギフトカードを入力した場合に表示される、より詳細なエラーメッセージを追加しました。
GraphQL
generateCustomerToken
とrevokeCustomerToken
の突然変異によって、ユーザー状態の正しいキャッシュ ID が提供されるようになりました。 以前は、これらの突然変異によって無効なx-magento-cache-id
が使用されたため、パフォーマンスが低下していました。
setBillingAddressToCart
のミューテーションでは、same_as_shipping
パラメーターを正しく使用して、期待どおりに配送先住所に一致する請求先住所を設定できるようになりました。 以前は、Adobe Commerceには「The shipping method is missing. Select the shipping method and try again
」というエラーが表示されていました。 GitHub-30924
- GraphQLの買い物かごの操作で、クエリが要求した場合にのみ買い物かごの総計が計算されるようになりました。 以前は、買い物かごの操作では常に総計を計算していましたが、これはリソースを大量に消費する操作でした。
addProductsToCart
ミューテーションは、ヘッダーで定義されたストアに割り当てられている製品のみを買い物かごに追加するようになりました。
- レイヤー化されたナビゲーションフィルターを使用する
products
クエリで、正しい子カテゴリリストが返されるようになりました。 GitHub-33387
ConfigurableCartItem
オブジェクトを返すクエリとミューテーションには、設定されたバリアントに関する情報が期待どおりに含まれます。
products
クエリは、設定製品オプションの値とバリアント属性値を返すようになりました。 以前は、クエリの応答でこれらの値が空でした。
- ストア表示レベルで子製品が無効になっている場合、
products
クエリでバンドル製品を正しくフィルタリングできるようになりました。 以前は、クエリは、ストアビューレベルで無効にされた子製品を返していました。
- GraphQLには、デバッグに役立つ、わかりやすいトランザクション名がNew Relicに用意されるようになりました。 GitHub-30915
- 電話を表示 管理設定がオプションに設定されている場合、
setShippingAddressesOnCart
のミューテーションでは、空の電話番号値を使用した買い物かごの配送先住所の設定がサポートされるようになりました。 以前は、Adobe Commerceは次のエラーをスローしていました:Field CartAddressInput.telephone of required type String! was not provided
。
addSimpleProductsToCart
のミューテーションによって、ターゲットの web サイトに割り当てられていないシンプルな製品を買い物かごに追加できた問題を修正しました。
- MySQL クエリは、検索パラメーターを使用して検索結果を絞り込むGraphQL
products
クエリ用に最適化されました。
- リクエストされたスコープに製品が含まれていない場合、
addConfigurableProductToCart
のバリエーションでは、買い物かごへの製品の追加をサポートしなくなりました。
products
クエリは、リクエストされた storereview に割り当てられている設定可能なバリアントのみを返すようになりました。 以前は、リクエストされた設定可能な製品のすべてのバリアントが返されていました。
addSimpleProductsToCart
リクエストが並行して正常に実行できるようになりました。 以前は、同じ SKU に対して複数のリクエストを行うと、製品数量が期待どおりに増えるのではなく、同じ買い物かご ID で重複する行項目が作成されていました。
addProductsToCompareList
のミューテーションを使用して、設定可能な製品のバリアントを比較できるようになりました。
- バックエンドから階層製品の価格が更新されると、顧客の買い物かごで新しい価格が正しく更新されます。 以前は、買い物かごの概要セクションの小計が正しく更新されましたが、行の小計は更新されませんでした。
- 複数の選択オプションを持つバンドル製品の追加に使用する場合、
addProductsToCart
のミューテーションによって、選択したすべてのオプションが買い物かごに追加されるようになりました。 以前は、ミューテーションは最後の選択のみを追加しました。 GitHub-33123
- オプションの電話フィールドの値が空の文字列に設定されている場合、GraphQL クエリは、期待どおりに請求アドレスを返すようになりました。 以前は、クエリは null アドレス値を返していました。 GitHub-30218
- 複数の製品の関連度または価格が同じ場合、
products
のクエリ応答では、指定した並べ替え順に従って製品がリストされるようになりました。
addSimpleProductsToCart
とaddProductsToCart
の同時要求で、見積項目の重複が発生しなくなりました。
- クエリ
products
階層化されたナビゲーションフィルターで、正しい子カテゴリリストが返されるようになりました。 リクエストでincludeDirectChildrenOnly
フラグが提供されている場合、直接のサブカテゴリのみが含まれるようになりました。 以前は、製品が複数のカテゴリに割り当てられると、すべてのカテゴリが集計セクションの応答に含まれていました。
- GraphQL検索クエリに検索提案機能を追加しました。
- 顧客の注文アドレスを返したり変更したりする
customer
クエリやその他のクエリおよびミューテーションで、「OrderAddress.telephone
」フィールドがオプションになりました。
- API を介してグループ ID が変更された場合、ストアフロントと管理者の両方で指定されたグループの顧客の価格が正しく更新されるようになりました。 以前は、API を使用してグループ ID が変更された場合、これらの価格は正しく更新されませんでした。
画像
- 透明背景を持つ透かし画像で、オーバーレイする透明製品画像に白い背景が表示されなくなりました。 以前は、透かし画像と商品画像の両方の背景が透明な場合、透かしが白い背景で表示されていました。
- AWS S3 が有効な場合、請求書および配送領収書のロゴがアップロードされ、期待どおりに表示されるようになりました。
- 管理者がストア URL とは異なるドメインに設定されているデプロイメントの CMS ページに追加された画像に関連付けられたメディアタグに、ストア URL が期待どおりに含まれるようになりました。 以前は、メディアタグに、想定されるストア URL ではなく静的な管理 URL が含まれていました。 GitHub-32930
- 画像のキャッシュをフラッシュすると同時にストアフロントに画像を読み込む際に、Adobe Commerceがエラーをスローしなくなりました。
インポート/エクスポート
- ファイル名が似ているが、1 文字または 2 文字のみが異なる場合、
bin/magento remote-storage:sync
は失敗しなくなりました。 以前は、最初の画像は正しく保存されていましたが、2 番目の同様の名前の画像が同期エラーをトリガーし、次のエラーが発生しました:Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197
。 GitHub-34337
- Adobe Commerceは、スケジュールされた書き出し後に、書き出しファイル名のタイムスタンプをユーザーのタイムゾーンに変換するようになりました。 以前は、これらの値は変換されず、Adobe Commerceには UTC タイムスタンプが表示されていました。
- 同じ CSV ファイルを複数回読み込んでも、Adobe Commerceでリモートストレージに重複した画像が作成されなくなりました。
- インポートは、次のメッセージで失敗しなくなりました:
Import failed: Area code not set: Area code must be set before starting a session
。 GitHub-16171
bin/magento app:config:dump
を実行してconfig.php
を手動で編集した後で、を正常に読み込めるようになりました。 GitHub-31428
- カスタムの複数選択属性で、デフォルト以外の複数の値区切り記号を使用できるようになりました。 以前は、読み込み中に検証が失敗していました。 GitHub-23156
- カテゴリ内の製品の位置が、CSV からの読み込み時に正しく割り当てられるようになりました。
索引
- Adobe Commerceでは、インデックスを再作成した後、想定どおりにストアフロントに製品が表示されるようになりました。 以前は、インデックスを再作成する最初の 500 個の製品が在庫切れになり、次の 500 個の製品が在庫切れになると、ストアフロントに追加の製品は表示されませんでした。
- 結合された
indexer.xml
ファイルの一貫性の問題を解決しました。classType
で使用できる値は、結合されていないindexer.xml
ファイルと結合されたファイルで同じになりました。 GitHub-29609
- カテゴリインデクサーには、完全なインデクサーと部分的なインデクサーが並行して実行されるのを防ぐ同期メカニズムが実装されています。 以前は、これらのインデクサーを並行して実行した場合、ストアフロントのカテゴリページから製品を一時的に除外したり、カテゴリページで製品が一時的に空になったりすることができました。
インフラストラクチャ
- サポートされていない
str_contains
メソッドは、サポートされている機能に置き換えられました。 これは、Adobe Commerce 2.4.3 の既知の問題でした。GitHub-33680
-
コードベースをリファクタリングし、キーワード
match
の使用法を修正しました。これは PHP 8.x の予約キーワードです。GitHub-33626 -
カスタム要素を含む空でない要素に対する JQuery 3.5.x の標準を満たすように、HTMLタグが適切にネストされ、閉じられるようになりました。
- PHP7.x および PHP8.x との互換性のために、
abs()
およびround()
関数を修正しました。 GitHub-34322
symfony/console
を更新しても、bin/magento setup:di:compile
の実行時にエラーが発生しなくなりました。 GitHub-33595
colinmollenhour/cache-backend-redis
Composer の依存関係の制限を修正しました。 GitHub-34177
- コードベースはリファクタリングされ、
phpunit/phpunit
の非推奨メソッドの呼び出しを削除しました。 GitHub-33916
- 読み取り専用
pubs/media
ーザーを持つ管理者が画像を含む商品の商品詳細ページにアクセスしようとすると、Adobe Commerceに情報エラーが表示されるようになりました。 以前は、Adobe Commerceが PHP エラーをスローしていました。 GitHub-32819
- すべてのメンバーレベルの
@api
注釈は、コードベース全体でクラスに移動されています。
- ウィジェ
gift-card Cms
トデータがMagento/WidgetSampleData
(Magento Open Source)からMagento/GiftCardSampleData
(Adobe Commerce)に移動されました。 これにより、PHP8.1 上でサンプルデータをインストール(Magento Open Source)する際の問題を解決しました。
- 必要に応じて、Adobe Stock統合コードベース全体で
@api
を使用したインターフェイスをマークしました。 GitHub-32875
- 結果セット内の整数とフロートは、エミュレートされたプリペアドステートメントを使用する場合、文字列の代わりにネイティブの PHP 型を使用して返されるようになりました。 GitHub-34625
- PHP 8.1 との互換性を確保するため、false 値からの配列の自動作成は無効になりました。
- ヘルパー
Magento\Payment\Helper\Data
は、コンストラクターに新しいレイアウトを作成しなくなりました。 以前は、市外局番を指定せずにカスタムコマンドでこのヘルパーを使用すると、Adobe Commerceがエラーをスローしていました。 GitHub-33908
di.xml
を使用して、data
引数をブロックインスタンスコンストラクターに渡すことができるようになりました。
- 読みやすくするために最適化された
Generator.php
。 GitHub-33809
JwsManager
クラスの JWK チェックが改善され、アルゴリズムがヘッダーで直接設定されている場合に状況を処理できるようになりました。 以前は、このチェックではこの有効なシナリオが無視されていました。 GitHub-32636
PHP 8.1 互換のアップグレード
-
PHP 8.1 で非推奨となった関数は、コードベースから削除されました。 GitHub-34497
-
PHP 8.1 との互換性のために、不完全な戻り値の型を持つ内部メソッドに戻り値の型宣言を追加しました。GitHub-34498
-
各モジュールのルート
composer.json
メタパッケージとcomposer.json
ファイルを PHP 8.1 に更新しました。GitHub-34009 -
サードパーティ
jquery.tabs
ライブラリ(最新バージョン) -
NPM パッケージ(最新バージョン) GitHub-33512, GitHub-33972
-
サードパ
jquery.cookie
ティライブラリ(最新バージョン) GitHub-34427
Composer の依存関係の更新
-
すべての Composer の依存関係は、PHP 8.1 と互換性のあるバージョンに更新されました。
-
PHPUnit を最新バージョン(9.5.x)にアップグレードしました。 新しいバージョンに対応するようにテストとテストフレームワークが更新されました。
JavaScriptの依存関係の更新
- サードパ
jquery-validate
ティライブラリのインストール GitHub-33853
Less.js
(v3.13.1) GitHub-32845
ライブラリの削除と非推奨
-
Adobe Commerce 2.4.x がサポートするすべてのブラウザーがこの機能を組み込んでサポートしているため、次のライブラリは削除されました。
es6-collections.js
MutationObserver.js
Modernizr
FormData.js
-
未使用の
jquery.hoverIntent
JavaScript ライブラリを削除した。 GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.php
は非推奨(廃止予定)になりました。 これにはmoney_format()
関数が含まれていますが、これは PHP 8.x で削除されました。GitHub-33870 -
非推奨(サポート対象外)の
grunt-autoprefixer
パッケージを削除しました。 GitHub-34037
ライブラリのアップグレード
-
次のライブラリはより新しいバージョンにアップグレードされました。
script.aculo.us
Chart.js
moment.js
moment-timezone-with-data.js
matchMedia.js
underscore.js
PrototypeJS
RequireJS
LessCSS
請求書
- 文字列のプレフィックスが付いた場合に、自動インクリメントされる請求書 ID の
int
へのキャストが削除されました。 その結果、請求書には、文字列で始まる数値に対して 0 が表示されるようになりました。 GitHub-34451
ログ
- システム/一括アクション で一括アクションを実行する失敗した API 呼び出しのログエントリをAdobe Commerceが作成しなくなりました。 以前は、失敗した API 呼び出しの永続的なエントリが一括アクションログに追加されていました。
- false 値からの配列の自動作成は許可されなくなりました。 GitHub-34499, GitHub-34589
Adobe Commerceコーディング基準
phpunit/ phpunit
をmagento-coding-standard
リポジトリの最新バージョンに更新しました。 GitHub-33622
- Adobe Commerce コーディング標準リポジトリのバージョン ^14.9 への
webonyx/graphql-php
依存関係を更新しました。 GitHub-32863
- Adobe Commerceのコーディング標準に、false 値からの配列の自動作成を識別する新しい sniff
Magento2.PHP.ArrayAutovivification
が追加されました。 GitHub-34509
- Adobe Commerceのコーディング標準に新しいスニフ
Magento2.Functions.DeprecatedFunction
ートを追加しました。 GitHub-34547
- Adobe Commerceのコーディング標準で、
Magento2.Functions.DiscouragedFunction
をスニッフィングする非推奨(廃止予定)の関数を追加しました。 GitHub-34548
Magento2.Annotation.MethodAnnotationStructure
のスニッフィングが失敗して偽陽性になることはありません。 GitHub-34679
メディアギャラリー
- AWS S3 が有効になっているデプロイメントで
bin/magento media-gallery:sync
コマンドが失敗しなくなりました。
- 新しく追加された Media Gallery メニュー項目が 11 を超え、「古い Media Gallery を有効にする 設定が有効になっている場合に、コンテンツのサブメニュータイトル 表示されるようになりました。 GitHub-33889
- 画像を多く含む製品を編集する際の「メディアギャラリー」タブの読み込み時間が改善されました。 GitHub-33434
MFTF
-
CURLOPT_POSTFIELDS
は、オブジェクトを配列として受け入れなくなりました。 オブジェクトを配列として解釈するには、明示的(array
)キャストを実行します。 これは、配列を受け入れるその他のオプションにも当てはまります。 GitHub-33781 -
curl_init()
は、リソースではなくCurlHandle
オブジェクトを返すようになりました。curl_close()
関数は無効になりました。 代わりに、参照されなくなったCurlHandle
インスタンスは自動的に破棄されます。 GitHub-33781
- ダウンロード可能な製品の MFTF テストのエラーを修正しました。 GitHub-34270
CatalogSearch
、GroupedProduct
、Newsletter
、Paypal
、Quote
およびReview
の各モジュールからCliCacheFlushActionGroup
を削除しました。 GitHub-33531
- 数値と数値以外の文字列の厳密でない比較は、数値を文字列にキャストし、文字列を比較することで機能するようになりました。 数値と数値文字列の比較は、引き続き以前と同様に機能します。 つまり、0==「not-a-number」は false と見なされます。 GitHub-33780
parse_url()
は、存在しないクエリと空のクエリおよびフラグメントを区別できるようになりました。 GitHub-33782
ReflectionType::isBuiltin()
メソッドの使用時に致命的なエラーが発生するのを回避するために、コードベースを更新しました。 GitHub-34194
新規アクショングループ
AdminCheckOrderStatusInGridActionGroup
GitHub-33747
StorefrontSelectFirstShippingMethodActionGroup
GitHub-33773
AdminClickUpdateChangesOnCreateOrderPageActionGroup
GitHub-33689
アクショングループ
これらのテストでは、繰り返しアクションがアクショングループに置き換えられました。
AdminAddInStockProductToTheCartTest
GitHub-34512
AdminAddBundleItemsTest
GitHub-34312
AdminConfigurableProductAddConfigurationTest
GitHub-34511
AdminConfigurableProductBulkUpdateTest
GitHub-34435
AdminConfigurableProductDisableAnOptionTest
GitHub-34511
AdminConfigurableProductOutOfStockAndDeleteCombinationTest
GitHub-34316
AdminConfigurableProductOutOfStockTestDeleteChildrenTest
GitHub-34316
AdminConfigurableProductRemoveAnOptionTest
GitHub-34511
AdminConfigurableProductRemoveConfigurationTest
GitHub-34511
AdminCreateAndEditSimpleProductSettingsTest
GitHub-34435
AdminCreateAndEditVirtualProductSettingsTest
GitHub-34435
AdminCreateInactiveFlatCategoryTest
GitHub-34490
AdminCreateInactiveInMenuFlatCategoryTest
GitHub-34510
AdminCreateDuplicateCategoryTest
GitHub-34414
AdminCreateDuplicateProductTest
GitHub-34414
AdminDeleteSimpleProductTest
GitHub-33783
AdminEditRelatedBundleProductTest
GitHub-34313
AdminMassDeleteBundleProductsTest
GitHub-34313
AdminNavigateMultipleUpSellProductsTest
GitHub-34314
AdminSimpleProductSetEditContentTest
GitHub-34435
AdminSimpleProductTypeSwitchingToConfigurableProductTest
GitHub-33788
AdminConfigurableProductTypeSwitchingToVirtualProductTest
GitHub-33788
AdminCreateConfigurableProductWithDisabledChildrenProductsTest
GitHub-33775
AdminUpdateFlatCategoryAndAddProductsTest
GitHub-34490
AdminUpdateTopCategoryUrlWithNoRedirectTest
GitHub-33774
AdminUpdateTopCategoryUrlWithRedirectTest
GitHub-33774
CatalogProductListWidgetOperatorsTest
GitHub-34579
CreateProductAttributeEntityWithReservedKeysTest
GitHub-34422
EnableDisableBundleProductStatusTest
GitHub-34313
StorefrontCheckRefundGrandTotalActionGroup
GitHub-34315
StorefrontInactiveCatalogRuleTest
GitHub-33556
StorefrontConfigurableProductCantAddToCartTest
GitHub-33786
StorefrontConfigurableProductOptionsTest
GitHub-33785
StorefrontConfigurableProductCanAddToCartTest
GitHub-33784
StorefrontConfigurableProductGridViewTest
GitHub-34311
StorefrontConfigurableProductListViewTest
GitHub-34311
StorefrontProductNameWithHTMLEntitiesTest
GitHub-33806
StorefrontProductNameWithDoubleQuoteTest
GitHub-32991
新しいテスト
AdminCreateOrderWithCheckedAppendCommentCheckboxTest
GitHub-32381
CheckoutWithEnabledCaptchaTest
GitHub-32991
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest
GitHub-33635
StorefrontGiftMessageForOrderOnCheckoutCartPageTest
GitHub-32821
StorefrontCaptchaCheckoutWithEnabledCaptchaTest
GitHub-32821
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest
GitHub-33460
リファクタリングされたテスト
CaptchaWithDisabledGuestCheckoutTest
GitHub-30828
ニュースレター
- 適切な権限を持つユーザーは、顧客ニュースレターの購読を期待どおりに管理できるようになりました。 以前は、完全な権限を持つ管理者のみが、管理者の顧客アカウントページで顧客ニュースレターの購読を管理できました。
順序
- 買い物客は、ストアフロントと管理者の両方から、ファイル タイプとタイプのドロップダウンのカスタムオプションを組み合わせて、製品を含む既存の注文を正常に並べ替えることができるようになりました。 以前は、Adobe Commerceがエラーをスローし、並べ替えを処理しませんでした。
- 店舗クレジットで支払われ、固定製品税(FPT)が適用された注文の請求書に、正しい総計が含まれるようになりました。
- 管理者の注文詳細ページが期待どおりに読み込まれるようになりました。 以前は、Adobe Commerceが特定の税金の注文の注文詳細ページを読み込むと、次のエラーが発生していました:
Call to a member function getId() on array
。
- 注文および発送権限を含む制限付き権限を持つ管理者は、注文ページを期待どおりに表示できるようになりました。 以前は、これらの権限を持つ管理者が注文を表示しようとすると、Adobe Commerceがエラーをスローしていました。 GitHub-14633
- 買い物客は、最大数量許容制限が設定されている場合、子の設定可能な製品を含む注文を行うことができるようになりました。
支払い方法
- 買い物客は、Braintreeを使用して、3DS が有効になっているデプロイメントで、地域を設定せずに、請求先住所を使用して注文できるようになりました。 以前は、買い物客が 注文する をクリックしてもチェックアウトがフリーズし、購入を完了できませんでした。 GitHub-34204
- Venmo 支払いオプションがサポートされるようになりました。
- PayPal は BN コードで追跡できるようになりました。
- Adobe Commerce 2.4.2-p1 からアップグレードする際に、
bin/magento setup:upgrade
が期待どおりに実行されるようになりました。 以前は、Adobe Commerceは次のエラーをスローしていました:Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal
。 GitHub-33678
- 正しいストア ID を使用して、管理者への注文時に保存済みのクレジットカードを取得できるようになりました。 保存されているクレジットカードが、web サイトの範囲設定に従って注文時に表示されるようになりました。 以前は、管理者が管理者から顧客の注文を作成しようとして、ストアドクレジットカード方式を選択した場合、ストアドカードで使用できるオプションがありませんでした。
- PayPal クレジットのギフトカード金額の表示の異常が解決されました。 以前は、PayPal クレジットが有効で複数のギフトカードの金額が設定されている場合、買い物客がギフトカードの値の金額を変更しても、ストアフロントは分割払いの金額を更新しませんでした。 これは、Adobe Commerce 2.4.3 の既知の問題でした。
PayPal
- Adobe Commerceでは、PayPal Express のお支払い方法でのチェックアウト中にエラーが表示されなくなりました。 以前は、チェックアウトプロセスは完了しましたが、Adobe Commerceに「
Something went wrong
」というエラーが表示されていました。
- PayPal Express が買い物かごから期待どおりに動作するようになりました。 以前は、「PayPal」ボタンをクリックして買い物かごからの高速チェックアウトを開始すると、Adobe Commerceが次のエラーをスローしていました。
To check out, please sign in with your email address
GitHub-33445
- PayPal Payflow Pro は、支払いアクション を備えた PayPal Payflow Pro ゲートウェイが 認証 に設定されているデプロイメントで、正しい親トランザクション ID を使用して遅延キャプチャを実行するようになりました。 セール トランザクションは、期待どおりにチェックアウト時に作成された Vault トークンの親トランザクション ID を使用して Payflow に送信されます。 以前は、遅延キャプチャ トランザクションが作成され、PayPal Payflow に送信されていました。 GitHub-33445
- 買い物客は、PayPal 支払い高度な支払いが完了した後、期待どおりに成功ページにリダイレクトされるようになりました。 以前は、支払いが正常に処理され、エラーがログに記録されていなくても、買い物客はこのページにリダイレクトされませんでした。
パフォーマンス
- パフォーマンスを向上させるために、
magento_giftcardaccount.code
にインデックスを追加しました。
- モジュールリストの読み込み実行時間が改善されました。
- 一般的な検索用語キャッシュのパフォーマンスが向上しました。 以前は、
search_query
テーブルが大きいほど、検索クエリの完了に時間がかかりました。 GitHub-27559
- Adobe Commerceはデフォルトで、商品の保存中に画像のサイズを同期的に変更します。 マーチャントは、
di.xml
ファイルに小さな編集を加えることで、バックグラウンドの非同期プロセスとして画像のサイズを変更できるようになりました。
- マルチストアデプロイメントでカテゴリ製品インデクサーのパフォーマンスを改善しました。 GitHub-33984
glob()
システムコール用の新しいメモリ内キャッシュにより、glob()
コールの数が減り、パフォーマンスが向上します。 GitHub-34025
- 非同期オーダーグリッドのインデックス再作成プロセスのパフォーマンスが向上しました。
- 製品の書き出し時のメモリ消費を最適化しました。
- 製品の詳細ページと関連製品の読み込みを最適化しました。 関連する製品条件クエリも最適化されました。
Pricing
- 製品価格が 0 に近いか等しく、共有カタログが有効な場合、価格の並べ替えが期待どおりに機能するようになりました。 以前は、価格の再インデックス中に階層価格がゼロの値は無視されていました。
- カテゴリページの価格フィルターに 2 番目の値が含まれていない場合、Adobe Commerceがエラーをスローしなくなりました。 以前は、Adobe Commerceはログファイルで例外をスローしていました。
ProductAlert
- 新しい
product_alert
コンシューマーは、キューメッセージを作成し、コンシューマーを実行し、実行時間を改善することで、顧客アラートの送信を改善します。 以前は、100,000 件を超える商品アラートを送信すると、Adobe Commerceがメモリ不足の例外をスローしていました。 Adobe Commerceはすべてのアラートを送信するのに 20 時間以上もかかりました。
製品ビデオ
- Adobe Commerceでは、ビデオの追加中に不完全な URL を入力すると、「保存」ボタンが有効になり、フィールドが自動入力されるようになりました(管理者 カタログ/製品/ビデオを追加)。 以前は、「保存」ボタンは無効になっており、フィールドは入力されていませんでした。
返品承認(RMA)
- 管理者の「返品製品の作成」グリッドには、価格とともに税金を表示するように設定されている製品の価格のみを含む税金が表示されるようになりました。 以前は、Adobe Commerceは
tax/calculation/price_includes_tax
フラグの設定表示設定を確認していませんでした。
レビュー
- 製品リスト表示に、製品の正しい星評価が表示されるようになりました。 GitHub-30196
- 買い物客がストアフロント製品ページで レビュー をクリックしても、レビューが期待どおりに表示されるようになりました。
- 製品の星評価が、ストアフロントの製品リストページのグリッド表示とリスト表示で一貫するようになりました。 以前は、同じ製品でもグリッド表示モードとリスト表示モードで異なる評価を持つ場合がありました。
報酬
- 報酬ポイント残高と報酬ポイント履歴に同じ残高が表示されるようになりました。 期限切れのポイントが正しく差し引かれるようになりました。 以前は、報酬ポイント残高に有効期限切れのポイントが正確に反映されていませんでした。
- 期限切れの報酬ポイントは、ストアフロントの報酬ポイント履歴グリッドの「理由」セクションで 期限切れ とマークされるようになりました。
売上
- MariaDB 10.2.34 へのアップグレード後、大規模なデータセットを含むテーブルの非同期モードでの販売グリッドの更新パフォーマンスが向上しました。
- Adobe Commerceは、ストアフロントの アカウント/注文/注文を表示 ページからHTMLタグを期待どおりに削除するようになりました。 以前は、Adobe Commerceの「ストアフロントの顧客注文コメント」セクションにHTMLタグが表示されていました。
sales_shipment_grid.order_id
のインデックスの存在を検証する自動テストカバレッジが追加されました。
POST V1/orders
呼び出しで、エラーなしで拡張機能属性を更新するようになりました。 以前は、SQL 構文エラーが発生していました。
検索 search-heading
- 価格範囲のレイヤー化されたナビゲーションオプションが、カスタムの価格属性で期待どおりに機能するようになりました。 Adobe Commerceでは、カスタムの価格属性をフィルタリングする際に、価格ナビゲーション手順の設定を使用します。 以前は、Adobe Commerceでは手動のステップ設定を使用していました。
- カタログで使用可能なカテゴリの数に関係なく、ストアフロントに現在のカテゴリのすべてのサブカテゴリが階層化されたナビゲーションで表示されるようになりました。
- Elasticsearchカタログ検索で、区別符号が区別されなくなりました。 以前は、アクセントのない用語を検索すると、アクセントのある同じ用語を検索した場合とは結果が異なっていました。
- 特殊文字を含む SKU 属性に対して、検索の重み付けが正しく設定されるようになりました。
- システム予約の製品属性コードに
category_name
が追加されました。 属性コードcategory_name
を使用して product 属性を作成しようとすると、Adobe Commerceにエラーが表示されるようになりました。 以前は、商品が期待されるカテゴリに表示されず、Elasticsearchエラーがログに記録されていました。
- GraphQLの各検索クエリの後に、一般的な検索用語が更新されるようになりました。
- Adobe Commerceは、正しい価格フィールドをElasticsearchの価格指数マッピングに追加するようになりました。 以前は、web サイト ID ではなくストア ID を持つインデックスに、誤った価格フィールドが追加されていました。
送料
- 出荷メールに、現在の出荷のみの追跡番号が含まれるようになりました。 以前は、1 つの注文に複数の出荷が含まれている場合、各出荷の電子メールには、その注文に関連するすべての出荷の追跡番号が含まれていました。
- 複数配送モードの場合、買い物客が買い物かごから商品を削除してから 1 つの配送先住所に切り替えると、Adobe Commerceはミニ買い物かごを正常に更新するようになりました。 以前は、製品価格が期待どおりに更新されていませんでした。
- S3 ストレージアダプタを使用する場合、テーブルレートのインポートが期待どおりに動作するようになりました。 以前は、Adobe Commerceには「
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found
」というエラーが表示されていました。 GitHub-33072
- 店舗/設定/販売/販売メール から出荷更新メールを期待どおりに無効にできるようになりました。 GitHub-33165
- Adobe Commerceでは、管理者およびストアフロントの請求書ページの合計に送料無料コスト(0)が表示されるようになりました。 以前は、注文の配送がゼロの場合、Adobe Commerceでは請求書ページの配送合計に合計配送額が表示されていませんでした。
- オンライン配送業者への料金リクエストが、複数のリクエストから 1 つのリクエストに減らされました。 荷物の保険と商品/パッケージごとの取扱価格が正しく計算されるようになりました。 以前は、Adobe Commerceで FedEx の配送方法に誤った配送料が表示されていました。
- プエルトリコからの配送用の配送ラベルを作成する際に、Adobe Commerceに UPS 料金が表示されるようになりました。 以前は、Adobe Commerceにこれらの UPS 率が表示されていませんでした。
- 入力ボックスから取り外した後、発送先住所が期待どおりに完全にクリアされるようになりました。 以前は、アドレスを削除しても、テキストボックスに 1 文字以上の文字が保持されていました。
ステージング
- 製品のスケジュール済みアップデートの画像とビデオが正しく保存されるようになりました。 以前は、新しく予定されている更新の作成後に、ビデオ、URL、タイトルおよび説明が削除されていました。
- Adobe Commerceでは、属性が有効になっているストアビューの新規更新スケジュール フォームに最小アドバタイズ済み価格属性を表示するようになりました。
- Adobe Commerceの製品スケジュール済み更新フォームに、期待どおりに「画像」タブが 1 つだけ表示されるようになりました。 以前は、Adobe Commerceはこのタブを複製していました。
- 商品の在庫ステータスが、スケジュール更新プレビューに正しく表示されるようになりました。 以前は、以前に無効にした製品がスケジュール更新の作成中に有効になった場合、製品ステータスは在庫切れと表示されていました。
ストア
- 異なる URL の複数のストアを含むデプロイメントで、顧客としてログイン機能が期待どおりに動作するようになりました。 以前は、Adobe Commerceは、正しいストアドメインにアクセスした場合でも、正しいストアを読み込めませんでした。
サイト全体分析ツール
- マーチャントは、期待どおりに Site Wide Analysis Tool にアクセスできるようになりました。 以前は、キーペアが壊れていたため、一部のマーチャントはツールにアクセスできませんでした。
税
- 複数のアドレスへの配送を選択した後、お客様が商品を削除した場合に、Adobe Commerceがミニ買い物かごの小計を正しく計算するようになりました。
- 買い物かごにバーチャル商品のみが含まれている場合、Adobe Commerceではすべてのチェックアウトページに同じ税率が表示されるようになりました。
- 設定可能な製品の階層価格で、ストアフロントに正確な税込み値と税込み値が表示されるようになりました。 以前は、含まれる税金と除外される税金の両方に同じ値が表示されていました。 GitHub-33673
テスト
- WebAPI テストが PHP 8.1 と互換性を持つようになりました。GitHub-34653
- 統合テストが PHP 8.1 と互換性を持つようになりました。GitHub-34567, GitHub-34569
- マーチャントは、マーチャントの場所ではなく、買い物客が所在する国の買い物客のエクスペリエンスをテストできるようになりました。
- 統合テスト用のメモリ消費が削減されました。これにより、テストのパフォーマンスが向上し、テスト完了に要する時間が短縮されます。
- ストアフロントと管理者のカスタム日付属性形式を検証するためのテストを追加しました。
StorefrontPOWorkflowVerifyApprovalFlowTabTest
のエラーを修正しました。 GitHub-34378
- PHP 8.x との互換性を確保するため、機能テストは安定しています。 GitHub-34327, GitHub-34188
- WebAPI テストの機能の問題を修正しました。 GitHub-34196
- 静的テストで偽陽性が返されるエラーを修正しました。 GitHub-34056
- テストの対象範囲が
call_user_func_array
に更新されました。 GitHub-34301
- AWS Elasticsearch:
Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257
でMagento\GraphQl\CatalogGraphQl\ProductSearchTest
テストを実行した場合に、このエラーがスローされなくなりました。
-
すべてのモック変数の名前を
Mock
サフィックスを含むように変更し、非推奨の Object Manager クラスへの参照を削除することで、多数の重要でない単体テスト警告を修正しました。 GitHub-33695 -
Magento\Framework\MessageQueue\TopologyTest
テストは、サービス用AWS MQ と互換性を持つよう RabbitMQ なりました。 以前は、このテストは次のメッセージで失敗していました:Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal
。
- 単体テストが PHP 8.1 と互換性を持つようになりました。GitHub-34441
単体テスト
AspectMock
の代わりに PHPUnit
を使用するために、次の単体テストがリファクタリングされています。
AllureHelperTest
GitHub-33294
ObjectHandlerUtil
GitHub-33584
MockModuleResolverBuilder
GitHub-33583
MagentoTestCase
GitHub-33582
ModuleResolverTest
GitHub-33308
ParallelGroupSorterTest
GitHub-33306
SuiteGeneratorTest
GitHub-33299
OperationDataArrayResolverTest
GitHub-33296
テーマ
- Adobe Commerceのベース URL にサブパスが設定されている場合、通知メッセージが正しく表示されるようになりました。
- ストアフロントページテンプレートに
aria-label
要素を追加し、リンクをクリックしたときに買い物客が移動するページを示しました。 以前は、異なるページへのリンクに同じリンクテキストを使用していました。 GitHub-33075
- 既存のカスタムテーマを含んだストアのホームページを読み込む際に、Adobe Commerceでエラーメッセージが表示されなくなりました。 以前は、Adobe Commerceには「
The store will not work correctly in the case when cookies are disabled
」というメッセージが表示されていました。
翻訳とロケール
de_DE
およびuk_UA
のロケールで、UserExpiration
バリデーターが失敗しなくなりました。 以前は、管理者が管理者からロケールがde_DE
またはuk_UA
に設定された新しいユーザーを作成する際に、有効期限を設定しようとすると、Adobe Commerceがエラーをスローしていました。 GitHub-32497
- スイスの地域名は、住所の作成または編集フォームで英語で一貫して表示されるようになりました。 GitHub-32602
- Sark 島の GY10 郵便番号をサポートするために、Guernsey の
zip_codes.xml
パターンを更新しました。 GitHub-33144
directory_country_region
テーブルにベラルーシ地域を追加しました。 GitHub-33924
- フィリピン(フィリピン)ロケールを実行しているストアフロントの表示の異常が解決されました。 GitHub-33996
- ポルトガル(ポルトガル)ロケールに設定されたストアで新しいアカウントを作成する際に、顧客の生年月日を正常に入力できるようになりました。 以前は、アカウントを作成しようとすると、Adobe Commerceがエラーをスローしていました。 GitHub-34130
- 製品詳細ページがアラビア語(サウジアラビア)ロケールで正常に表示されるようになりました。 以前は、このロケールによって製品の詳細ページが壊れていました。
UI
maps.googleapis.com
を使用する MFTF テストのエラーを修正しました。
- Adobe Commerceは、お問い合わせフォームのメール入力フィールドから改行しないスペース文字をトリミングするようになりました。 以前は、フォームは、メール入力から改行しないスペース文字(指定されている場合)を削除せずに送信されたため、ログファイルでエラーが発生していました。 また、生成されたストア管理者への連絡先メールメッセージに 返信先 フィールドがありませんでした。
- Adobe Commerceには、管理者の役職に応じて、関連商品、アップセル商品およびクロスセル商品が表示されるようになりました。
- モーダルで使用する場合、
.action-close
のボタンMultiselect
期待どおりに機能するようになりました。 以前は、action-close
ボタンはモーダルの.action-close
ボタンの CSS を継承するので、機能しませんでした。 GitHub-27240
- オファーリッチスニペットが、製品ビューのメインの「価格」フィールドに表示されるようになりました。 以前は、製品表示の関連製品ブロックのこのフィールドにこのスニペットが見つからなかったので、Googleの検索結果に誤った価格が表示されていました。 GitHub-34063
- iOSを実行するデバイスのモーダルの高さの問題が解決されました。 GitHub-34467
- アクション ドロップダウンメニューがストアフロント全体で正しく配置されるようになりました。 GitHub-31379
- 買い物かごページとチェックアウトページでのナビゲーションに関するアクセシビリティエラーが解決されました。 GitHub-34483
- スクリーンリーダーで、製品ページ上の関連するすべてのフォーム要素を読み取れるようになりました。
- ストアフロントカタログの製品ウィジェットの並べ替え順序(カタログ/カテゴリ/製品)が、管理者で設定した順序と一致するようになりました。 GitHub-27126
- 地域セレクターが、アカウントの作成ページで期待どおりに機能するようになりました。 GitHub-30099
- 管理者の顧客グリッドに、新しく追加された
date
カスタム属性を含むすべての顧客データが、期待どおりに表示されるようになりました。 以前は、date
属性セットが列として設定されている場合、Adobe Commerceがエラーをスローし、管理者カスタマーグリッドを正しく表示できませんでした。
- カタログ/製品 詳細ページの入力ラベルが、入力の目的を正確に反映するように変更されました。 ユーザー入力が不要なフィールドに、アスタリスクの付いたラベルが表示されなくなりました。
- Tab キーを使用してリッチテキストエディターツールバーにアクセスできるようになりました。
- アクセス可能なコントロール名に、ページごとの項目数ドロップダウンに表示されるラベルのテキストが含まれるようになりました。
- カタログ/製品 詳細ページのテーブルコントロールでは、テーブルを折りたたむと、ラベルが表示され、アクセス可能な名前が付くようになりました。
- ストアフロント全体のボタンに、一意でわかりやすいアクセシブルな名前が付けられるようになりました。 以前は、テキストボタンと隣接する下向き矢印アイコンボタンを持つ分割ボタンには、同じアクセス可能な名前が付いていました。
- 管理者の注文および金額ダッシュボードグラフに Today 表示オプションを追加して、1 日を通しての販売および注文の概要を提供しました。 GitHub-34008
- 複数選択 閉じる ボタンのアクティブ(クリック)状態が安定して機能するようになりました。 GitHub-34338
- cookie 制限モードが無効になっている場合、Adobe Commerceでアップグレード後にこのメッセージが表示されなくなりました:
The store will not work correctly in the case when cookies are disabled
。 GitHub-33811
- モバイルデバイスの縦のサムネールナビゲーション方向で、テーマにフルスクリーンの製品画像が正しく表示されるようになりました。 以前は、全画面表示モードのモバイルデバイスで、サムネールナビゲーションの方向が縦になっているテーマで、製品画像の拡大縮小や非表示が誤って行われていました。
- 「ウィジェット製品をバックエンドストレージと同期 設定が有効になっている場合に、製品の詳細ページに表示されるエラーメッセージがすぐに表示されなくなりました。
- 新しい返品の作成フォームの「返品する数量 フィールドに、負の値の検証が追加されました。
- アドレス検索 設定が有効になっているデプロイメントのレビューと支払いページで、買い物客が アドレスを変更 をクリックしても、Adobe Commerceに重複したアドレスが表示されなくなりました。
- 「管理者カテゴリ」ページのストア表示スコープで作業している際に、権限が制限された管理者に対して、「製品を追加」ボタンが期待どおりに有効になりました。
- ビューのブレークポイントがAdobe Commerce全体で統一されました。
- Adobe Commerceの管理者カスタマーページで、カスタムのロケールを使用して、カスタムの顧客日付属性が正しく表示されるようになりました。
- ページビルダーを使用して追加された画像が、ブラウザーウィンドウ幅 768 px で表示された場合に、ストアフロントに複製されなくなりました。 以前は、このブラウザーウィンドウ幅では、Adobe Commerceはモバイル版とデスクトップ版の両方の画像を表示することで、ストアフロントで画像を複製していました。
URL の書き換え
bin/magento setup:upgrade
の実行時に新しいストア表示を作成する際に、すべてのストア表示で URL の書き換えが再生成されなくなりました。 GitHub-32954
ビジュアルマーチャンダイザー
- すべてのシンプルな製品が在庫切れになった場合、ビジュアルマーチャンダイザー 在庫切れに移動 の自動ソートオプションが、設定可能な製品で期待どおりに機能するようになりました。
- 条件が追加されていない場合、ビジュアルマーチャンダイザールールは保存されなくなりました。
Web API フレームワーク
- 自己承認された顧客リソースの web API リクエストで、永続的な買い物かごが有効になっている場合に承認エラーがスローされなくなりました。
- PHP 7.3 で
\Magento\Framework\Api\AbstractSimpleObjectBuilder
の子クラスを使用してオブジェクトを作成できるようになりました。以前は、Adobe Commerceが PHP 7.3 で Redhat 上でホストされている場合に、preg_match
は次のような警告メッセージを返していました:Warning: preg_match(): Compilation failed: unrecognized character follows...
。
PUT /V1/guest-carts/:cartId/collect-totals
リクエストで取得した合計が、正しいshippingMethod
で更新されるようになりました。 GitHub-18508
- REST API に新しいデシリアライザーを追加しても、他のデシリアライザーが削除されなくなりました。 以前は、REST API は新しいコンテンツタイプを受け入れていましたが、API のコア定義されたコンテンツタイプは機能しなくなり、400 エラーが返されました。 GitHub-26433
webapi.xml
ファイルで定義されたパラメータの優先設定を削除できるようになりました。 GitHub-33843
- Adobe Commerceは、ログインの試行に連続して複数回失敗した後、期待どおりにGraphQLまたは REST API リクエストによって
customertoken
ールを生成するようになりました。 以前は、Adobe Commerceは、oauth_token_request_log
のlock_expires_at
の値が現在の日時より大きいかどうかを確認せず、再試行に失敗した回数を常に返していました。これにより、お客様はログインできなくなりました。 GitHub-34067
- マスクされた引用符 ID を
QuoteRepository::getList
に追加しても、無限ループが発生しなくなりました。 以前は、REST API に依存する支払いプロセッサーを使用して、注文を更新すると、この動作がトリガーされていました。 GitHub-33675
/rest/all/V1/categories/<above_created_category_id>
PUT呼び出しが、available_sort_by
で指定された値を尊重するようになりました。 以前は、「使用可能な製品リストの並べ替え基準」ドロップダウンが選択され、「カテゴリ」ページで可能なすべてのオプションが選択されていて、「すべてを使用」チェックボックスが選択されていました。 GitHub-32596
- 顧客トークンを作成する REST API リクエストのパフォーマンスが向上しました。
- URL にストアコードを追加 が はい に設定されていて、REST 呼び出しにストアコードが含まれていない場合に発生していたエラーを修正しました。 ペイロードは有効でしたが、呼び出しで次のエラーが返されました:
Fatal error: Allowed memory size of **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75
。
- REST API を使用して、同じ注文の部分請求書を同時に作成できるようになりました。
ウィッシュリスト
- 「サイドバーに表示 ウィッシュリストのオプションが無効になっている場合、Adobe Commerceによってカテゴリサイドバーのウィッシュリストがレンダリングされな なりました。 以前は、Adobe Commerceはこのオプションを無視していました。
WYSIWYG
- PageBuilder は、WYSIWYG エディターを使用して、カスタムウィジェットを正しくレンダリングするようになりました。
既知の問題
問題:Adobe Commerce 2.4.4 からAdobe Commerce 2.4.4-p1 にアップグレードする際に、マーチャントからパッケージバージョンのダウングレードに関する通知が表示される場合があります。 これらのメッセージは無視できます。 パッケージバージョンの不一致は、パッケージ生成時の異常値が原因で発生します。 製品の機能に影響はありません。 影響を受けるシナリオと回避策の説明については、ナレッジベースの記事 2.4.4 から 2.4.4-p1 へのアップグレード後にダウングレードされたパッケージを参照してください。
問題:Apple Pay で支払われた注文に対して、マーチャントがBraintreeを通じて部分的な返金を行うことはできません。 販売者が注文請求書から一部払い戻しを求めるクレジットメモを作成しようとすると、「払戻数量」フィールドは編集できません。 回避策:パッチ braintree-disabled-partial-capture-for-applepay-googlepay.patch
を適用します。 ナレッジベースの記事「Adobe Commerce 2.4.4:部分請求書を作成できせん」を参照してください。
問題:管理者 ストア/設定/一般/国オプション/国を許可 でオプションが選択されていない場合、買い物客は買い物かごに製品を追加できません。 代わりに、Adobe Commerceに次のコンソールエラーが表示されます。Failed to load resource: the server responded with a status of 400 (Bad Request)
。
問題: パートナーと拡張機能を検索 > Magento Marketplace の Dotdigital の説明が古くなっています。 以下は、最新の説明です。
Dotdigital は、デジタルマーケターや開発者がカスタマージャーニー全体を通じてコミュニケーションを提供するのに役立つ顧客エンゲージメントプラットフォームです。 顧客データの力を活用し、ブランドの成長と拡大に応じて、エンゲージメント、コンバージョン、ロイヤルティを強化します。 お客様は、システム全体でファーストパーティデータを接続し、強力なインサイトを表示し、予測クロスチャネルメッセージを自動化する使いやすいプラットフォームを気に入っています。
Dotdigital の 350 人以上の従業員は、世界中および様々な業界の中堅企業やエンタープライズ企業にサービスを提供しています。 私たちは、責任あるマーケティングを刺激することを目指し、持続可能性、プライバシー、セキュリティに取り組んでいます。 Dotdigital は、ISO 14001、ISO 27701、ISO 27001 の認証を取得した、世界初のカーボンニュートラルマーケティング自動化プラットフォームです。
購入およびダウンロード情報については、Dotdigital - マーケティング自動化を参照してください。
コミュニティの投稿
より広いMagento Open Sourceコミュニティに感謝し、今回のリリースへの貢献を認めたいと思います。
コミュニティエンジニアリングチーム のMagento貢献者は、貢献した上位の個人とパートナーのリストを月別、四半期別、年別に管理しています。 その投稿者ページから、GitHub の結合された PR へのリンクをフォローできます。
パートナーの投稿
次の表に、パートナー様のコントリビューションを示します。 この表には、プルリクエストを行ったパートナー、外部プルリクエスト番号、関連付けられた GitHub 問題番号(使用可能な場合)が一覧表示されます。
個々のコントリビューターの投稿
次の表に、コミュニティメンバーからの投稿を示します。 この表は、プルリクエストを行ったコミュニティメンバー、外部プルリクエスト番号、関連付けられた GitHub 問題番号(使用可能な場合)の一覧です。
必要システム構成
当社の技術スタックは、PHP と MySQL をベースに構築されています。 詳しくは、 システム要件を参照してください。
インストールとアップグレードの手順
Composer を使用してAdobe Commerce 2.4.4 をインストールできます。
移行ツールキット
データ移行ツールは、既存のMagento 1.x ストアデータをMagento 2.x に転送するのに役立ちます。このコマンドラインインターフェイスには、検証、進行状況のトラッキング、ログ記録、テストなどの機能が含まれています。 インストール手順については、 データ移行ツールのインストールを参照してください。 データ移行リポジトリの調査または貢献を検討します。
Code Migration Toolkit は、既存のMagento 1.x のストア拡張機能とカスタマイズ内容をMagento 2.x に転送するのに役立ちます。コマンドラインインターフェイスには、Magento 1.x のモジュールとレイアウトを変換するためのスクリプトが含まれています。