Adobe Commerce 2.4.4 リリースノート
Adobe Commerce 2.4.4では、PHP 8.1のサポートが導入されています。 すべてのプロジェクトライブラリと依存関係が、PHP 8.1との互換性を保つように更新されました。 コアコンポーザーの依存関係とサードパーティライブラリも、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、Page Builder、Progressive Web Applications (PWA) Studioなど)の一部も個別にリリースされます。 これらのプロジェクトのバグ修正は、各プロジェクトのドキュメントに記載されている、プロジェクト固有の個別のリリース情報に記載されています。
composer.json ファイル内の信頼できるプラグインを識別する必要があるセキュリティ機能が導入されました。 現在、composer.json ファイルに含まれているが、信頼されているとマークされていないプラグインが自動的にインストールされます。 ただし、2022年7月の時点では、明示的に許可されていない限り、Composerはプラグインを読み込みません。 composer.json ファイルを変更してプラグインの読み込みを明示的に許可する方法については、Adobe Commerce 2.4.4🔗へのアップグレード時のComposer プラグインの問題に関するナレッジベース記事を参照してください。このリリースに含まれるホットフィックス
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のハイライト
このリリースでは、次のハイライトを確認してください。
セキュリティの強化
このリリースには、1つのセキュリティ修正とプラットフォームセキュリティの改善が含まれています。 このセキュリティ修正プログラムは、Adobe Commerce 2.4.3-p2およびAdobe Commerce 2.3.7-p3にバックポートされています。
これらの問題に関連する確認された攻撃は、これまでに発生していません。 ただし、特定の脆弱性を悪用して、顧客情報にアクセスしたり、管理者セッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセスを取得する必要があります。 その結果、管理者を保護するために必要なすべての手順を実行することをお勧めします(以下を含むがこれに限定されません)。
- IP許可リストに加える
- 二段階認証
- VPNの使用
/adminではなく一意の場所を使用- パスワードの健全性を保つ
これらの修正された問題の最新の説明については、Adobe セキュリティ情報を参照してください。
その他のセキュリティ機能
このリリースのセキュリティの改善点は、次のような最新のセキュリティのベストプラクティスに準拠することです。
-
メール変数の使用は、より厳格な変数の構文を優先するセキュリティリスク軽減の一環として、2.3.4で廃止されました。 このレガシー動作は、そのセキュリティリスク軽減の継続として、このリリースで完全に削除されました。
その結果、以前のバージョンのAdobe Commerceで動作していた電子メールやニュースレターのテンプレートが、Adobe Commerce 2.4.4またはMagento Open Source 2.4.4にアップグレードした後で正しく動作しない場合があります。 影響を受けるテンプレートには、管理者の上書き、テーマ、子テーマ、カスタムモジュールまたはサードパーティの拡張機能のテンプレートが含まれます。 非推奨の使用を修正するために アップグレード互換性ツール を使用した後でも、デプロイメントが影響を受ける可能性があります。 影響を受けるテンプレートを移行する際の潜在的な影響とガイドラインについては、 カスタムメールテンプレートの移行を参照してください。
-
API ベアラートークン認証に統合トークンを使用できなくなりました。 以前は、統合トークンをトークンベースの認証のスタンドアロンキーとして使用できました。 ただし、この動作は、期限切れにならないアクセストークンのセキュリティ上の影響により、デフォルトで無効になっています。 以前の動作は、コマンドラインまたは管理者を使用して有効にできます。 トークンベースの認証を参照してください。
-
セッション IDはデータベースに保存されなくなりました。
-
OAuth アクセストークンとパスワードリセットトークンは、データベースに保存されたときに暗号化されるようになりました。
-
非英数字のファイル拡張子のアップロードを防ぐため、検証が強化されました。
-
クーポンコードにreCAPTCHA サポートを追加しました。
-
Adobe Commerceが実稼動モードの場合、Swaggerはデフォルトで無効になりました。
-
ADOBE COMMERCE ストアフロントで、HTTPSがデフォルトで有効になりました。 ストアフロントでセキュア URLを使用および 管理者 設定でセキュア URLを使用はデフォルトで有効になっており、すべての組み込みCookieがセキュアに設定されるようになりました。
-
すべてのAdobe Commerce インストールには、依存関係の混乱プラグインが必要になりました。 以前は、このプラグインは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つのLaminas依存関係が削除され、依存関係の数が減りました。
jQuery UIのアップグレード
jQuery UIが最新バージョン(v1.13.0)にアップグレードされました。 次のv1.10.0 jQuery コンポーネントが削除されました。
パフォーマンスとスケーラビリティの強化
Adobe Commerceのパフォーマンスの強化機能により、スループットの高い注文処理とメッセージキューの最適化が向上します。 このリリースで導入された非同期注文機能は、約60,000件/時間の注文の作成をサポートしています。 以前のバージョンのAdobe Commerceでは、約10,000件/時間の処理がサポートされていたため、Flash販売のボトルネックが生じる可能性がありました。 新しいマルチコンシューマー機能では、1つのCloud インスタンス上のメッセージキューコンシューマーの数の拡張をサポートし、1時間ごとに処理される注文数を増やします。
このリリースでのパフォーマンスの機能強化:
-
AsyncOrder機能は、同期実行が提供するよりも高速な注文の配置をサポートしています。 AsyncOrderが有効になっている場合、買い物客がストアフロントで他のタスクを完了している間、注文はバックグラウンドで実行されます。
-
新しい カート読み込み時に在庫チェックを有効にする 設定オプションでは、カートに商品を読み込む際に切り替え可能な在庫チェックが提供されます。 デフォルトでは有効になっています。 このオプションを無効にすると、見積もりが読み込まれる際にAdobe Commerceが在庫チェックをスキップし、チェックアウトを高速化します。特に、多数の商品を含むカートの場合に便利です。
-
新しい
multiple_processes設定オプションでは、複数のプロセスでの並列コンシューマーの実行がサポートされています。 以前は、cronは必要に応じて1つのコンシューマーを実行していました。 複数の消費者を並行して実行することで、タスクの実行速度を向上させることができます。 この機能を有効にするには、multiple_processesをapp/etc/env.phpファイルに追加します。 -
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の完全なカバレッジ。 Adobe GraphQLを活用すれば、B2B企業のユーザーは、交渉に基づく見積もりに関するあらゆるタスクを完了できます。 このAPIの以前のバージョンでは、ネゴシエーションのフローはサポートされていましたが、チェックアウトはサポートされていません。
新しい突然変異
-
パフォーマンスの向上:
-
GraphQLのカート運用のパフォーマンスが向上しました。 GraphQL リクエスト中に
collectQuoteTotals()メソッドが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支払いオプションがサポートされるようになりました。
-
「後で支払い」は、買い物客の場所に基づいて、買い物客の場所に応じたオプションとして追加されました。加盟店の場所ではありません。
-
加盟店は、選択した国で買い物客の体験をテストする際に、買い物客の国を設定できるようになりました。 以前は、テストは加盟店の所在地に対してのみ実施されていました。 この変更は、サンドボックスモードでのみ有効です。
-
チェックアウトページのメッセージに、後払いを使用する際に買い物客が支払うことが期待される金額と増分数に関する正確なメッセージが表示されるようになりました。
ライブサーチ
ライブサーチがPHP 8.1をサポートするようになりました。
新しいMagento_ElasticsearchCatalogPermissionsGraphQl モジュールは、更新されたライブ検索 インストール 中に無効になります。 これらの機能を利用するには、既存のライブサーチのインストールをライブサーチ 2.0.0にアップグレードする必要があります。 詳しくは、「ライブ検索 リリースノート 」を参照してください。
アクセシビリティの更新
このリリースでは、標準アクセシビリティガイドラインへの準拠が強化されています。 これらの機能強化により、視力が限られているユーザーや、言語、認知能力、学習能力が制限されているユーザーの体験が向上します。 Screen 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にこのエラーが表示されていました:
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のtime値を更新すると、bin/magento app:config:importコマンドがエラーなく実行されるようになりました。 以前は、(管理者を使用しない)手動編集による製品アラート設定の変更でエラーが発生していました。
アクセシビリティ
- カートとチェックアウトページのナビゲーションに関するアクセシビリティエラーが解決されました。 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
- チェックアウトページの「注文の概要」セクションに、
Poland国とPLN通貨のデプロイメントが設定されている場合に、正しい通貨と金額が表示されるようになりました。 以前は、ショッピングカートとチェックアウトページに金額 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はintegrity constraint violation エラーをスローしていました。
- ショッピング カートの構成設定で「 クロスセル項目を表示」が無効になっている場合、クロスセル製品がカートページに表示されなくなります。
- クーポンが適用された注文が失敗した場合、クーポン使用率の値が変更されなくなりました。 以前は、一回限りの自動生成クーポンは、クーポンがカートに適用された後、無効とマークされていましたが、注文はされませんでした。
- チェックアウトワークフローに検証が追加され、顧客の住所とデフォルト値を比較できるようになりました。 検証プロセスで変更が特定された場合、新しい顧客アドレスとして扱うように
customer_address_idからnullに設定されます。 以前は、お客様がチェックアウト時に検証せずにアドレスを保存し、同じお客様がチェックアウトフィールドに検証を適用した後に同じアドレスを使用して注文しようとした場合、Adobe Commerceは編集されたアドレスを受け入れず、例外をスローしました。
カートの価格ルール
- 関連するカート価格ルールが
autoオプションを有効にして保存されるまで、クーポン生成がブロックされるようになりました。autoオプションを有効にせずにこのルールを保存しようとすると、Adobe Commerceに次のメッセージが表示されます:Rule is not saved with auto generate option enabled. Please save the rule and try again。
- カート価格ルール割引の正しい適用を確認するためのテストを追加しました。
- でSKU条件を使用するカート価格ルールは、すべて/これらの条件のいずれかがtrueのカートで商品が見つかった/見つからなかった場合、設定可能な製品で期待どおりに機能するようになりました。
- 固定価格バンドル商品に対して、カートの価格ルールが正しく適用されるようになりました。 以前は、少なくとも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では、設定可能な商品属性が変更されたときに、関連する商品価格が変更されなくなりました。 以前は、設定可能な製品の最低広告価格(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では、これらの条件を満たす注文に2つのカートルールが適用された場合、割引が正しく計算されるようになりました。1つのカートルールにクーポンコードが適用され、1つのカート全体に 固定価格 条件が適用され、2番目のカート価格ルールにクーポンがなく、商品価格割引条件が パーセントが適用されました。 以前は、以前のカートルールで一部の商品に対して割引が既に適用されている場合、関連するアルゴリズムでカート商品に比例して割引を適切に分割することができませんでした。
- 多くの製品(約10,000)をカテゴリに割り当てても、ブラウザーがクラッシュしなくなりました。
- 管理画面から保存するか、読み込むかを問わず、画像属性は一貫してデータベースに保存されるようになりました。 以前は、画像の代替テキスト値が一貫性なく保存されていました。 画像が存在し、ラベルがnullに設定されている場合、ラベル値はデータベースでリセットされませんでした。
- カタログウィジェットのSQL クエリが最適化されました。 以前は、大規模なMySQL クエリでページの読み込みが遅くなり、MySQLが停止していました。
- 価格フィルターが、在庫切れの設定可能な商品で正しく機能するようになりました。 以前は、在庫切れの設定可能な商品が正しい価格帯で表示されていませんでした。
- 子製品を更新すると、部分的なインデックス作成プロセス中に親の設定可能な製品から継承されたカタログルールの割引が削除されなくなりました。 以前は、設定可能な商品をカテゴリに割り当てたが、関連する単純な商品には割り当てず、そのカテゴリを使用してカタログルールを作成していたとき、Adobe Commerceは部分的なインデックス作成プロセス中に単純な商品に割り当てられたカタログルールを削除しました。
- グループ化された設定可能な製品のグリッドビューリストに、製品オプションを追加する際のシンプルな製品と仮想の製品のみが含まれるようになりました。 以前は、アプリケーションにはオプション付きの簡単な製品が含まれていました。
カタログルール
- カタログルールを毎日更新しても、パフォーマンスが低下することはなくなりました。 以前は、部分的なカタログ製品価格インデックスでは、古い価格や日付は削除されませんでした。
- Adobe Commerceでは、部分的なインデックス再作成時に、設定可能な商品のカタログ価格ルールが削除されなくなりました。 以前は、設定可能な製品のインデックスが再作成されたときに、サブ製品のみがインデックスが再作成されていました。
- カテゴリのカタログ価格ルールがcategory_id条件ではありません。この条件は、どのカテゴリにも属していない製品に適用されるようになりました。
コンフィグ商品
- 設定可能な製品オプションラベル名が、管理者注文作成時に選択したストアビューに基づくようになりました。 以前は、Adobe Commerceはデフォルトのストアビューからラベル名を使用していました。
- 在庫切れ商品を表示するためのグローバルフラグが有効になっている場合、商品リストに在庫切れ商品の子商品が正しく含まれるようになりました。 以前は、このフラグが有効になっているときに、いくつかの子商品オプションの1つが在庫切れだった場合、商品リストに子商品が含まれていませんでした。
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の値がメールテンプレートで適切に変換されるようになりました。 以前は、管理者のメールテンプレートから プレビューリンク をクリックすると、国と地域名が正しく表示されませんでした。
- デフォルト以外のストアビュー用に管理者から送信されたセールスアップデートメールに、正しい注文ステータスラベルが含まれるようになりました。 以前は、これらのメールは常にデフォルトストアからステータスを表示していました。 GitHub-29263
- Adobe Commerceでは、電子メールに
Content-Disposition: inline個のヘッダーが想定どおりに含まれるようになりました。 GitHub-29258
- Microsoft OutlookおよびMS Exchange Serverを使用したデプロイメントで、注文および出荷通知メールが期待どおりに機能するようになりました。 以前は、メール本文は空でしたが、ATT* ラベル付きの添付ファイルが含まれていました。 GitHub-25076
- 注文メールに、買い物客のロケールを使用してローカライズされたデータが含まれるようになりました。 以前は、注文メールには管理者ロケールが使用されていました。
- 任意のメールテンプレートのプレビューをクリックすると、テンプレートのプレビューが期待どおりに別のウィンドウで開くようになりました。 以前は、Adobe Commerceは電子メールテンプレートグリッドとポップアップウィンドウで同時にテンプレートプレビューを開いていました。
- デフォルト以外のweb サイトから送信される非同期注文メールに、適切なweb サイトのロゴ URLが含まれるようになりました。 以前は、これらのメールには必ずデフォルトまたはプライマリのweb サイトのロゴが含まれていました。 (値
storeCodeのデフォルトキーは、UrlInterfacegetUrl関数に渡される2番目の配列引数に割り当てられています。 この値は、異なるストア/web サイトに関するURLを区別し、顧客に送信される電子メールコンテンツの正しいbaseUrlを生成します。)
フレームワーク
- 数字と数値以外の文字列の厳密でない比較は、文字列に数値をキャストして文字列を比較することで機能するようになりました。 数値と数値文字列の比較は、以前と同じように機能します。 つまり、
0 == "not-a-number"はfalseと見なされます。 GitHub-33780
- ヘルパー
Magento\Payment\Helper\Dataは、コンストラクターに新しいレイアウトを作成しなくなりました。 以前は、このヘルパーが市外局番を指定せずにカスタムコマンドで使用されていた場合、Adobe Commerceはエラーをスローしました。 GitHub-33908
allure-framework/allure-php-apiコンポーザーの依存関係を更新しました。
- 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_periodcronジョブが期待どおりに動作するようになりました。 以前は、最初のステージング更新が正常に適用されましたが、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。
- SEO URL IDを変更しても、Adobe Commerceで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-messagesCookieはリセットされません。
ギフトカード
- 買い物客が無効なギフトカードを入力した場合に、より有益なエラーメッセージを追加しました。
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クエリは、要求されたストアビューに割り当てられた設定可能なバリアントのみを返すようになりました。 以前は、要求された設定可能な製品のすべてのバリエーションが返されていました。
addSimpleProductsToCart要求を並行して正常に実行できるようになりました。 以前は、同じSKUに対して複数のリクエストを行うと、同じカート IDに対して重複した行項目が作成され、商品の数量が期待どおりに増加することはありませんでした。
addProductsToCompareList変異を使用して、設定可能な製品のバリエーションを比較できるようになりました。
- バックエンドから階層商品の価格が更新されると、顧客のカートで新しい価格が正しく更新されます。 以前は、買い物かごの概要セクションの小計は正しく更新されていましたが、行の小計は更新されませんでした。
- 複数の選択オプションを持つバンドル製品の追加に使用する場合、
addProductsToCartの突然変異によって、選択したすべてのオプションがカートに追加されるようになりました。 以前は、突然変異によって最後の選択範囲だけが追加されていました。 GitHub-33123
- GraphQLのクエリで、オプションの電話番号フィールドの値が空の文字列に設定されている場合に、請求先住所が期待どおりに返されるようになりました。 以前は、クエリでnull アドレス値が返されていました。 GitHub-30218
- 複数の製品の関連性または価格値が同じ場合に、
productsクエリ応答に、指定された並べ替え順序に従って製品が一覧表示されるようになりました。
- 同時
addSimpleProductsToCart要求とaddProductsToCart要求が重複した見積もり項目になることはなくなりました。
products件のクエリ層ナビゲーションフィルターで、正しい子カテゴリリストが返されるようになりました。 リクエストでincludeDirectChildrenOnlyフラグが指定されている場合は、直接サブカテゴリのみが含まれるようになりました。 以前は、製品が複数のカテゴリに割り当てられたときに、すべてのカテゴリが集計セクションに応答として含まれていました。
- GraphQLの検索クエリの検索候補を表示する機能を追加しました。
OrderAddress.telephoneフィールドは、customerクエリ、または顧客の注文アドレスを返したり変更したりする他のクエリや突然変異でオプションになりました。
- 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からの読み込み中に、カテゴリ内の製品位置が正しく割り当てられるようになりました。
Index
- インデックス再作成後、Adobe Commerceにストアフロントに商品が期待どおりに表示されるようになりました。 以前は、インデックスが再構築された最初の500点の商品が在庫にあり、次の500点の商品が在庫切れになった場合、ストアフロントには追加の商品は表示されませんでした。
- 結合された
indexer.xmlファイルの一貫性の問題を解決しました。classTypeの許可された値は、結合されていないindexer.xmlファイルと結合された ファイルで同じになりました。 GitHub-29609
- 完全インデクサーと部分的インデクサーが並行して実行されるのを防ぐために、カテゴリーインデクサーに同期メカニズムが実装されました。 以前は、これらのインデックスを並行して実行する場合、ストアフロントのカテゴリーページから製品を一時的に省略したり、カテゴリーページを製品の一時的な空にしたりすることができました。
メール基盤
- サポートされていない
str_containsメソッドは、サポートされている関数に置き換えられました。 これは、Adobe Commerce 2.4.3の既知の問題です。 GitHub-33680
-
PHP 8.xの予約キーワードであるキーワード
matchの使用状況を修正するために、コードベースをリファクタリングしました。 GitHub-33626 -
HTML タグが、カスタム要素を含む非void要素のJQuery 3.5.xの標準を満たすために適切にネストおよびクローズされるようになりました。
- PHP7.xおよびPHP8.xとの互換性のために
abs()およびround()関数を修正しました。 GitHub-34322
symfony/consoleを更新しても、bin/magento setup:di:compileの実行中にエラーが発生しなくなりました。 GitHub-33595
colinmollenhour/cache-backend-redisコンポーザー依存関係の制限を修正しました。 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)に移動されました。 これにより、(Magento Open Source)をPHP8.1にサンプルデータでインストールする際の問題を解決しました。
- 必要に応じて、
@apiを含むAdobe Stock統合コードベース全体でマークされたインターフェイス。 GitHub-32875
- 結果セット内の整数と浮動小数は、エミュレートされた準備済みステートメントを使用する場合に、文字列ではなくネイティブ PHP タイプを使用して返されるようになりました。 GitHub-34625
- 偽の値からの配列の自動作成は、PHP 8.1との互換性を確保するために無効化されています。
- ヘルパー
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.jsMutationObserver.jsModernizrFormData.js
-
未使用の
jquery.hoverIntentJavaScript ライブラリを削除しました。 GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.phpは非推奨(廃止予定)になりました。 これには、PHP 8.xで削除されたmoney_format()関数が含まれています。 GitHub-33870 -
非推奨でサポートされていない
grunt-autoprefixerパッケージを削除しました。 GitHub-34037
ライブラリのアップグレード
-
以下のライブラリがより新しいバージョンにアップグレードされました:
script.aculo.usChart.jsmoment.jsmoment-timezone-with-data.jsmatchMedia.jsunderscore.jsPrototypeJSRequireJSLessCSS
請求書
- 文字列のプレフィックスが付いた場合、自動増分された請求書IDに対する
intへのキャストが削除されました。 その結果、請求書には、文字列が先頭に付いた数値に0が表示されるようになりました。 GitHub-34451
ログ
- Adobe Commerceは、System > Bulk Actionsで一括アクションを実行した失敗したAPI呼び出しのログエントリを作成しなくなりました。 以前は、失敗したAPI呼び出しの永続的なエントリが一括アクションログに追加されていました。
- false値からの配列の自動作成は許可されなくなりました。 GitHub-34499、GitHub-34589
Adobe Commerce coding standard
phpunit/ phpunitをmagento-coding-standardリポジトリの最新バージョンに更新しました。 GitHub-33622
- Adobe Commerce コーディング標準リポジトリの
webonyx/graphql-php依存関係をバージョン ^14.9に更新しました。 GitHub-32863
- Adobe Commerce コーディング標準に新しいスニフ
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コマンドが失敗しなくなりました。
- 新しく追加されたメディアギャラリーコンテンツのサブメニュータイトルは、メニュー項目が11を超え、古いメディアギャラリーを有効にする設定が有効になっている場合に表示されるようになりました。 GitHub-33889
- 多数の画像を含む製品を編集する際の「メディアギャラリー」タブの読み込み時間が改善されました。 GitHub-33434
MFTF
-
CURLOPT_POSTFIELDSは、オブジェクトを配列として受け入れなくなりました。 オブジェクトを配列として解釈するには、明示的(array)キャストを実行します。 この方法は、配列を受け入れるその他のオプションにも適用されます。 GitHub-33781 -
curl_init()は、リソースではなくCurlHandleオブジェクトを返すようになりました。curl_close()関数に効果がなくなりました。 代わりに、CurlHandleインスタンスは、参照されなくなった場合に自動的に破棄されます。 GitHub-33781
- ダウンロード可能な製品のMFTF テストのエラーを修正しました。 GitHub-34270
CliCacheFlushActionGroupをCatalogSearch、GroupedProduct、Newsletter、Paypal、Quote、およびReviewモジュールから削除しました。 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
CreateProductAttributeEntityWithReservedKeysTestGitHub-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の既知の問題でした。
ペイパル
- Adobe Commerceでは、PayPal Expressの支払い方法によるチェックアウト時にエラーが表示されなくなりました。 以前、チェックアウトプロセスは完了しましたが、Adobe Commerceに次のエラーが表示されました:
Something went wrong。
- PayPal Expressがショッピングカートから期待どおりに機能するようになりました。 以前、PayPal ボタンをクリックしてカートからExpress チェックアウトを開始すると、Adobe Commerceによって次のエラーがスローされました:
To check out, please sign in with your email address。 GitHub-33445
- PayPal Payflow Proは、支払いアクションを含むPayPal Payflow Pro ゲートウェイが 認証 に設定されているデプロイメントで、正しい親トランザクション IDで遅延取得を実行するようになりました。 Sale トランザクションが、チェックアウト時に作成されたVault トークンの親トランザクション IDを持つPayflowに送信されます。 以前は、遅延キャプチャ トランザクションが作成され、PayPal Payflowに送信されていました。 GitHub-33445
- PayPal Payments Advancedの支払いが完了すると、買い物客は期待どおりに成功ページにリダイレクトされるようになりました。 以前は、支払いが正常に処理され、エラーがログに記録されなかったにもかかわらず、買い物客はこのページにリダイレクトされませんでした。
パフォーマンス
- パフォーマンスを向上させるために
magento_giftcardaccount.codeにインデックスを追加しました。
- モジュールリストの読み込み実行時間が改善されました。
- Popular Search Term キャッシュのパフォーマンスが向上しました。 以前は、
search_queryテーブルが大きいほど、検索クエリの完了に時間がかかっていました。 GitHub-27559
- Adobe Commerceでは、デフォルトで、商品の保存中に画像のサイズが同期されます。 マーチャントは、
di.xmlファイルを微調整することで、画像のサイズをバックグラウンド非同期プロセスとして変更できるようになりました。
- 複数店舗展開でのカテゴリ製品インデクサーのパフォーマンスが向上しました。 GitHub-33984
glob()システム呼び出しの新しいメモリ内キャッシュは、glob()呼び出しの数を減らすことによってパフォーマンスを向上させます。 GitHub-34025
- 非同期注文グリッドの再インデックス作成プロセスのパフォーマンスが向上しました。
- 製品の書き出し時のメモリ消費が最適化されました。
- 関連製品を含む製品詳細ページの読み込みが最適化されました。 関連する製品条件のクエリも最適化されました。
価格
- 商品の価格がゼロに近いか等しく、共有カタログが有効になっている場合に、価格の並べ替えが期待どおりに機能するようになりました。 以前は、価格のインデックス再作成の際にゼロ層の価格は無視されていました。
- カテゴリーページの価格フィルターに2番目の値が含まれていない場合、Adobe Commerceでエラーがスローされなくなりました。 以前、Adobe Commerceはログファイルに例外をスローしていました。
ProductAlert
- 新しい
product_alertコンシューマーは、キューメッセージの作成、コンシューマーの実行、実行時間の短縮により、顧客アラートの送信を改善します。 以前、Adobe Commerceは100,000件を超える商品アラートを送信する際に、メモリ不足の例外をスローしていました。 また、Adobe Commerceでは、すべてのアラートを送信するのに20時間以上かかりました。
製品ビデオ
- ビデオの追加中に不完全なURLを入力すると、Adobe Commerceで保存 ボタンが有効になり、フィールドが自動補完されるようになりました(管理者カタログ > 製品 > ビデオを追加)。 以前は、保存 ボタンは無効になっており、フィールドには入力されていませんでした。
返品商品認証(RMA)
- 管理者返品商品を作成グリッドに、価格を含む税金を表示するように設定されている商品の価格のみを含む税金が表示されるようになりました。 以前、Adobe Commerceは
tax/calculation/price_includes_taxフラグの設定表示設定を確認しませんでした。
レビュー
- 製品リストビューに、製品の正しいスター付き評価が表示されるようになりました。 GitHub-30196
- 買い物客がストアフロント製品ページの レビュー をクリックすると、レビューが期待どおりに表示されるようになりました。
- ストアフロントの商品リストページで、商品スターの評価がグリッドビューとリストビューで一貫するようになりました。 以前は、同じ製品でグリッド表示とリスト表示モードで異なる評価を使用していた場合があります。
報酬
- 報酬ポイントのバランスと報酬ポイントの履歴に、同じバランスが表示されるようになりました。 有効期限が切れたポイントが正しく差し引かれるようになりました。 以前は、報酬ポイントの残高は、期限切れのポイントを正確に反映していませんでした。
- 期限切れの報酬ポイントは、ストアフロントの報酬ポイント履歴グリッドの「理由」セクションで 期限切れ としてマークされるようになりました。
営業担当者
- MariaDB 10.2.34にアップグレードした後、大規模なデータセットを持つテーブルの非同期モードでのセールスグリッド更新のパフォーマンスが向上しました。
- Adobe Commerceは、ストアフロント Account > My Orders > View order ページから期待どおりに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を使用して製品属性を作成しようとすると、Adobe Commerceでエラーが表示されるようになりました。 以前は、製品が想定されるカテゴリにリストされず、Elasticsearch エラーがログに記録されていました。
- GraphQLの検索クエリの後に、人気のある検索語が更新されるようになりました。
- Adobe Commerceは、Elasticsearchの物価指数マッピングに正しい価格フィールドを追加するようになりました。 以前は、web サイト IDではなくストア IDを使用して、誤った価格フィールドがインデックスに追加されていました。
発送
- 配送メールに、現在の配送に関する追跡番号のみが含まれるようになりました。 以前は、注文に複数の配送が含まれている場合、各配送の電子メールには、注文に関連するすべての配送の追跡番号が含まれていました。
- 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は正しいストアドメインにアクセスする場合でも、正しいストアを読み込みませんでした。
サイト全体の分析ツール
- サイト全体の分析ツールに期待どおりにアクセスできるようになりました。 以前は、キーペアが壊れていると、一部のマーチャントがツールにアクセスできなくなっていました。
税
- お客様が複数の住所への配送を選択した後に商品を削除した場合、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テストでこのエラーがスローされなくなりました: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。
-
すべてのモック変数の名前を
Mockサフィックスに変更し、非推奨のObject Manager クラスへの参照を削除することで、重要ではない多数の単体テスト警告を修正しました。 GitHub-33695 -
Magento\Framework\MessageQueue\TopologyTestテストは、RabbitMQ サービスのAWS MQと互換性があります。 以前は、このテストは次のメッセージで失敗しました: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。
翻訳とロケール
UserExpirationバリデーターがde_DEおよびuk_UAロケールで失敗しなくなりました。 以前は、ロケールが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では、管理画面での役職に応じて、関連商品、アップセル商品、クロスセル商品が表示されるようになりました。
Multiselectがモーダルで使用されている場合、.action-closeボタンが正常に機能するようになりました。 以前は、モーダルの.action-closeボタンのCSSを継承していたため、action-closeボタンは機能しませんでした。 GitHub-27240
- 商品ビューのメイン価格フィールドに、「オファー」リッチスニペットが表示されるようになりました。 以前は、このスニペットは、製品ビューの「関連製品」ブロックのこのフィールドに見つからなかったため、Googleの検索結果に誤った価格が表示されていました。 GitHub-34063
- IOSを実行しているデバイスのモーダル高さに関する問題が解決されました。 GitHub-34467
- アクション ドロップダウンメニューがストアフロント全体で正しく配置されるようになりました。 GitHub-31379
- カートとチェックアウトページのナビゲーションに関するアクセシビリティエラーが解決されました。 GitHub-34483
- スクリーンリーダーは、製品ページ上のすべての関連するフォーム要素を読むことができるようになりました。
- ストアフロントカタログ製品ウィジェットの並べ替え順序(カタログ > カテゴリ > 製品)が、管理者で設定された順序と一致するようになりました。 GitHub-27126
- これで、リージョンセレクターが「アカウントを作成」ページで期待どおりに機能するようになりました。 GitHub-30099
- 管理者顧客グリッドに、新しく追加された
dateカスタム属性を含むすべての顧客データが期待どおりに表示されるようになりました。 以前は、date属性セットが列として設定されている場合、Adobe Commerceでエラーがスローされ、管理者カスタマーグリッドが正しく表示されませんでした。
- カタログ/製品の詳細ページの入力ラベルが、入力の目的を正確に反映するように変更されました。 ユーザー入力が不要なフィールドには、アスタリスク付きのラベルは表示されなくなりました。
- リッチテキストエディターツールバーにTab キーを使用してアクセスできるようになりました。
- コントロールのアクセス可能な名前に、ページごとの項目数の表示ラベルのテキストが含まれるようになりました。
- カタログ/製品の詳細ページのテーブルコントロールに、テーブルが折りたたまれたときに表示されるラベルとアクセス可能な名前が追加されました。
- ストアフロント全体のボタンに、ユニークで記述的なアクセス可能な名前が付けられました。 以前は、テキストボタンと隣接する下向き矢印アイコンボタンを持つ分割ボタンは、同じアクセシブルな名前を持っていました。
- 管理者の注文と金額ダッシュボードチャートに 今日 表示オプションを追加し、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
Visual Merchandiser
- ビジュアルマーチャンダイザー 在庫切れを最下部に移動 自動並べ替えオプションは、すべてのシンプルな商品が在庫切れになった場合に、設定可能な商品で期待どおりに機能するようになりました。
- 条件が追加されていない場合、Visual Merchandiser ルールは保存されなくなります。
Web API フレームワーク
- 自己承認済みの顧客リソースに対するweb API リクエストで、永続的なショッピングカートが有効になっている場合に承認エラーがスローされなくなりました。
- PHP 7.3で
\Magento\Framework\Api\AbstractSimpleObjectBuilderの子クラスを使用してオブジェクトを作成できるようになりました。 以前、preg_matchは、Adobe CommerceがPHP 7.3でRedhatでホストされていた際に、この警告メッセージをスローしました:Warning: preg_match(): Compilation failed: unrecognized character follows...。
PUT /V1/guest-carts/:cartId/collect-totalsリクエストによって取得された合計が、正しいshippingMethodによって更新されるようになりました。 GitHub-18508
- REST APIに新しいデシリアライザーを追加すると、他のデシリアライザーが削除されなくなりました。 以前、REST APIは新しいコンテンツタイプを受け入れましたが、APIのCORE定義コンテンツタイプは機能しなくなり、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🔗」にアップグレードした後にダウングレードされた パッケージを参照してください。
問題:Braintreeを通じてApple Payで支払った注文の部分的な払い戻しを提出することはできません。 加盟店が注文請求書から一部払い戻しを行うためのクレジットメモを作成しようとすると、「返金する数量」フィールドは編集できません。 回避策: パッチ 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 — Marketing Automationを参照してください。
コミュニティへの貢献
より多くのMagento Open Source コミュニティに感謝し、このリリースに対する貢献を認めたいと思います。
コミュニティエンジニアリングチーム Magento Contributorsは、月、四半期、年ごとに、最も貢献している個人とパートナーのリストを管理しています。 その貢献者ページから、GitHub上の結合されたPRへのリンクをフォローできます。
パートナーの貢献
次の表は、パートナーによる貢献を示しています。 この表は、プルリクエストに貢献したパートナー、外部プルリクエスト番号、それに関連付けられているGitHub イシュー番号(利用可能な場合)を示しています。
個々の貢献者貢献
次の表に、コミュニティメンバーからの貢献を示します。 この表は、プルリクエストに貢献したコミュニティメンバー、外部プルリクエスト番号、それに関連付けられているGitHub イシュー番号(利用可能な場合)を示しています。
必要システム構成
アドビのテクノロジースタックはPHPとMySQL上に構築されています。 詳しくは、必要システム構成を参照してください。
インストールとアップグレードの手順
Adobe Commerce 2.4.4は、Composerを使用してインストールできます。
移行ツールキット
データ移行ツールは、既存のMagento 1.x ストアのデータをMagento 2.xに転送するのに役立ちます。 このコマンドラインインターフェイスには、検証、進捗状況の追跡、ログ記録、テスト機能が含まれています。 インストール手順については、 データ移行ツールのインストール を参照してください。 データ移行リポジトリ の探索または貢献を検討してください。
Code Migration Toolkitは、既存のMagento 1.x ストア拡張機能とカスタマイズをMagento 2.xに転送するのに役立ちます。 コマンドラインインターフェイスには、Magento 1.xのモジュールとレイアウトを変換するためのスクリプトが含まれています。