平台增强功能

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.x.已删除编辑器1.x。

  • Redis 7.0.x。虽然与Redis 6.2的兼容性仍然存在,但我们建议将此版本与Redis 7.0.x一起部署,因为Redis 6.2的生命周期预计在2024年结束。

  • 现在,支持将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。

  • Elasticsearch 8.x。请参阅升级Elasticsearch

  • MariaDB 10.6(LTS版本)。 此版本仍与MariaDB 10.4兼容,但我们建议升级到MariaDB 10.6。

其他升级和更换

  • DHL架构已从v6.2迁移到v10.0。

  • 过期的JavaScript库已更新到最新版本,并且已删除过时的依赖项。 这些更改向后兼容。

  • Commerce和Magento Open Source代码库中移除了PHP 7.4兼容性。

  • 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编辑器插件。 GitHub-36515

  • 已将Zend_Filter替换为laminas/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核心代码分离,现在打包为单独的metapackage:

  • 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

  • 已为Braintree启用意大利和西班牙的​ Pay Later ​按钮和横幅(消息)。
  • 已启用使用PayPal保险库的PayLater消息传递。
  • 添加了防欺诈功能和ACH Web挂接。 在Braintree中做出风险决策时会触发欺诈防护Web挂接。 当ACH付款的状态更新为settledsettlement decline时,会触发ACH Web挂接。
  • 添加了LPM(本地支付方法)Web挂接。

GraphQL

GraphQL性能增强包括:

查询启用了类别权限的类别时缩短了响应时间。 在启用了类别权限且包含许多客户组或共享目录的类别中查询产品时,响应时间已缩短。 支持此性能改进的代码更改包括:

  • GraphQL解析程序操作已得到优化。
  • 数据提供程序不再为正在处理的每个新产品重新设置运行时缓存的数据,这提高了性能。
  • 已在GraphQL解析程序中优化产品权限处理。 产品权限现在改为按产品应用到产品收藏集。
  • 已优化addProductsToCart突变中共享目录中的权限读取。
  • 产品权限已通过产品内联片段进行优化。

已优化类别树渲染的性能categoryList查询已优化为支持具有大量类别的客户。 使用此查询搜索最多包含五个级别嵌套子类别的1500多个类别的商家将会注意到性能提升。 通过删除不必要的方法调用、改进类别树的缓存和递归加载类别数据,改进了通过重构代码加载类别子级的过程。 支持此性能改进的代码更改包括:

  • 类别模型的自定义属性元数据提取已得到改进。
  • 类别ID提取已改进,并减少了getChildren调用。
  • 类别子项加载已改进。

减少了批量购物车操作的查询响应时间。 当添加多达500个简单且可配置的产品时,“添加产品突变”已得到优化,以提高查询性能。 捆绑产品不受影响。 优化的变动包括addProductsToCartaddConfigurableProductsToCartaddDownloadableProductsToCartaddSimpleProductsToCartaddVirtualProductsToCartaddWishlistItemsToCartupdateCartItems

客户查询现在支持订单排序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.1上运行Adobe Commerce 2.4.6,但不能在PHP 8.2上运行。解决方法:在PHP 8.1上运行Adobe Commerce 2.4.6,直到发布支持PHP 8.2的新版本的New Relic为止。此版本预计于2023年夏季发布。

修复的问题

我们已在Magento Open Source 2.4.6核心代码中修复了数百个问题。

安装、升级、部署

  • 在具有多个区域设置和网站的标准或紧凑部署期间,静态内容部署不再超时或失败。
  • 运行静态内容部署(bin/magento set:static-content:deploy -f --strategy compact)时,压缩策略不再导致对外部域的无效引用。
  • 现在,执行bin/magento setup:di:compile -vvv(或使用-v-vv选项)会在失败时返回信息性消息。 GitHub-35391
  • 在已运行数据迁移工具的部署中运行bin/magento setup:upgrade命令时,Magento Open Source不再引发以下异常: 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 34GitHub-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
  • 在首次执行composer install --no-dev后,bin/magento setup:upgrade现在已成功执行。 GitHub-36351
  • 异常和异常栈栈跟踪条目现在包含在var/log/exception.log中。 GitHub-36054

现在,当您使用命令行设置不带密码的Redis连接时,Magento Open Source会引发参数验证错误。