プラットフォームの機能強化

Magento Open Source 2.4.6 では、PHP 8.2 がサポートされるようになりました。PHP 8.1 は引き続き完全にサポートされます。

PHP 7.4 のサポートは、このリリースから削除されました。 PHP 7.4 上でMagento Open Source 2.4.6 を実行することはできません。

Magento Open Sourceは、以下をサポートするようになりました。

  • Composer 2.2.xComposer 1.x は削除されました。

  • Redis 7.0.xRedis 6.2 との互換性は残りますが、Redis 6.2 は 2024 年に提供終了になる予定なので、このリリースを Redis 7.0.x と共にデプロイすることをお勧めします。

  • OpenSearch が、Magento Open Sourceのオンプレミスおよびクラウドデプロイメントのデフォルトの検索エンジンとしてサポートされるようになりました。 Magento Open Sourceの独立した検索エンジンとしてサポートされています。 このリリースは OpenSearch v2.x をサポートしており、OpenSearch 2.5 でテストされています。OpenSearch 1.x との互換性は残りますが、このリリースを OpenSearch 2.x で使用することをお勧めします。OpenSearch 2.x を使用して、Magento Open SourceおよびMagento Open Source 2.4.6 を Cloud とオンプレミスの両方にインストールして実行できます 検索エンジンの前提条件

  • Elasticsearch 8.xElasticsearchのアップグレードを参照してください。

  • MariaDB 10.6 (LTS バージョン)。 このリリースはまだ MariaDB 10.4 と互換性がありますが、MariaDB 10.6 にアップグレードすることをお勧めします。

その他のアップグレードと交換

  • DHL スキーマは v6.2 から v10.0 に移行されました。

  • 古いJavaScript ライブラリを最新バージョンに更新し、古い依存関係を削除しました。 これらの変更には後方互換性があります。

  • PHP 7.4 の互換性は、CommerceおよびMagento Open Sourceのコードベースから削除されました。

  • Symfony 依存関係が新しい LTS バージョンにアップグレードされました。 依存関係は次のとおりです。

    • friendsofphp/php-cs-fixer
    • symfony/console
    • symfony/event-dispatcher
    • symfony/finder
    • symfony/process
    • web-token/jwt-framework
  • jquery-migrate は、CommerceおよびMagento Open Sourceのコードベースから削除されました。 GitHub-21406

  • jQuery/fileUpload ライブラリを v10.32 にアップグレードしました。

  • 提供終了に達した Zend フレームワーク (ZF1) コンポーネントは、コードベースから削除されました。 後方互換性のない変更のハイライトを参照してください。

  • Laminas の依存関係は PHP 8.2 をサポートするように更新されました。

  • laminas/laminas-dependency-plugin Composer プラグインが削除されました。 GitHub-36515

  • Zend_Filterlaminas/laminas-filter に置き換えました。

  • web-token/jwt-framework を v3.0.5 にアップグレードしました。 (最新バージョン)

  • allure-framework/allure-phpunit を v2.x にアップグレードしました。

  • Chart-js ライブラリを v3.9.1 にアップグレードしました。

アクセシビリティの更新

このリリースでは、より知覚、操作、理解および堅牢な Venia (PWA)でのストアフロント体験の構築に重点を置いています。 以下のような機能強化が含まれています。

  • Sign in ボタンの視覚的なテキストラベルが、アクセス可能な名前と一致するようになりました。 (ベストプラクティスとしては、UI 要素のアクセシブルな名前は、表示ラベルテキストで始めることをお勧めします)。
  • ストアフロント全体のボタンに、わかりやすいアクセシブルな名前が追加されました。
  • 検索フィルターの Has Video のチェックボックスに、口頭による説明ラベルが追加されました。
  • キーボードのみのユーザーは、ストアフロントのすべてのページ機能にアクセスできるようになりました。 以前は、買い物客は、キーストロークのみを使用してサブナビゲーションリンクにアクセスできませんでした。

Adobe CommerceとAdobe IMSの統合

以下のAdobe IMSモジュールは、Adobe CommerceおよびMagento Open Source コアコードから切り離され、個別のメタパッケージとしてパッケージ化されるようになりました。

  • adobe-ims
  • adobe-ims-api
  • admin-adobe-ims

新しい adobe-ims-metapackage v2.2.0 は、Adobe Commerce 2.4.6 およびMagento Open Source 2.4.6 にバンドルされています。このリリースで変更された機能はありません。

