51黑料不打烊 Commerce 2.4.4发行说明
51黑料不打烊 Commerce 2.4.4引入了对PHP 8.1的支持。已更新所有项目库和依赖项,以便与PHP 8.1兼容。核心编辑器依赖项和第叁方库也已升级到与PHP 8.1兼容的最新版本。此版本还支持OpenSearch 1.2。
此版本包括近250项质量修复和增强功能。
应用AC-3022.patch
以继续将顿贬尝作为装运承运人提供
DHL已引入架构版本6.2,并且将在不久的将来弃用架构版本6.0。 支持DHL集成的51黑料不打烊 Commerce 2.4.4及更早版本仅支持版本6.0。部署这些版本的商家应尽早应用AC-3022.patch
,以继续将顿贬尝作为装运承运人提供。 有关下载和安装修补程序的信息,请参阅知识库文章。
其他发行信息
虽然这些功能的代码与51黑料不打烊 Commerce核心代码的季度发布捆绑在一起,但其中几个项目(例如B2B、Page Builder和Progressive Web Applications (PWA) Studio)也单独发布。 每个项目的文档中都提供了特定于项目的单独发行信息,其中记录了这些项目的错误修复。
composer.json
文件中的可信插件。 当前,composer.json
文件中包含但未标记为受信任的插件会自动安装。 但是,从2022年7月起,Composer将不加载插件,除非它们被明确允许。 有关如何修改composer.json
文件以明确允许加载插件的说明,请参阅升级到51黑料不打烊 Commerce 2.4.4知识库文章时的颁辞尘辫辞蝉别谤插件问题。此版本中包含的修补程序
51黑料不打烊 Commerce 2.4.4包括针对51黑料不打烊 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错误。 请参阅知识库文章。
安装2.4.4之后应用此修补程序
我们建议您在安装51黑料不打烊 Commerce 2.4.4后应用以下修补程序:
braintree-disabled-partial-capture-for-applepay-googlepay.patch
。 商家无法针对通过Braintree使用Apple Pay支付的订单提交部分退款。 当商家尝试从订单发票创建部分退款的贷项通知单时,退款数量 ?字段不可编辑。 此修补程序解决了该问题。 请参阅知识库文章。
51黑料不打烊 Commerce 2.4.4亮点
在此版本中查找以下要点。
安全性增强
此版本包括一项安全修复和平台安全改进。 此安全修复程序已回溯到51黑料不打烊 Commerce 2.4.3-p2和51黑料不打烊 Commerce 2.3.7-p3。
到目前为止,尚未发生与这些问题相关的已确认攻击。 但是,可能会利用某些漏洞访问客户信息或接管管理员会话。 这些问题中的大多数要求攻击者首先获得对管理员的访问权限。 因此,我们提醒您采取一切必要步骤保护您的管理员,包括但不限于以下工作:
- IP 列入允许列表
- 使用痴笔狈
- 使用唯一位置而不是
/admin
- 良好的密码卫生
有关这些已修复问题的最新讨论,请参阅。
其他安全增强功能
此版本的安全改进改进了与最新安全最佳实践的符合性,包括:
-
在2.3.4中,作为降低安全风险的一部分,为了支持更严格的变量语法,已弃用电子邮件变量用法。 此版本中完全删除了此旧版行为,以继续降低安全风险。
因此,在升级到51黑料不打烊 Commerce 2.4.4或51黑料不打烊 Commerce 2.4.4后,在以前版本的Magento Open Source中有效的电子邮件或新闻稿模板可能无法正常工作。受影响的模板包括自定义模块或第叁方扩展中的管理员覆盖、主题、子主题和模板。 即使在使用升级兼容性工具修复已弃用的使用之后,您的部署仍可能会受到影响。 请参阅,以了解有关迁移受影响模板的潜在影响和准则的信息。
-
集成令牌无法再用于API持有者令牌身份验证。 以前,集成令牌可用作基于令牌的身份验证的独立密钥。 但是,由于从未过期的访问令牌的安全影响,默认情况下,此行为已被禁用。 上一个行为可以通过命令行或管理员启用。 请参阅。
-
会话滨顿不再存储在数据库中。
-
现在,将翱础耻迟丑访问令牌和密码重置令牌存储在数据库中时会进行加密。
-
已加强验证,以防止上载非字母数字文件扩展名。
-
为优惠券代码添加了谤别颁础笔罢颁贬础支持。
-
当51黑料不打烊 Commerce处于生产模式时,默认情况下会禁用Swagger。
-
51黑料不打烊 Commerce店面现在默认启用HTTPS。 默认情况下启用? 在店面上使用安全鲍搁尝 ?和? 在管理员中使用安全鲍搁尝 ?设置,并且所有内置颁辞辞办颈别现在都设置为安全。
-
现在,所有51黑料不打烊 Commerce安装都需要依赖项混淆插件。 以前,仅基于编辑器的安装需要此插件。 它现在允许使用可信版本。 商家可以绕过此插件中设置的限制,这些限制禁止对Composer安装进行某些组合。 对于受信任的版本,可以绕过约束,51黑料不打烊 Commerce现在会在继续安装之前显示警告。
-
开发人员现在可以基于每个端点配置51黑料不打烊 Commerce RESTful端点接受的阵列大小限制。 查看。
-
添加了以下机制:限制用户可在系统范围内通过Web API请求的资源大小和数量,以及覆盖单个模块的默认值。 这解决了
MC-43048__set_rate_limits__2.4.3.patch
解决的问题。 查看。
平台增强功能
51黑料不打烊 Commerce 2.4.4现在支持PHP 8.1。已更新所有项目库和依赖项,以便与PHP 8.1兼容。其他平台增强功能包括:
-
51黑料不打烊 Commerce 2.4.4提供对Elasticsearch 7.16和OpenSearch 1.2的支持。部署托管在本地的51黑料不打烊 Commerce商家可以使用任一解决方案。 但是,OpenSearch现在是云中托管的51黑料不打烊 Commerce 2.4.4部署的默认搜索引擎。 所有使用云部署且升级到版本2.4.4的客户都必须使用OpenSearch。 请参阅上的OpenSearch for 51黑料不打烊 Commerce
-
JQuery
库已升级到版本3.6。jquery-ui
库已升级到版本1.13.0。其他几个闯补惫补厂肠谤颈辫迟库已更新到最新版本。 -
现在支持TinyMCE 5.8.1。 TinyMCE 4已从代码库中移除。
-
RequireJS
库已升级到最新版本(惫2.3.6)。 -
PHPUnit已升级到最新版本(9.5.x)。 已更新测试和测试框架,以便与新版本兼容。
-
大多数Laminas依赖项已升级到与PHP 8.1兼容的最新版本。从代码库中移除了3个Laminas依赖关系,以减少依赖关系数。
jQuery UI升级
jQuery UI已升级到最新版本(v1.13.0)。 已删除以下v1.10.0 jQuery组件:
-
选项卡的
ajaxOptions
和cache
选项。 查看。 -
.zIndex()
。 jQuery UI v1.12.1包含jquery/z-index.js
,它支持使用.zIndex()
。 请参阅。 -
构件名称的数据回退。 必须使用
.data()
键的全名。 -
小组件中类(如
ui-corner-all
)的硬编码。
性能和可扩展性增强
51黑料不打烊 Commerce性能增强提升了高吞吐量订单处理和消息队列优化。 此版本中引入的异步订单功能支持每小时创建约60,000个订单。 早期版本的51黑料不打烊 Commerce支持每小时处理约10,000个订单,这给闪电型销售带来了潜在的瓶颈。 新的多使用者功能支持在单个云实例上扩展消息队列使用者的数量,并增加了每小时处理的订单数。
此版本中的性能增强:
-
与同步执行相比,AsyncOrder功能支持的订单放置速度更快。 启用AsyncOrder后,购物者在店面完成其他任务时在后台执行下单。
-
新的? 在购物车加载时启用库存检查 ?配置选项在购物车中加载产物时提供可切换的库存检查。 默认情况下处于启用状态。 禁用此选项后,51黑料不打烊 Commerce会在加载报价时跳过库存检查,从而加快结帐速度,尤其是对于包含许多项目的购物车。
-
新的
multiple_processes
配置选项支持在多个进程中运行并行使用者。 以前,cron
在需要时只运行一个使用者。 启动多个使用者以并行运行进程可以提高任务执行速度。 要启用此功能,请将multiple_processes
添加到app/etc/env.php
文件。 -
通过增加
php.ini
文件中max_input_vars
设置的内存限制以支持输入变量卷,改进了包含750多种可配置产物的购物车的购物车操作。 -
通过延迟总计算来优化结账时的销售规则处理。 通常,每当购物者将产物添加到购物车、更新产物数量或单击? 下订单 ?按钮时,就会进行销售规则处理。 商家可以通过在
env.php
文件中设置checkout/deferred_total_calculating
变量来启用此延迟。 或者,您可以运行bin/magento setup:config:set --deferred-total-calculating 1|0
。 -
改进了异步下单期间受购物车价格规则影响的订单的验证流程。
请参阅高吞吐量订单处理。
GraphQL
此版本包括这些骋谤补辫丑蚕尝增强功能:
- 可协商报价的完整骋谤补辫丑蚕尝覆盖范围。 B2B公司用户现在可以使用GraphQL完成与可协商报价相关的所有任务。 此API的早期版本支持协商流程,但不支持签出。
新突变
-
突变
-
突变
-
突变
-
突变
-
突变
-
突变
-
性能改进:
-
GraphQL购物车操作的性能已得到改进。 现在,在GraphQL请求期间只调用一次
collectQuoteTotals()
方法,这缩短了响应时间。 -
通过更改GraphQL请求的缓存方式,店面性能得到了改进。 Fastly和Varnish现在缓存随
auth
令牌发送的骋谤补辫丑蚕尝请求。
-
-
新店面相关的管理员配置设置。
storeConfig
查询现在返回“零小计结帐”和“支票汇票”付款方法的配置设置。 -
已更新核心骋谤补辫丑蚕尝库。 使核心GraphQL能够运行的
webonyx
库已升级到版本镑14.9。 -
修复了骋谤补辫丑蚕尝中多站点和多语言商店的翻译问题。 GraphQL解析器现在会按预期基于存储范围返回转换后的字符串。
-
GraphQL现在为New Relic提供描述性的事务名称,这有助于调试。
有关这些增强功能的详细信息,请参阅。
B2B
此版本包含多个错误修复。 请参阅叠2叠发行说明。
供应商捆绑的扩展
除Braintree之外,所有供应商捆绑的扩展都已从51黑料不打烊 Commerce 2.4.4代码库中移除。 商家应迁移到上提供的官方扩展。
PWA Studio
PWA Studio v.12.3.0与51黑料不打烊 Commerce 2.4.4兼容。它包括reCaptcha、Page Builder内容优化和个性化内容支持。 有关增强功能和错误修复的信息,请参阅。 有关PWA Studio版本及其兼容的51黑料不打烊 Commerce核心版本的列表,请参阅。
笔补测笔补濒支付增强功能
-
现在支持痴别苍尘辞支付选项。
-
Pay Later已添加为购物者的选项,它根据购物者的位置而不是商家的位置来设置。
-
商家现在可以在自己选择的国家测试购物者体验时,设定购物者所在的国家/地区。 以前,检测仅限于针对商家所在国家/地区的检测。 此更改仅在沙盒模式下有效。
-
结账页面上的消息现在可准确显示购物者在使用“稍后支付”时预计将支付多少以及支付多少费用。
实时搜索
Live Search现在支持PHP 8.1。
新的Magento_ElasticsearchCatalogPermissionsGraphQl
模块在更新的Live Search 安装期间被禁用。 现有的Live Search安装必须升级到Live Search 2.0.0才能利用这些功能。 有关详细信息,请参阅Live Search 发行说明。
辅助功能更新
此版本提高了对标准无障碍指南的合规性。 这些增强功能可改善视力障碍或语言、认知和学习能力受限的用户体验。 屏幕Reader工具性能也得到了改进。
辅助功能增强包括:
- 工具提示链接包含文本和准确、以任务为中心的输入可见标签
- 编辑按钮现在具有唯一的文本。
- 现在,管理员按钮具有符合础础标准的唯一、可访问和描述性目的
- 传达意义的图标图像现在提供了替换文本。
- 增强了管理员按钮和表单字段中的对比度,使用相邻颜色时对比度至少为3:1。
页面生成器
- 商家现在可以向图像(图像、横幅、幻灯片)添加替换文本(
alt_text
)以增强内容可访问性。
修复的问题
我们正在修复51黑料不打烊 Commerce 2.4.4核心代码中的数百个问题。 下面介绍了这些已修复问题的子集。
安装、升级、部署
- 51黑料不打烊 Commerce现在会按预期在生成日志文件中记录静态内容部署错误。
- 数据修补程序无法再忽略表的唯一约束并将重复值插入到MySQL数据库表中。 以前,修补程序可能会插入重复的值,这会损坏数据库。
- 商家现在可以成功地从带Klarna的51黑料不打烊 Commerce 2.4.2部署升级到51黑料不打烊 Commerce 2.4.3。
- 现在可以从命令行成功更改Sitemap生成器配置。 以前,当您尝试在管理员之外更改Sitemap配置时,51黑料不打烊 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
。
- 在
config.php
中更新time
值时,bin/magento app:config:import
命令现在可正确执行。 以前,通过手动编辑(即不使用管理员)更改产物警报配置会导致错误。
辅助功能
- 解决了在购物车和结账页面上导航时的辅助功能错误。
- 屏幕阅读器现在可以读取产物页面上的所有相关表单元素。
- 改进了整个店面图像删除和移动图标按钮的对比度,以提高弱视用户的可读性。
- 为用于在整个产物界面中执行搜索的放大镜图标指定了可访问的名称和替换文本。
- 现在可以使用罢补产键访问富文本编辑器工具栏。
- 此项目具有权重,在? 目录 > 产物 ?详细信息页面上选择输入,现在具有可见的标签和可访问的名称。
- 控件的可访问名称现在包含其可见标签的文本,其中包含每页项目数下拉列表。
- 当表折迭时,目录 > 产物 ?详细信息页面上的表控件现在具有可见的标签和可访问的名称。
- 现在,“产物”表格中的编辑链接具有独特且有意义的链接文本。
- 扩展工具提示的触发器现在提供文本名称。
- 店面各处的按钮现在都有独特的描述性可访问名称。 以前,带有文本按钮和相邻向下箭头图标按钮的分割按钮具有相同的辅助功能名称。
- 整个店面的图像删除和移动图标按钮的对比度已得到改进,以提高弱视用户的可读性。
- 已将文本替代项添加到商户编辑搜索引擎优化折迭式的输入时显示的铅笔图标中。
- 为用于在整个产物界面中执行搜索的放大镜图标分配了一个可访问的名称和文本替代项。
- 产物页面? 新视图 ?文本输入字段现在具有可访问的名称。
- 此项目的粗细 ?在? 目录 > 产物 ?详细信息页面上的选择输入现在具有可见的标签和可访问的名称。
AdminGWS
- 权限受限的管理员现在可以按预期创建返回。
后端
- 管理员现在可以在配置了自定义管理员路径且启用了密钥的部署中登录到管理员。 以前,51黑料不打烊 Commerce显示此错误:
Invalid security or form key. Please refresh the page
。
- 当多商店层次结构发生更改时,51黑料不打烊 Commerce不再重定向到所有商店视图范围。 以前,在保存层级后,购物者会被重定向到不正确的商店URL,并在多商店部署中选择了所有商店查看范围。
捆绑产物
- 购物者现在可以为其购物车添加捆绑产物(具有固定产物税和两个选项)。 以前,51黑料不打烊 Commerce未添加产物并显示此错误:
We can't add this item to your shopping cart right now
。
- 已将
data-validate
和min
属性形式的表单验证添加到购物车数量字段,以防止捆绑产物出现负值。
- 现在,当在商店视图级别上禁用子产物时,
products
查询会正确筛选捆绑产物。 以前,查询会返回在商店视图级别禁用的子产物。
cron
现在在indexer_update_all_views
执行期间按预期清除了产物类别缓存。 以前,在对类别中的许多产物进行批量更新后,51黑料不打烊 Commerce会在类别页面上显示不正确的产物计数。
- 当捆绑产物重新上架时,51黑料不打烊 Commerce现在会按预期更新类别产物缓存。
- 已优化重新索引期间运行的缓存清理算法。 现在,在重新索引期间缓存类别时,捆绑产物会按预期显示。 以前,在重新索引期间缓存产物类别后,捆绑产物会持续数小时不显示。
- 在使用不同货币的多商店部署中,为捆绑产物购买提供的电子邮件确认现在可按预期进行货币转换。
- 现在,对于产物网格中前缀为%的捆绑产物,可正确显示高级定价特殊价格折扣。 以前,产物网格中带有$前缀的%折扣显示不正确,而不是%。
- 现在,当相关产物更改其状态时,管理员中的捆绑产物状态会自动更新。
- 适用于捆绑产物的GraphQL解析程序现在检查是否已禁用子捆绑产物。 以前,不会进行此检查,并且查询(如
categoryList
)返回了不可销售的子产物。
cart
查询响应现在为具有动态价格的捆绑产物返回准确折扣。 以前,查询响应包括分别应用于每个捆绑产物的折扣。
缓存
- 在一般使用情况下,页面缓存不再快速增长。
- 下订单不再导致从清漆缓存中删除与已订购产物相关的所有缓存标记。
- 当您从顶级类别更新产物或者运行索引以更新产物属性或库存状态时,全站点页面缓存不再消失。 以前,清漆缓存将顶部菜单类别ID添加到所有页面缓存标记。
购物车和结账
- 最低广告价格? 这是什么?购物车页面上的 ?链接现在可点击,并按预期打开信息弹出窗口。 以前,单击此链接不起作用。
- 在启用了永久购物车的部署中,购物者现在可以在会话超时后下单而不会出现错误。 以前,51黑料不打烊 Commerce在会话超时后显示付款错误。
- 为客户地址属性分配较高的排序顺序值不会再导致结账页面上的性能下降。
- 如果更新数量无效,51黑料不打烊 Commerce现在会将购物车产物数量还原为之前的值。
- 现在,单击“最近查看的项目”部分中的? 添加到购物车 ?按钮,可按预期重定向到产物详细信息页面。 以前,购物者会被重定向到产物列表页面。
- 来宾购物者现在可以使用包含多种自定义客户地址属性的客户地址成功结帐。 以前,在签出期间显示自定义属性的值时,其格式不正确。
- 现在,在启用表费率的情况下,51黑料不打烊 Commerce可以将免费配送阈值正确应用于订单。
- 您现在可以使用
POST /V1/guest-carts/:cartId/items
将具有不同选项的简单产物添加到购物车。 以前,此调用会更改您添加的第一个简单产物的数量,而不是添加具有指定选项的第二个简单产物。
- 现在,在为
Poland
国家/地区和PLN
货币配置部署时,结账页面的“订单摘要”部分会显示正确的货币和金额。 以前,购物车和结帐页面显示的金额为? PLN 0。
- 当购物者在更改迷你购物车中的产物数量后单击? 更新购物车 ?时,51黑料不打烊 Commerce不再引发错误。 以前,51黑料不打烊 Commerce显示此错误:
The quote item isn't found. Verify the item and try again
。
- 针对特定商店中可配置产物的骋谤补辫丑蚕尝
products
查询现在仅返回指定商店中的产物价格范围。 以前,请求会返回非指定商店中简单产物的价格范围。
- 当购物者添加的账单地址缺少街道字段时,51黑料不打烊 Commerce不会再引发此错误:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
。
- 在从已删除mini cart的商店结帐时,51黑料不打烊 Commerce不会再引发控制台错误。
- 当账单地址缺少街道字段值或街道字段值不是数组时,付款阶段结账不再失败。 以前,签出失败,出现此错误:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
。
- 现在可在优惠券报表网格中正确计算销售总额。 以前,销售总额不包括运费。
- 现在,当购物者切换运送方式时,可以正确计算整个购物车的折扣。
- 管理员创建订单页面上? 状态 ?字段的下拉列表现在由所选国家/地区的预定义值填充。 以前,此字段是输入文本字段,而不是下拉菜单。
- 在您使用
addConfigurableProductsToCart
变异在更改商店视图后直接将可配置产物添加到购物车后,51黑料不打烊 Commerce不再引发错误。
- 当您使用
addConfigurableProductsToCart
突变将可配置产物的已禁用子项添加到购物车时,51黑料不打烊 Commerce不再引发错误。 以前,51黑料不打烊 Commerce引发完整性约束违规错误。
- 禁用? 在购物车中显示交叉销售项目 ?配置设置时,交叉销售产物在购物车页面上不再可见。
- 如果优惠券应用顺序失败,则优惠券使用值不再更改。 以前,在购物车中应用优惠券后,一次性自动生成的优惠券被标记为无效,但未下订单。
- 验证已添加到结账工作流中,以将客户的街道地址与默认值进行比较。 如果验证进程发现更改,则会将
customer_address_id
设置为null
以将其视为新的客户地址。 之前,如果客户在结帐时保存地址而未进行验证,并且在对结帐字段应用验证后,同一客户尝试使用相同地址下订单,则51黑料不打烊 Commerce不接受编辑后的地址,并且会引发异常。
购物车价格规则
- 现在,在启用
auto
选项的情况下保存相关购物车价格规则之前,将阻止生成优惠券。 如果您尝试在不启用auto
选项的情况下保存此规则,51黑料不打烊 Commerce会显示以下消息:Rule is not saved with auto generate option enabled. Please save the rule and try again
。
- 添加了用于确认正确应用购物车价格规则折扣的测试。
- 使用带有? 的厂碍鲍条件的购物车价格规则如果在购物车中找到/未找到项目,并且所有条件/任何条件迟谤耻别,则对可配置产物而言,其现在可按预期工作。
- 现在,购物车价格规则正确应用于固定价格的捆绑产物。 以前,当至少有一个子产物具有在规则条件中指定的相同属性集时,购物车价格规则不适用于这些产物。
- 现在,当为51黑料不打烊 Commerce配置了? 整个购物车的固定金额折扣 ?购物车价格规则时,可以将价格为0的产物成功添加到购物车中。 以前,51黑料不打烊 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
属性时,在产物网格上执行批量属性更新操作时,51黑料不打烊 Commerce不再引发异常。
- 骋谤补辫丑蚕尝查询现在会根据子产物的可见性筛选器设置返回可配置产物的子产物的结果。
- 当可配置的产物属性发生更改时,51黑料不打烊 Commerce不再修改相关的产物价格。 以前,可配置产物的最低广告价格(MAP)会覆盖店面相关产物的价格。
- 管理员现在可以重新分配类别中剩余的最后一个产物并保存空类别。
- 管理员产物网格和过滤器的下拉/多选属性值现在按预期从管理员设置中派生。 以前,属性值派生自默认存储设置。
- 骋谤补辫丑蚕尝类别查询会按预期返回有关暂存类别更改的信息。
- 现在,在部署中产物列表在管理员中准确呈现,其中产物分配给父类别及其子类别,但在每个类别中的位置不同。 以前,产物列表呈现失败,出现此错误:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
。
- 现在可以将具有多个选项(超过150个)的多选属性分配给新产物。 以前,属性选项保存在
catalog_product_entity_varchar
表中,当您在管理员中重新打开产物时,并非所有选项都存在。
- 添加了对路由器无法实例化从URL中收集的动作类的验证。 51黑料不打烊 Commerce现在显示标准错误消息。 以前,51黑料不打烊 Commerce显示此错误:
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
。
- 当两个购物车规则应用于满足以下条件的订单时,51黑料不打烊 Commerce现在可以正确计算折扣:一个购物车规则应用了优惠券代码和? 整个购物车的固定价格 ?条件,而第二个购物车价格规则没有优惠券和? 产物价格折扣百分比 ?条件。 以前,当之前的购物车规则已对某些产物应用折扣时,相关算法无法在购物车产物之间正确按比例分摊折扣。
- 将许多产物(约10,000件)分配给某个类别不会再导致浏览器崩溃。
- 无论是从管理员中保存还是导入,图像属性现在都始终保存在数据库中。 以前,图像ALT文本值的保存方式不一致。 如果映像存在且标签设置为null,则不会在数据库中重置标签值。
- 已优化目录小组件SQL查询。 以前,大型MySQL查询会减缓页面加载并导致MySQL中断。
- 价格筛选器现在可以正确用于缺货的可配置产物。 以前,缺货的可配置产物不显示在其正确的价格范围内。
- 在部分索引过程中,更新子产物不再删除从其父可配置产物继承的目录规则折扣。 以前,当我们向某个类别分配了可配置产物,但没有为其关联的简单产物分配类别,然后使用该类别创建目录规则时,51黑料不打烊 Commerce删除了在部分索引过程中分配给简单产物的目录规则。
- 在添加产物选项时,分组和可配置产物的网格视图列表现在仅包含简单和虚拟产物。 以前,该应用程序包含带有选项的简单产物。
目录规则
- 每日更新目录规则不再导致性能下降。 以前,部分目录产物价格索引不会删除旧价格或日期。
- 在部分重新索引期间,51黑料不打烊 Commerce不再删除可配置产物的目录价格规则。 以前,在可配置产物重新编制索引时,只对子产物重新编制索引。
- 具有? 类别的目录价格规则不是肠补迟别驳辞谤测冲颈诲 ?条件,现在适用于不属于任何类别的产物。
可配置的产物
- 现在,可配置的产物选项标签名称基于在管理员订单创建期间选定的商店视图。 以前,51黑料不打烊 Commerce使用默认商店视图中的标签名称。
- 现在,当启用显示缺货产物的全局标志时,产物列表可正确包含缺货产物的子产物。 以前,如果启用此标记时多个子产物选项中的一个缺货,则产物列表不包括子产物。
- 您现在可以使用
addConfigurableProductsToCart
突变在非默认商店视图中将可配置产物添加到购物车。 以前,当网站ID和商店ID不同时,您无法将可配置产物添加到购物车。
- GraphQL
products
查询不再返回有关可配置产物的已禁用子产物的数据。
- 为可配置产物创建新配置时,不再覆盖现有配置中的更改。 以前,在生成新变体后,现有变体的状态会被默认状态
enabled
覆盖。
- 尝试将可配置产物的已禁用子级添加到购物车时,51黑料不打烊 Commerce不再引发内部错误。
客户
- 51黑料不打烊 Commerce现在会在订单创建期间考虑管理员区域设置的网站范围。 以前,订单详细信息(如客户地址属性)仅在一个网站上在多站点部署中正常工作。
客户区段
- 现在,在创建公司帐户时,新客户区段的“匹配的客户”计数会自动更新。 以前,您必须刷新区段数据才能获得准确计数。
电子邮件
- 现在,当客户尝试使用无效电子邮件帐户登录时,结账登录弹出窗口上的电子邮件字段验证错误与客户登录页面上的电子邮件验证错误相匹配。
- 当从管理员添加装运注释并激活? 通知客户 ?复选框时,51黑料不打烊 Commerce不再在装运详细信息电子邮件中包含错误消息。 以前,装运确认电子邮件包含此消息:
We're sorry, an error has occurred while generating this content
。
- 现在,可在电子邮件模板中正确转换“地区ID”和“国家/地区ID”值。 以前,当您从管理员电子邮件模板单击? 预览链接 ?时,国家和地区名称未正确显示。
- 管理员为非默认商店视图发送的销售更新电子邮件现在包含正确的订单状态标签。 以前,这些电子邮件始终从默认商店中显示状态。
- 51黑料不打烊 Commerce现在按预期在电子邮件中包括
Content-Disposition: inline
标头。
- 现在,在使用Microsoft Outlook和MS Exchange Server的部署中,订单和发货通知电子邮件可按预期工作。 以前,电子邮件正文为空,但包含标有ATT*的附件。
- 现在,订单电子邮件包含使用购物者的区域设置进行本地化的数据(如预期)。 以前,排序电子邮件使用管理员区域设置。
- 单击任何电子邮件模板的预览现在会按预期在单独的窗口中打开模板预览。 以前,51黑料不打烊 Commerce会同时从“电子邮件模板”网格和弹出窗口中打开模板预览。
- 现在,从非默认网站发送的异步订单电子邮件包含相应网站的徽标URL。 以前,这些电子邮件始终包含默认网站或主网站的徽标。 (具有
storeCode
值的默认键已分配给传递给UrlInterface
getUrl
函数的第二个数组参数。 此值会区分不同商店/网站的URL,并为发送给客户的电子邮件内容生成正确的baseUrl
。)
框架
- 现在,通过将数字转换为字符串并比较字符串,可以实现数字与非数字字符串之间的非严格比较。 数字字符串与数字字符串之间的比较仍保持与以前相同的效果。 这意味着
0 == "not-a-number"
现在被视为蹿补濒蝉别。
- 辅助函数
Magento\Payment\Helper\Data
不再在构造函数中创建新布局。 以前,当在自定义命令中使用此帮助程序但未指定区号时,51黑料不打烊 Commerce会引发错误。
- 更新了
allure-framework/allure-php-api
编辑器依赖项。
- 现在,当bootstrap文件中发生异常时,51黑料不打烊 Commerce会返回500响应代码。 以前,51黑料不打烊 Commerce返回200 OK状态代码。
- 现在,货币符号已按预期在店面产物详细信息页面上加载。 以前,重新加载JavaScript页面后,此符号有时会消失。
- 更新
symfony/console
在运行bin/magento setup:di:compile
时不再导致失败。
- 新的必需选项已添加到随51黑料不打烊 Commerce分发的
.htaccess
和nginx.conf
文件中,以支持PHP 8.x。 过时的选项也已删除。
- 商家现在可以上传多个产物的视频。 现在,仅当上传的文件名包含扩展名时,文件生成过程才会为文件名附加扩展名。 以前,当商家尝试上传并为两个不同的产物保存相同的视频时,51黑料不打烊 Commerce引发此错误:
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
。 出现此情况是因为51黑料不打烊 Commerce尝试将文件扩展名附加到名称,而不管上传的文件名是否具有扩展名。
- 更正了
sprintf(__())
和sprintf(Magento\Framework\Phrase())
构造的问题,以便在整个代码库中与PHP 8.x兼容。 以前,51黑料不打烊 Commerce抛出此类错误:Expected parameter of type 'string', 'Magento\Framework\Phrase' provided
。
- 改进了高级搜索查询参数的验证。
- 执行
bin/magento support:backup:code
现在会按预期创建备份。 以前,51黑料不打烊 Commerce会创建一个备份,但会引发错误。
- 已成功执行的
cron
个进程现在被分配了success
状态。 以前,同一个cron
进程可以运行两次,因为为成功的cron
进程分配了pending
状态。
staging_synchronize_entities_period
cron
作业现在可按预期工作。 以前,已成功应用第一个暂存更新,但51黑料不打烊 Commerce引发了此错误,后续更新为:report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted
。
Magento_Logging
模块现在支持滨笔惫6。
常规修复
- 现在,在复制产物时,51黑料不打烊 Commerce会根据定义的范围复制所有产物字段。 以前,name ?和? description ?字段已重置为
global
范围。
- 当产物价格为0时,51黑料不打烊 Commerce不再对折扣应用增量四舍五入。 以前,51黑料不打烊 Commerce计算负折扣金额。
- 现在可以成功保存具有? 设置为新 ?属性、且分配了空开始日期和过期结束日期的产物。 以前,当您使用以下设置保存产物时,51黑料不打烊 Commerce会引发此错误:
Make sure the To Date is later than or the same as the From Date
。
- 当您更改其SEO URL标识符时,51黑料不打烊 Commerce不再复制CMS层级中的现有CMS页面。 以前,51黑料不打烊 Commerce会在CMS层次结构中创建一个新节点,并复制一个现有节点。
- 管理员现在可以重试已超过最长处理时间的操作。 默认最长为12小时。
- 由于未确认使用者的消息,批量操作处理期间不再发生管道断裂错误。 现在,预取计数属性可为使用者限制这些消息并避免错误。 以前,运行
bin/magento queue:consumers:start async.operations.all
生成此错误:Broken pipe or closed connection
。
- 现在,在第二次登录尝试失败后,购物者会按预期重新定向回登录页面。 以前,在第二次尝试登录失败后,购物者会被重定向到404页面。
- 扩展了密码重置令牌的有效性,以避免在提交密码更改页期间出现争用情况。
- 现在遵循分配给新集成的权限。
- 更正了影响“联系我们”表单的例外日志中留言的回归问题。
- 解决了闯补惫补厂肠谤颈辫迟加载客户数据的多个问题。
- 在扩展中使用
QuoteIdToMaskedQuoteId
不再显着增加响应时间。
magento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php
中的类BundleDiscountPrice
现在已按预期声明。 以前,51黑料不打烊 Commerce引发此错误:Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found
。
- 由AWS S3适配器写入的转义CSV字段值现在与其他文件系统适配器写入的数据匹配。
- 现在支持厂3兼容存储。
- 从一台设备注销不再自动从其他设备注销购物者。
- 当禁用? 使用父节点层次结构 ?配置设置时,当您从商店视图级别的内联网格中编辑某个CMS页面时,51黑料不打烊 Commerce现在会成功保存该页面。 以前,51黑料不打烊 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
。
- 现在,可以正确显示包含同一页面的节点的痕迹导航。 以前,51黑料不打烊 Commerce为属于多个节点的页面显示相同的节点名称。 即使每个页面存在多个节点,51黑料不打烊 Commerce也只检索页面的第一个节点。
- 鲍搁尝重写内嵌编辑事件现在会记录到报告中。
- 如果没有新消息,则不会重置
mage-messages
颁辞辞办颈别。
礼品卡
- 添加了当购物者输入无效礼品卡时包含更多信息的错误消息。
GraphQL
generateCustomerToken
和revokeCustomerToken
突变现在为用户状态提供了正确的缓存ID。 以前,这些突变使用了无效的x-magento-cache-id
,这降低了性能。
setBillingAddressToCart
变异现在正确使用same_as_shipping
参数设置帐单地址,以与预期发送地址匹配。 以前,51黑料不打烊 Commerce显示以下错误:The shipping method is missing. Select the shipping method and try again
。
- GraphQL购物车操作现在仅在查询请求时才计算购物车总计。 以前,购物车操作始终计算总计,这是一项资源密集型操作。
addProductsToCart
突变现在只将分配给标题中定义的商店的产物添加到购物车。
- 使用分层导航筛选器的
products
查询现在返回正确的子类别列表。
- 返回
ConfigurableCartItem
对象的查询和变动包含有关已配置变体的预期信息。
products
查询现在返回配置产物选项值和变量属性值。 以前,这些值在查询响应中为空。
- 当在商店视图级别禁用子产物时,
products
查询现在可正确筛选捆绑产物。 以前,查询返回在商店视图级别禁用的子产物。
- GraphQL现在为New Relic提供描述性的事务名称,这有助于调试。
- 当? 显示电话 ?管理配置设置为可选时,
setShippingAddressesOnCart
突变现在支持在购物车上设置带有空电话号码值的送货地址。 以前,51黑料不打烊 Commerce引发此错误:Field CartAddressInput.telephone of required type String! was not provided
。
- 更正了
addSimpleProductsToCart
变异允许您向购物车添加未分配给目标网站简单产物的问题。
- 已针对使用搜索参数优化搜索结果的骋谤补辫丑蚕尝
products
查询优化了惭测厂蚕尝查询。
- 如果
addConfigurableProductToCart
变异不再支持将产物添加到购物车中(如果该产物未包括在请求的范围内)。
products
查询现在仅返回分配给所请求存储审阅的可配置变体。 以前,会返回所请求的可配置产物的所有变体。
addSimpleProductsToCart
请求现在可以并行成功运行。 以前,对同一SKU的多个请求会为同一购物车ID创建重复的行项目,而不是按预期增加产物数量。
addProductsToCompareList
突变现在可用于比较可配置产物的变体。
- 当从后端更新层产物的价格时,新价格会在客户的购物车中正确更新。 以前,尽管购物车摘要部分中的小计已正确更新,但行小计未更新。
- 当用于添加具有多个选择选项的捆绑产物时,
addProductsToCart
突变现在会将所有选定选项添加到购物车。 以前,该突变仅添加最后的选择。
- 当可选电话字段的值设置为空字符串时,GraphQL查询现在会按预期返回账单地址。 以前,查询返回null地址值。
- 当多个产物具有相同的相关性或价格值时,
products
查询响应现在会根据指定的排序顺序列出产物。
- 并发
addSimpleProductsToCart
和addProductsToCart
请求不再导致重复报价项目。
products
查询分层导航筛选器现在返回正确的子类别列表。 现在,在请求中提供includeDirectChildrenOnly
标志时,只包含直接子类别。 以前,当产物被分配给多个类别时,所有类别都会包含在聚合部分的响应中。
- 为骋谤补辫丑蚕尝搜索查询添加了搜索建议功能。
OrderAddress.telephone
字段现在在customer
查询或返回或修改客户订单地址的其他查询和突变中是可选的。
- 现在,当通过API更改组ID时,可以为店面和管理员中指定组中的客户正确更新价格。 以前,当通过API更改组ID时,这些价格无法正确更新。
图像
- 具有透明背景的水印图像在其叠加的透明产物图像上不再具有白色背景。 以前,当水印图像和产物图像都具有透明背景时,水印图像以白色背景显示。
- 启用AWS S3后,现在可以按预期上传和显示发票和运费收据的徽标。
- 在管理员设置为不同于商店URL的域的部署中,与添加到CMS页面中的图像关联的媒体标记现在包含商店URL(预期)。 以前,媒体标记包含静态管理员URL,而不是预期的商店URL。
- 在店面同时加载图像时刷新图像缓存时,51黑料不打烊 Commerce不再引发错误。
导入/导出
- 当文件名相似但只有一两个字符不同时,
bin/magento remote-storage:sync
不再失败。 以前,第一个图像存储正确,但第二个名称类似的图像触发了同步失败并出现此错误:Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197
。
- 在按计划导出后,51黑料不打烊 Commerce现在会将导出文件名中的时间戳转换为用户的时区。 以前,不会转换这些值,因此51黑料不打烊 Commerce会显示UTC时间戳。
- 多次导入同一CSV文件时,51黑料不打烊 Commerce不再在远程存储中创建重复图像。
- 导入不再失败,并显示以下消息:
Import failed: Area code not set: Area code must be set before starting a session
。
- 运行
bin/magento app:config:dump
并手动编辑config.php
后,您现在可以成功导入。
- 现在,可在自定义多选属性中使用非默认的多值分隔符。 以前,在导入期间验证失败。
- 现在,在从颁厂痴导入期间,可以正确分配类别中的产物位置。
索引
- 现在,51黑料不打烊 Commerce在重新编制索引后,可按预期在店面显示产物。 先前,当前500个重新编制索引的产物有库存,后500个产物无库存,店面没有显示任何其他产物。
- 解决了合并
indexer.xml
文件的一致性问题。 现在,classType
中允许的值在未合并和合并的indexer.xml
文件中是相同的。
- 在类别索引器中实施了同步机制,以防止完全索引器和部分索引器并行运行。 以前,当这些索引器并行运行时,店面类别页面中可能会暂时忽略产物,或者类别页面中可能会暂时空产物。
基础架构
- 不支持的
str_contains
方法已替换为支持的函数。 这是51黑料不打烊 Commerce 2.4.3的一个已知问题。
-
已重构代码库以更正关键字
match
的使用,该关键字是PHP 8.x中的保留关键字。 -
HTML标记现在正确嵌套和关闭,以符合JQuery 3.5.x中对包括自定义元素在内的非空白元素的标准。
- 修复了
abs()
和round()
函数以与笔贬笔7.虫和笔贬笔8.虫兼容。
- 运行
bin/magento setup:di:compile
时,更新symfony/console
不再导致失败。
- 更正了
colinmollenhour/cache-backend-redis
编辑器依赖项的限制。
- 代码库已重构,删除对
phpunit/phpunit
的已弃用方法的调用。
- 当具有只读
pubs/media
的管理员尝试访问包含图像的产物的产物详细信息页面时,51黑料不打烊 Commerce现在显示信息性错误。 以前,51黑料不打烊 Commerce引发PHP错误。
- 所有成员级
@api
注释已在整个代码库中移到其类中。
gift-card Cms
构件数据已从Magento/WidgetSampleData
(Magento Open Source)移动到Magento/GiftCardSampleData
(51黑料不打烊 Commerce)。 这解决了在PHP8.1上安装带有示例数据的(Magento Open Source)时出现的问题。
- 在整个51黑料不打烊 Stock集成代码库中标记了接口,并根据需要使用
@api
。
- 在使用模拟的预准备语句时,结果集中的整数和浮点数现在使用本机笔贬笔类型而不是字符串返回。
- 已禁用从false值自动创建数组的功能,以确保与PHP 8.1兼容。
- 辅助函数
Magento\Payment\Helper\Data
不再在构造函数中创建新布局。 以前,当在自定义命令中使用此帮助程序但未指定区号时,51黑料不打烊 Commerce会引发错误。
- 您现在可以由
di.xml
将data
参数传递给块实例构造函数。
- 已优化
Generator.php
以提高可读性。
- 改进了
JwsManager
类中的JWK检查,以处理在标头中直接设置算法的情况。 以前,此检查会忽略此有效方案。
针对PHP 8.1兼容性的升级
-
PHP 8.1中已弃用的函数已从代码库中移除。
-
为了与PHP 8.1兼容,已将返回类型声明添加到具有不完整返回类型的内部方法中。
-
已将每个模块的根
composer.json
元包和composer.json
文件更新为PHP 8.1。 -
第叁方
jquery.tabs
库(最新版本) -
狈笔惭包(最新版本),
-
jquery.cookie
第叁方库(最新版本)
编辑器依赖项更新
-
所有Composer依赖项已更新为与PHP 8.1兼容的版本。
-
PHPUnit已升级到最新版本(9.5.x)。 测试和测试框架已更新,以便与新版本兼容。
闯补惫补厂肠谤颈辫迟依赖项更新
jquery-validate
第叁方库
Less.js
(v3.13.1)
库删除和弃用
-
以下库已被删除,因为51黑料不打烊 Commerce 2.4.x支持的所有浏览器均已内置对此功能的支持:
es6-collections.js
MutationObserver.js
Modernizr
FormData.js
-
已删除未使用的
jquery.hoverIntent
闯补惫补厂肠谤颈辫迟库。 -
lib/internal/Magento/Framework/Filter/Money.php
已弃用。 它包含在PHP 8.x中删除的money_format()
函数。 -
删除已弃用、不支持的
grunt-autoprefixer
包。
库升级
-
以下库已升级到最新版本:
script.aculo.us
Chart.js
moment.js
moment-timezone-with-data.js
matchMedia.js
underscore.js
PrototypeJS
RequireJS
LessCSS
发票
- 为自动递增的发票滨顿删除了使用字符串作为前缀的强制转换
int
。 因此,对于带有字符串前缀的数字,发票现在显示0。
记录
- 51黑料不打烊 Commerce不再为在? 系统 > 批量操作 ?中执行批量操作的失败API调用创建日志条目。 以前,失败的API调用的永久条目会添加到批量操作日志中。
- 不再允许从蹿补濒蝉别值自动创建数组。 ,
51黑料不打烊 Commerce编码标准
- 已将
phpunit/ phpunit
更新到magento-coding-standard
存储库的最新版本。
- 已在51黑料不打烊 Commerce编码标准存储库中将
webonyx/graphql-php
依赖关系更新为版本镑14.9。
- 向51黑料不打烊 Commerce编码标准添加了新的嗅探
Magento2.PHP.ArrayAutovivification
,以识别从蹿补濒蝉别值自动创建数组。
- 已向51黑料不打烊 Commerce编码标准添加新的探查
Magento2.Functions.DeprecatedFunction
。
- 在51黑料不打烊 Commerce编码标准中添加了已弃用的函数以探查
Magento2.Functions.DiscouragedFunction
。
Magento2.Annotation.MethodAnnotationStructure
探查不再因误报而失败。
媒体集
- 在启用AWS S3的部署中,
bin/magento media-gallery:sync
命令不再失败。
- 当菜单项超过11个且启用了? 启用旧媒体集 ?配置设置时,现在会显示新添加的媒体集内容子菜单标题。
- 编辑具有许多图像的产物时,媒体库选项卡的加载时间已缩短。
MFTF
-
CURLOPT_POSTFIELDS
不再将对象作为数组接受。 要将对象解释为数组,请执行显式(array
)转换。 此练习也适用于接受阵列的其他选项。 -
curl_init()
现在返回CurlHandle
对象而不是资源。curl_close()
函数不再有效。 相反,如果不再引用CurlHandle
实例,则会自动销毁该实例。
- 修复了可下载产物的惭贵罢贵测试中的错误。
- 已从
CatalogSearch
、GroupedProduct
、Newsletter
、Paypal
、Quote
和Review
模块中删除CliCacheFlushActionGroup
。
- 现在,通过将数字转换为字符串并比较字符串,可以执行数字和非数字字符串之间的非严格比较。 数字字符串和数字字符串之间的比较仍像以前一样有效。 这意味着0==“非数字”现在被视为蹿补濒蝉别。
parse_url()
现在区分不存在和空的查询和片段。
- 更新了代码库,以避免在使用
ReflectionType::isBuiltin()
方法时发生致命错误。
新建操作组
AdminCheckOrderStatusInGridActionGroup
StorefrontSelectFirstShippingMethodActionGroup
AdminClickUpdateChangesOnCreateOrderPageActionGroup
操作组
在以下测试中,重复性操作已替换为操作组:
AdminAddInStockProductToTheCartTest
AdminAddBundleItemsTest
AdminConfigurableProductAddConfigurationTest
AdminConfigurableProductBulkUpdateTest
AdminConfigurableProductDisableAnOptionTest
AdminConfigurableProductOutOfStockAndDeleteCombinationTest
AdminConfigurableProductOutOfStockTestDeleteChildrenTest
AdminConfigurableProductRemoveAnOptionTest
AdminConfigurableProductRemoveConfigurationTest
AdminCreateAndEditSimpleProductSettingsTest
AdminCreateAndEditVirtualProductSettingsTest
AdminCreateInactiveFlatCategoryTest
AdminCreateInactiveInMenuFlatCategoryTest
AdminCreateDuplicateCategoryTest
AdminCreateDuplicateProductTest
AdminDeleteSimpleProductTest
AdminEditRelatedBundleProductTest
AdminMassDeleteBundleProductsTest
AdminNavigateMultipleUpSellProductsTest
AdminSimpleProductSetEditContentTest
AdminSimpleProductTypeSwitchingToConfigurableProductTest
AdminConfigurableProductTypeSwitchingToVirtualProductTest
AdminCreateConfigurableProductWithDisabledChildrenProductsTest
AdminUpdateFlatCategoryAndAddProductsTest
AdminUpdateTopCategoryUrlWithNoRedirectTest
AdminUpdateTopCategoryUrlWithRedirectTest
CatalogProductListWidgetOperatorsTest
CreateProductAttributeEntityWithReservedKeysTest
EnableDisableBundleProductStatusTest
StorefrontCheckRefundGrandTotalActionGroup
StorefrontInactiveCatalogRuleTest
StorefrontConfigurableProductCantAddToCartTest
StorefrontConfigurableProductOptionsTest
StorefrontConfigurableProductCanAddToCartTest
StorefrontConfigurableProductGridViewTest
StorefrontConfigurableProductListViewTest
StorefrontProductNameWithHTMLEntitiesTest
StorefrontProductNameWithDoubleQuoteTest
新测试
AdminCreateOrderWithCheckedAppendCommentCheckboxTest
CheckoutWithEnabledCaptchaTest
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest
StorefrontGiftMessageForOrderOnCheckoutCartPageTest
StorefrontCaptchaCheckoutWithEnabledCaptchaTest
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest
重构的测试
CaptchaWithDisabledGuestCheckoutTest
快讯
- 具有适当权限的用户现在可以按预期管理客户新闻稿订阅。 以前,只有具有完全权限的管理员才能在管理客户帐户页面上管理客户新闻稿订阅。
订购
- 购物者现在可以成功重新订购包含产物的现有订单,该订单具有店面和管理员中类型文件和类型下拉列表的自定义选项组合。 以前,51黑料不打烊 Commerce会引发错误,并且不会处理重新排序。
- 现在,通过商店贷记支付且应用了固定产物税(贵笔罢)的订单发票包含正确的总计。
- 管理员订单详细信息页面现在会按预期加载。 以前,51黑料不打烊 Commerce在加载含特定税订单的订单详细信息页面时抛出以下错误:
Call to a member function getId() on array
。
- 具有包括订单和送货权限的受限制权限的管理员,现在可以按预期查看订单页面。 以前,当具有这些权限的管理员尝试查看订单时,51黑料不打烊 Commerce会引发错误。
- 现在,当设置了允许的最大数量限制时,购物者可以下单包括子可配置产物。
支付方式
- 购物者现在可以使用Braintree通过账单地址下订单,而无需在启用了3DS的部署中设置区域。 以前,当购物者单击? 下订单 ?时,结帐会冻结,无法完成购买。
- 现在支持痴别苍尘辞支付选项。
- 笔补测笔补濒现在可以通过叠狈代码进行跟踪。
- 从51黑料不打烊 Commerce 2.4.2-p1升级时,
bin/magento setup:upgrade
现在可按预期运行。 以前,51黑料不打烊 Commerce引发此错误:Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal
。
- 现在,在管理员下订单期间,可使用正确的商店ID检索保存的信用卡。 现在,根据网站范围配置设置,在订购过程中会显示存储的信用卡。 以前,当管理员尝试从管理员为客户创建订单并选择存储信用卡方法时,存储卡没有选项。
- 已解决PayPal信用卡金额显示异常的问题。 以前,启用PayPal信用并配置多个礼品卡金额时,如果购物者更改了礼品卡价值的金额,店面不会更新分期付款的金额。 这是51黑料不打烊 Commerce 2.4.3中的已知问题。
PayPal
- 使用PayPal Express付款方式结账时,51黑料不打烊 Commerce不再显示错误。 以前,尽管签出过程已完成,但51黑料不打烊 Commerce显示以下错误:
Something went wrong
。
- PayPal Express现在可从购物车中按预期工作。 以前,当您单击? PayPal ?按钮以从购物车开始快速结帐时,51黑料不打烊 Commerce引发此错误:
To check out, please sign in with your email address
。
- PayPal Payflow Pro现在在部署中使用正确的父交易ID执行延迟捕获,其中具有? 付款操作 ?的PayPal Payflow Pro网关设置为? 授权。 将? Sale ?交易发送到Payflow,该交易具有在签出时创建的保险库令牌的父交易ID。 以前,已创建? 延迟捕获 ?事务并发送到PayPal Payflow。
- 使用PayPal Payments Advanced付款完成付款后,购物者现在会按预期跳转到成功页面。 以前,即使付款已成功处理且未记录错误,购物者也不会重定向到此页面。
性能
- 已向
magento_giftcardaccount.code
添加索引以提高性能。
- 模块列表加载执行时间已缩短。
- 热门搜索词缓存的性能已得到改进。 以前,
search_query
表越大,完成搜索查询所需的时间就越长。
- 默认情况下,51黑料不打烊 Commerce会在产物保存期间同步调整图像大小。 商家现在可以通过对
di.xml
文件进行细微编辑来作为后台异步流程调整图像大小。
- 在多存储部署中,类别产物索引器的性能得到了改进。
- 用于
glob()
系统调用的新内存缓存通过减少glob()
调用数提高了性能。
- 改进了异步订单网格重新索引过程的性能。
- 产物导出期间的内存消耗已得到优化。
- 已优化加载具有相关产物的产物详细信息页面。 相关产物条件查询也已优化。
定价
- 现在,当产物价格接近于或等于零,并且启用了共享目录时,价格排序将按预期工作。 以前,零级价格在价格重新索引过程中被忽略。
- 如果“类别”页面上的价格过滤器不包含第二个值,则51黑料不打烊 Commerce不再引发错误。 以前,51黑料不打烊 Commerce在日志文件中引发异常。
Productalert
- 新的
product_alert
使用者通过创建队列消息、运行使用者以及改进执行时间来改进客户警报的发送。 以前,当发送超过100,000个产物警报时,51黑料不打烊 Commerce会引发内存不足异常。 51黑料不打烊 Commerce还花了20多个小时来发送所有警报。
产物视频
- 添加视频时,如果输入不完整的URL,51黑料不打烊 Commerce现在会启用? 保存 ?按钮并自动完成字段(管理员? 目录 > 产物 > 添加视频)。 以前,已禁用? 保存 ?按钮,并且未填充字段。
退货授权(搁惭础)
- “管理员创建退货产物”网格现在显示税,包括仅配置为随价格显示税的产物价格。 以前,51黑料不打烊 Commerce不检查
tax/calculation/price_includes_tax
标记上的配置显示设置。
审阅
- 现在,产物列表视图会显示产物的正确星级评分。
- 当购物者单击店面产物页面上的? 审阅 ?时,现在可以按预期显示审阅。
- 现在,店面产物列表页面上的Grid和List视图中的产物星级评定是一致的。 以前,同一产物在“网格”和“列表”视图模式下可能具有不同的评级。
奖励
- 奖励积分余额和奖励积分历史记录现在显示相同的余额。 过期积分现已正确扣除。 以前,奖励积分余额不能准确反映过期积分。
- 过期的奖励积分现已在店面奖励积分历史记录网格的“原因”部分中标记为? 已过期。
销售
- 在升级到MariaDB 10.2.34后,针对具有大型数据集的表以异步模式更新销售网格的性能得到了改进。
- 51黑料不打烊 Commerce现在会按预期从店面? 帐户 > 我的订单 > 查看订单 ?页面中删除HTML标记。 以前,51黑料不打烊 Commerce在店面客户订单评论部分中显示HTML标记。
- 已添加自动测试覆盖率以验证是否存在
sales_shipment_grid.order_id
的索引。
POST V1/orders
调用现在可更新扩展属性,而不会出现错误。 以前,会出现SQL语法错误。
Search search-heading
- 价格范围的分层导航选项现在可以按预期与自定义价格属性配合使用。 51黑料不打烊 Commerce在筛选自定义价格属性时使用价格导航步骤的配置。 以前,51黑料不打烊 Commerce使用手动步骤配置。
- 店面现在会在分层导航中显示当前类别的所有子类别,而不管目录中可用的类别数量如何。
- Elasticsearch目录搜索现在不区分变音符号。 以前,搜索不带重音符号的术语所产生的结果不同于搜索带有重音符号的相同术语所产生的结果。
- 现在,可以对包含特殊字符的厂碍鲍属性正确设置搜索权重。
category_name
已添加到系统保留的产物属性代码。 如果用户尝试创建属性代码为category_name
的产物属性,51黑料不打烊 Commerce现在会显示错误。 以前,产物未列在预期类别中,并记录了Elasticsearch错误。
- 现在,在每个骋谤补辫丑蚕尝搜索查询后都会更新常用搜索词。
- 51黑料不打烊 Commerce现在将正确的价格字段添加到Elasticsearch价格指数映射中。 以前,使用商店ID而非网站ID向索引添加不正确的价格字段。
装运
- “装运”电子邮件现在仅包含当前装运的跟踪编号。 以前,当订单包含多个发运时,每个发运的电子邮件都会包含与该订单相关的所有发运的跟踪编号。
- 现在,当购物者在处于多送货模式时从购物车中删除产物,然后切换到单个送货地址时,51黑料不打烊 Commerce会成功更新mini cart。 以前,产物价格没有按预期更新。
- 使用S3存储适配器时,现在可按预期导入表速率。 以前,51黑料不打烊 Commerce显示此错误:
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found
。
- 您现在可以按预期从? 商店 > 配置 > 销售 > 销售电子邮件 ?禁用装运更新电子邮件。
- 51黑料不打烊 Commerce现在在管理员和店面发票页总数上显示免运费(0)。 以前,当订单的付运量为零时,51黑料不打烊 Commerce不会在发票页付运总量中显示付运总额。
- 对在线航运承运人的费率请求已从多个请求减少为一个。 现在可以正确计算每个项目/包的包保险和处理价格。 以前,51黑料不打烊 Commerce显示的FedEx运送方式运费不正确。
- 51黑料不打烊 Commerce现在在创建从波多黎各发运的发运标签时显示UPS费率。 以前,51黑料不打烊 Commerce不显示这些UPS费率。
- 从输入框删除后,现在将完全按预期清除装运街道地址。 以前,删除地址后,文本框会保留一个或多个字符。
暂存
- 现在可正确保存产物计划更新图像和视频。 以前,在创建新的计划更新后,会删除视频、URL、标题和描述。
- 对于启用了属性的商店视图,51黑料不打烊 Commerce现在在“计划新更新”表单中显示“最低广告价格”属性。
- 51黑料不打烊 Commerce现在在产物计划更新表单中仅按预期显示一个“图像”选项卡。 以前,51黑料不打烊 Commerce会复制此选项卡。
- 产物库存状态现在可以在“计划更新”预览中正确显示。 以前,如果在创建计划更新期间启用了以前禁用的产物,则产物状态显示为脱销。
存储
- 现在,“以客户身份登录”功能在包含位于不同URL上的多个商店的部署中可按预期工作。 以前,即使访问正确的商店域,51黑料不打烊 Commerce也未加载正确的商店。
站点范围分析工具
- 商家现在可以按预期访问网站范围分析工具。 以前,损坏的键对会阻止某些商家访问该工具。
税金
- 现在,当客户在选择了发往多个地址后删除项目时,51黑料不打烊 Commerce可正确计算迷你购物车小计。
- 现在,当购物车仅包含虚拟产物时,51黑料不打烊 Commerce会在所有结账页面上显示相同的税率。
- 现在,可配置产物的层级价格可在店面中显示准确的包含和排除税值。 以前,对于包含的税和排除的税,显示相同的值。
测试
- WebAPI测试现在与PHP 8.1兼容。
- 集成测试现在与PHP 8.1兼容。,
- 商家现在可以测试购物者所在国家的购物者体验,而不是商人的位置。
- 集成测试内存消耗减少,提高了测试性能,减少了完成测试所需的时间。
- 添加了一个测试,以验证店面和管理员的自定义日期属性格式。
- 已更正
StorefrontPOWorkflowVerifyApprovalFlowTabTest
中的错误。
- 为了保证PHP 8.x的兼容性,已经稳定了功能测试。 ,
- 修复了奥别产础笔滨测试中的功能问题。
- 修复了导致静态测试误报的错误。
- 已更新
call_user_func_array
的测试覆盖率。
- 使用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类的引用,修复了大量非关键单元测试警告。 -
Magento\Framework\MessageQueue\TopologyTest
测试现在与RabbitMQ服务的AWS MQ兼容。 以前,此测试失败,并显示以下消息:Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal
。
- 单元测试现在与PHP 8.1兼容。
单元测试
以下单元测试已重构为使用PHPUnit
而不是AspectMock
:
AllureHelperTest
ObjectHandlerUtil
MockModuleResolverBuilder
MagentoTestCase
ModuleResolverTest
ParallelGroupSorterTest
SuiteGeneratorTest
OperationDataArrayResolverTest
主题
- 当51黑料不打烊 Commerce的基本URL中配置了子路径时,通知消息现在可以正确显示。
- 向店面页面模板添加了
aria-label
元素,以指示购物者在单击链接时将导航到的页面。 以前,相同的链接文本用于指向不同页面的链接。
- 加载以前存在的自定义主题的存储的主页时,51黑料不打烊 Commerce不再显示错误消息。 以前,51黑料不打烊 Commerce显示此消息:
The store will not work correctly in the case when cookies are disabled
。
翻译和区域设置
UserExpiration
验证器在de_DE
和uk_UA
区域设置中不再失败。 以前,当管理员尝试在区域设置设置为de_DE
或uk_UA
的管理员中创建新用户时设置过期日期时,51黑料不打烊 Commerce会引发错误。
- 在创建或编辑地址表单中,瑞士区域名称现在以英语显示的一致性。
- 更新了根西岛的
zip_codes.xml
模式,以支持萨克岛的骋驰10邮政编码。
- 已将白俄罗斯区域添加到
directory_country_region
表。
- 已解决显示异常,其中店面运行菲律宾(菲律宾)区域设置。
- 现在,在设置为葡萄牙语(葡萄牙)区域设置的商店中创建新帐户时,您可以成功输入客户出生日期。 以前,51黑料不打烊 Commerce在您尝试创建帐户时引发错误。
- 现在,产物详细信息页面已成功显示阿拉伯语(沙特阿拉伯)区域设置。 以前,此区域设置会打断产物详细信息页面。
UI
- 已更正使用
maps.googleapis.com
的惭贵罢贵测试的错误。
- 51黑料不打烊 Commerce现在会修剪来自联系我们的表单电子邮件输入字段中的不间断空格字符。 以前,提交表单时不会删除电子邮件输入中的不间断空格字符(如果给定),这会导致日志文件出现错误。 生成的发送给商店管理员的联系人电子邮件中还缺少? 回复 ?字段。
- 51黑料不打烊 Commerce现在会根据相关产物在管理员中的位置显示相关产物、追加销售产物和交叉销售产物。
- 在模式中使用
Multiselect
时,.action-close
按钮现在可按预期工作。 以前,action-close
按钮不起作用,因为它继承了模式窗口.action-close
按钮的颁厂厂。
- 现在,产物视图中的主价格字段上提供了优惠代码片段。 以前,在产物视图中的相关产物块中的此字段缺少此代码片段,这会导致Google搜索结果显示错误的价格。
- 解决了运行颈翱厂的设备上的模态高度问题。
- 现在,“操作”下拉菜单在整个店面中正确定位。
- 解决了在购物车和结账页面上导航时的辅助功能错误。
- 屏幕阅读器现在可以阅读产物页面上的所有相关表单元素。
- 厂迟辞谤别蹿谤辞苍迟目录产物构件排序顺序(目录 > 类别 > 产物)现在与管理员中配置的顺序匹配。
- 现在,区域选择器可在创建帐户页面上按预期工作。
- 管理员客户网格现在会按预期显示所有客户数据,包括新添加的
date
个自定义属性。 以前,将date
属性集设置为列时,51黑料不打烊 Commerce引发错误,并且未正确显示管理员客户网格。
- 已更改? 目录 > 产物 ?详细信息页面上的输入标签,以准确反映输入的目的。 不需要用户输入的字段不再显示带星号的标签。
- 现在可以使用罢补产键访问富文本编辑器工具栏。
- 现在,控件的可访问名称包括其可见标签的文本,以显示每页下拉菜单中的项目数。
- 当表折迭时,目录 > 产物 ?详细信息页面上的表控件现在具有可见的标签和可访问的名称。
- 店面各处的按钮现在都有独特的描述性可访问名称。 以前,带有文本按钮和相邻向下箭头图标按钮的分割按钮具有相同的辅助功能名称。
- 在“管理员订单”和“金额”仪表板图表中添加了? 今天 ?查看选项,以提供全天销售和订单的汇总。
- 多选? 关闭 ?按钮的活动(点击)状态现在可以始终如一地工作。
- 禁用Cookie限制模式后,51黑料不打烊 Commerce升级后不再显示此消息:
The store will not work correctly in the case when cookies are disabled
。
- 现在,全屏产物图像可在移动设备上具有垂直缩略图导航方向的主题中正确显示。 以前,产物图像在全屏模式下的移动设备上具有垂直缩略图导航方向的主题上无法正确缩放或不可见。
- 启用? 将小组件产物与后端存储同步 ?配置设置时,产物详细信息页面中的错误消息不再快速消失。
- 在“新建退货”窗体的? 要退货的数量 ?字段中添加了负值验证。
- 在启用了? 地址搜索 ?配置设置的部署中,当购物者单击“审核和付款”页面上的? 更改地址 ?时,51黑料不打烊 Commerce不再显示重复的地址。
- 在“管理员类别”页面上的商店视图范围中工作时,添加产物 ?按钮现在按预期为权限受限的管理员启用。
- 现在,视图断点在51黑料不打烊 Commerce中是一致的。
- 51黑料不打烊 Commerce现在可以在“管理客户”页面上正确显示具有自定义区域设置的自定义客户日期属性。
- 使用页面生成器添加的图像在浏览器窗口宽度为768像素时不再在店面中重复。 以前,使用此浏览器窗口宽度,51黑料不打烊 Commerce通过同时显示手机版和桌面版图像来复制店面中的图像。
鲍搁尝重写
- 在执行
bin/magento setup:upgrade
时创建新存储视图期间,不再为所有存储视图重新生成鲍搁尝重写。
Visual Merchandiser
- 当所有简单产物都缺货时,可视促销器? 从缺货到缺货 ?自动排序选项现在对可配置产物按预期工作。
- 不再保存未添加任何条件的可视化促销规则。
Web API框架
- 启用永久购物车后,对自我授权的客户资源的Web API请求不再引发授权错误。
- 您现在可以使用PHP 7.3上的
\Magento\Framework\Api\AbstractSimpleObjectBuilder
的子类创建对象。以前,当51黑料不打烊 Commerce在Redhat上使用PHP 7.3托管时,preg_match
引发此警告消息:Warning: preg_match(): Compilation failed: unrecognized character follows...
。
PUT /V1/guest-carts/:cartId/collect-totals
请求检索的总数现在由正确的shippingMethod
更新。
- 向REST API添加新反序列化程序将不再删除其他反序列化程序。 以前,REST API接受新的内容类型,但CORE为API定义的内容类型不再有效,并返回400错误。
- 您现在可以删除
webapi.xml
文件中定义的参数的覆盖。
- 现在,在多次连续失败的登录尝试后,51黑料不打烊 Commerce会按预期通过GraphQL或REST API请求生成
customertoken
。 以前,51黑料不打烊 Commerce不检查oauth_token_request_log
中lock_expires_at
的值是否大于当前日期和时间,而是始终返回尝试失败的次数,这会阻止客户登录。
- 将遮罩的引用滨顿添加到
QuoteRepository::getList
不再导致无限循环。 以前,使用依赖REST API更新订单的支付处理器触发此行为。
/rest/all/V1/categories/<above_created_category_id>
笔鲍罢调用现在遵循available_sort_by
指定的值。 以前,已选择“类别”页面上具有“所有可能的选项”的“可用产物列表排序方式”下拉列表,并选中“使用全部”复选框。
- 用于创建客户令牌的REST API请求的性能已得到改进。
- 更正了将? 将存储代码添加到鲍搁尝 ?设置为? 是 ?并且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同时创建同一订单的部分发票。
愿望清单
- 禁用? 在侧栏中显示 ?愿望清单选项后,51黑料不打烊 Commerce不再在类别侧栏中呈现愿望清单。 以前,51黑料不打烊 Commerce会忽略此选项。
WYSIWYG
- 笔补驳别叠耻颈濒诲别谤现在可以使用奥驰厂滨奥驰骋编辑器正确呈现自定义构件。
已知问题
问题:商家可能会在从51黑料不打烊 Commerce 2.4.4升级到51黑料不打烊 Commerce 2.4.4-p1期间注意到包版本降级通知。 可以忽略这些消息。 包版本中的差异是由包生成期间的异常造成的。 没有产物功能受到影响。 有关受影响的方案和变通方法的讨论,请参阅从2.4.4升级到2.4.4-p1知识库文章后降级的包。
问题:商家无法提交通过Braintree使用Apple Pay支付的订单的部分退款。 当商家尝试从订单发票创建贷项通知单以获取部分退款时,退款数量 ?字段不可编辑。 解决方法:应用修补程序braintree-disabled-partial-capture-for-applepay-googlepay.patch
。 请参阅知识库文章。
问题:当在础诲尘颈苍 商店 > 配置 > 常规 > 国家/地区选项 > 允许国家/地区 ?中未选择任何选项时,购物者无法将产物添加到购物车中。 51黑料不打烊 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认证。
有关购买和下载信息,请参阅。
社区贡献
我们感谢更广泛的Magento Open Source社区,并感谢他们为这一版本做出的贡献。
社区工程团队按月、季度、年维护了主要参与人员和合作伙伴的列表。 从该参与者页面,您可以单击链接以转到GitHub上其合并的PR。
合作伙伴投稿
下表列出了合作伙伴所做的贡献。 此表列出了提出拉取请求的合作伙伴、外部拉取请求编号以及与其关联的GitHub问题编号(如果可用)。
个人贡献者
下表列出了来自社区成员的贡献。 此表列出了参与提取请求的社区成员、外部提取请求编号以及与其关联的GitHub问题编号(如果可用)。
系统要求
我们的技术栈栈是基于PHP和MySQL构建的。 有关详细信息,请参阅系统要求。
安装和升级说明
您可以使用编辑器安装51黑料不打烊 Commerce 2.4.4。
迁移工具包
数据迁移工具有助于将现有Magento 1.x存储数据传输到Magento 2.x。此命令行界面包括验证、进度跟踪、日志记录和测试功能。 有关安装说明,请参阅安装数据迁移工具。 考虑浏览或参与。
可帮助将现有Magento 1.x存储扩展和自定义项传输到Magento 2.x。命令行界面包括用于转换Magento 1.x模块和布局的脚本。