Braintree

  • イタリアとスペインの Pay Later ボタンとバナー(メッセージ)がBraintreeで有効になりました。
  • PayPal Vault を使用した PayLater メッセージが有効になりました。
  • 不正防止と ACH Web フックを追加しました。 Braintreeでリスクの判断が行われると、不正対策 Web フックがトリガーされます。 ACH Web フックは、ACH 支払いのステータスが settled または settlement decline に更新されたときにトリガーされます。
  • LPM (Local Payment Methods) Web フックを追加しました。

GraphQL

GraphQLのパフォーマンスの強化には、次のものが含まれます。

カテゴリ権限を有効にしてカテゴリに対するクエリを実行する際の応答時間が改善されました。 カテゴリ権限が有効で、多数の顧客グループや共有カタログが含まれるカテゴリで製品に対してクエリを実行する際の応答時間が向上しました。 このパフォーマンス向上をサポートするコード変更は次のとおりです。

  • GraphQL リゾルバーの操作が最適化されました。
  • データプロバイダーは、処理される新しい製品ごとに、ランタイムにキャッシュされたデータを再設定しなくなりました。これにより、パフォーマンスが向上しました。
  • GraphQL リゾルバーでの商品の権限処理を最適化しました。 製品の権限が製品コレクションに適用され、代わりに製品ごとに適用されるようになりました。
  • addProductsToCart のバリエーションの共有カタログで読み取られる最適化された権限。
  • 製品の権限が製品のインラインフラグメントで最適化されました。

カテゴリツリーレンダリングのパフォーマンスを最適化categoryList クエリは、多数のカテゴリを持つ顧客をサポートするように最適化されています。 このクエリを使用して最大 5 レベルのネストされたサブカテゴリを持つ 1500 個を超えるカテゴリを検索するマーチャントは、パフォーマンスの向上に気付くでしょう。 コードをリファクタリングしたカテゴリの子の読み込みを改善しました。これにより、不要なメソッド呼び出しが削除され、カテゴリツリーのキャッシュが改善され、カテゴリデータが再帰的に読み込まれるようになりました。 このパフォーマンス向上をサポートするコード変更は次のとおりです。

  • カテゴリモデルのカスタム属性メタデータの取得が改善されました。
  • カテゴリ ID の取得が改善され、getChildren 呼び出しが削減されました。
  • カテゴリの子の読み込みが改善されました。

買い物かごの一括操作のクエリの応答時間の短縮。 製品の追加のミューテーションは、シンプルで設定可能な最大 500 個の製品を追加する際のクエリのパフォーマンスを向上させるために最適化されました。 バンドル製品は影響を受けません。 最適化された突然変異には、addProductsToCartaddConfigurableProductsToCartaddDownloadableProductsToCartaddSimpleProductsToCartaddVirtualProductsToCartaddWishlistItemsToCart および updateCartItems が含まれます。

顧客クエリで順序の並べ替えがサポートされるようになりましたcustomer クエリの orders 出力オブジェクトに、並べ替えフィールドが含まれるようになりました。 オーダーをオーダー番号または作成日で、昇順または降順で並べ替えられるようになりました。

新しい変異:

deleteCustomer

ページビルダー

Page Builder v.1.7.3 は、Magento Open Source 2.4.6 と互換性があります。

PWA Studio

PWA Studio v.13.0.x はMagento Open Source 2.4.6 と互換性があります。アクセシビリティを向上させるための複数の機能強化が含まれています。 バグ修正について詳しくは、PWA Studio リリースを参照してください。 PWA Studioのバージョンと互換性のあるAdobe Commerce コアバージョンのリストについては、 バージョンの互換性を参照してください。

既知の問題

問題:現在、New Relicには PHP 8.2 との互換性がありません。New Relicを実行している環境では、PHP 8.2 ではなく、PHP 8.1 でAdobe Commerce 2.4.6 を実行できます。回避策:PHP 8.2 をサポートする新しいバージョンのAdobe Commerceがリリースされるまで、PHP 8.1 でNew Relic 2.4.6 を実行します。このリリースは 2023 年夏に予定されています。

修正された問題

Magento Open Source 2.4.6 コアコードの何百もの問題を修正しました。

インストール,アップグレード,デプロイメント

  • 複数のロケールと web サイトを使用した標準デプロイメントまたはコンパクトデプロイメントの際に、静的コンテンツのデプロイメントがタイムアウトしたり失敗したりすることはなくなりました。
  • コンパクト戦略で、静的コンテンツのデプロイメント(bin/magento set:static-content:deploy -f --strategy compact)を実行する際に、外部ドメインへの無効な参照が発生しなくなりました。
  • bin/magento setup:di:compile -vvv を(または -v または -vv のオプションを使用して)実行すると、失敗時に情報メッセージが返されるようになりました。 GitHub-35391
  • 既にデータ移行ツール PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34 を実行しているデプロイメントで bin/magento setup:upgrade コマンドを実行すると、Magento Open Sourceで次の例外がスローされなくなりました。 GitHub-35604
  • MySQL 8.0.29 を実行している環境で bin/magento setup:db:status コマンドが失敗しなくなりました。以前は、コマンド出力に、宣言型スキーマが古いことが誤って示されていました。 GitHub-35671
  • composer install コマンドは、.gitignore ファイルを上書きしなくなりました。 GitHub-32888
  • Alpine Linux でアップグレード後にサンプルデータを削除する bin/magento sampledata:remove を実行しても、次のエラーで失敗しなくなりました:Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACEGitHub-36062
  • bin/magento setup:upgrade は、最初の composer install --no-dev の実行後に正常に実行されるようになりました。 GitHub-36351
  • 例外および例外スタックトレースエントリが var/log/exception.log に含まれるようになりました。 GitHub-36054

コマンドラインを使用してパスワードなしで Redis 接続を設定すると、Magento Open Sourceがパラメーター検証エラーをスローするようになりました。

アクセシビリティ

  • チェックアウトワークフローの「Proceed to Checkout」、「Review Order」、「Place Order」ボタンが、キーボード入力で期待どおりに動作するようになりました。
  • TAB または SHIFT + TAB を使用してページコントロール間を移動する際のボタンに対するフォーカスの視覚的表示が、期待どおりに機能するようになりました。

スクリーンリーダー

  • 注文履歴ページのスクリーンリーダーが、正しい画像の説明を読み上げるようになりました。

スクリーンリーダーが以下を読み上げるようになりました。

  • 検索結果で見つかった項目の合計数(期待される
  • ユーザーがキーボードコントロール を使用して正常にログインした際の、ログインしたユーザーの名前
  • 製品検索結果のページヘッダーが、<title> 要素 の正しい値を読み取るようになりました
  • 入力フィールドが必須かどうか
  • アコーディオン要素の現在の状態を修正します(折りたたみまたは展開)
  • ユーザーが「リク Create an account スト」ボタンをクリックした後にページコンテンツが更新された場合

バンドル製品

  • 特定のストア表示の API を介してバンドル製品を更新しても、同じバンドル製品の他のストア表示データが上書きされなくなりました。 以前は、バンドルの製品オプションのタイトルは、他のストアビューの最初のオプションタイトルで上書きされていました。
  • バンドルされた製品を、オランダ語ロケールを使用する場合に、Admin Catalog/Products から正常にフィルタリングできるようになりました。 以前は、Magento Open Sourceが Type: Bundle Product: Something went wrong with processing the default view and we have restored the filter to its original state でフィルターしようとした場合に、このエラーが表示されていました。 GitHub-35704
  • バンドル製品の特別価格が 1000 を超える場合に、製品グリッドが例外をスローしなくなりました。 以前は、SKU で商品を検索したり、Catalog/Products に移動したりすると、Magento Open Sourceが次のエラーをスローしていました。Non Numeric value encountered GitHub-36284
  • バンドルとシンプルな製品が混在する注文のクレジットメモおよび請求書 PDF の列が正しくレンダリングされるようになりました。 以前は、列がゆがんだり、位置がずれたりしていました。
  • BundleProduct フラグメントを含むGraphQL クエリの場合、items.options.product オブジェクトには、想定どおりにデータが含まれます。 以前は、状況によってはオブジェクトが null の場合がありました。
  • Quantity uses decimals が有効な場合に、バンドルオプションの 10 進数の数量が正しくレンダリングされるようになりました。 以前は、分数成分ではなく、数量の整数部分のみがレンダリングされていました。 例えば、数量 1.5 が 1.0 としてレンダリングされました。GitHub-35964
  • GraphQLの製品クエリは、クエリ対象のストアのスコープ内で、バンドル製品オプションのみを返すようになりました。
  • カテゴリに割り当てられていない製品で、バンドルまたはグループ化された製品の製品オプションである製品は、クエリを送信する顧客に対して Allow Category Browsing 設定が有効になっている場合、応答で返されるようになりました。