Adobe Commerce 2.4.0发行说明
Adobe Commerce 2.4.0引入了对PHP 7.4、Elasticsearch7.6.x和MySQL 8.0的支持。重大的安全更改包括默认情况下在Admin中启用双重身份验证。 B2B增强功能包括新的“订单审批”工作流。
在此版本中,已从核心代码中删除Authorize.Net、eWay、CyberSource和Worldpay支付方法集成。 商家应该迁移到Commerce Marketplace 上可用的正式扩展。
此版本包括2.3.5-p1中包含的所有核心质量改进、核心代码的100多项新修复以及30项安全增强功能。 其中包括我们的社区成员解决226个GitHub问题。 这些社区贡献的内容包括对核心代码进行次要清理,以及在Inventory management和GraphQL中进行重大改进。
应用AC-3022.patch
以继续将DHL作为装运承运人提供
DHL引入了架构版本6.2,并将在2022年9月弃用架构版本6.0。 支持DHL集成的Adobe Commerce 2.4.4及更早版本仅支持版本6.0。部署这些版本的商家应尽早应用AC-3022.patch
,以继续将DHL作为装运承运人提供。 有关下载和安装修补程序的信息,请参阅应用修补程序以继续将DHL作为运输运营商提供知识库文章。
安全补丁可用
商家现在无需应用完整季度版本(例如2.3.5-p2)提供的数百个功能修复和增强功能,即可安装时效性很强的安全修复。 修补程序2.3.5.2(Composer包2.3.5-p2)是一个安全修补程序,它针对我们以前的季度版本2.3.5-p1中发现的漏洞提供了修复。 此安全修补程序中包含应用于2.3.5版本的所有修补程序。 (修补程序 提供对已发布版本的修补程序,该版本可解决特定问题或错误。)
有关安全修补程序的一般信息,请参阅Introducing the New Security Patch Release。有关下载和应用安全修补程序(包括修补程序2.3.5-p2)的说明,请参阅快速入门内部部署。 安全修补程序仅包括安全错误修复,而不包括完整修补程序中包含的其他安全增强功能。
其他发行信息
虽然这些功能的代码与季度版本捆绑在一起,但其中几个项目(例如B2B、Page Builder、Inventory management和Progressive Web Application(PWA)Studio)也单独发布。 每个项目的文档中都提供了特定于项目的单独发行信息,其中记录了这些项目的错误修复。
高亮
在此版本中查找以下要点:
显着的安全增强功能
此版本包括30多项安全修复和平台安全改进。
超过30项安全增强功能,可帮助消除远程代码执行(RCE)和跨站点脚本(XSS)漏洞
到目前为止,尚未发生与这些问题相关的已确认攻击。 但是,可能会利用某些漏洞访问客户信息或接管管理员会话。 这些问题中的大多数要求攻击者首先获得对管理员的访问权限。 列入允许列表因此,我们提醒您采取一切必要步骤来保护您的管理员,包括但不限于:IP身份验证、双重身份验证、使用VPN、使用唯一位置而非/admin
以及良好的密码卫生。 有关这些已修复问题的讨论,请参阅可用于Magento的安全更新。
其他安全增强功能
-
为管理员帐户、magento.com用户帐户和云SSH访问实施2FA
-
保护你的管理员帐户。 现在,管理员需要双重身份验证(2FA)。 管理员用户必须先配置其2FA,然后才能通过UI或Web API登录到管理员。 2FA默认处于启用状态。 我们强烈建议不要禁用2FA模块。 这一额外的身份验证步骤使得恶意用户更难以未经授权登录到管理员。 请参阅双重身份验证(2FA)。
-
保护您的帐户。 双重身份验证(2FA)提供了一层附加的可选安全保护,可以更好地保护您的magento.com帐户,使其免受未经授权用户的攻击,这些用户可能希望以您不希望的方式使用您的帐户。 请参阅保护您的帐户。
-
保护云SSH访问。 云基础架构上的Adobe提供了多重身份验证(MFA)实施,用于管理对云环境的SSH访问的身份验证要求。 默认情况下,项目上未启用2FA的多重身份验证。 Adobe强烈建议启用此功能。 请联系支持人员以获取帮助。 请参阅为SSH访问启用多重身份验证。
-
-
模板筛选严格模式现在默认启用。 在旧模式下使用模板过滤器的组件(包括CMS页面和块)容易遭受远程代码执行(RCE)的攻击。 默认情况下,启用严格模式可确保不会蓄意启用RCE攻击。
-
默认情况下,UI数据提供程序的数据渲染现在处于禁用状态。 这消除了恶意用户执行任意JavaScript的机会。
-
新
\Magento\Framework\Escaper
类。 为负责生成HTML的.phtml
模板和PHP类提供了此类。 此类包含与多个上下文相关的HTML清理方法。$escaper
局部变量可在.phtml
模板中使用,应使用它来代替已弃用的$block->escape{method}
。 使用$escaper
而不是$block
,因为已弃用$block->escape{method}
。 -
对security.txt文件的支持。 此文件是服务器上的行业标准文件,可帮助安全研究人员向站点管理员报告潜在的安全问题。
-
对内容安全策略(CSP)支持的增强功能。
SecureHtmlRenderer
已添加到框架中,并且在.phtml
模板中可用于将内联style
和script
标记列入白名单。 默认CSP配置不允许使用内联脚本和样式,XML文件可能会覆盖这些脚本和样式。
平台升级
以下平台升级有助于增强网站的安全性和性能。 技术栈栈要求中列出了PHP和PHPUnit、Elasticsearch、MySQL以及其他依赖项的支持版本。
-
引入了 PHP 7.4支持,不建议使用PHP 7.1和7.2。 2.4.0引入了对PHP 7.4的支持。
-
支持PHPUnit 9.x并弃用PHPUnit 6.5。 PHP 7.4需要使用最新的PHPUnit测试框架,即PHPUnit 9.x。Commerce Marketplace扩展供应商必须确认所有新的扩展版本都与PHP 7.4兼容,并且所有单元测试和集成测试都已配置为使用PHPUnit 9运行。
-
Elasticsearch7.6.x支持。 Elasticsearch7.6.x现在是Adobe Commerce和Adobe Commerce的默认目录搜索引擎。 如果不安装Elasticsearch7.6.x,则无法安装或升级到版本2.4.0。已删除版本2.x代码的Elasticsearch。 Elasticsearch版本5.x和6.x已被弃用,不再受支持。 请参阅搜索引擎先决条件。
-
MySQL 8.0支持。 版本2.4.x支持MySQL 8.x。(使用MySQL 8.0.20对2.4.0进行了测试。) 我们鼓励商家将其部署迁移到MySQL 8.x,以利用其改进的性能、安全性和可靠性。 虽然Magento2.4.x仍支持MySQL 5.7,但不再支持MySQL 5.6。 无法使用MySQL 5.6数据库托管2.4.x。 请参阅MySQL。
-
MariaDB 10.4支持。 对MySQL 8.0的支持为商家提供了使用Adobe Commerce部署MariaDB 10.4的机会。 虽然商家仍然可以使用MariaDB 10.2和2.4.0,但我们建议升级到MariaDB 10.4以提高性能和可靠性。 不再支持MariaDB 10.0和10.1(因为此版本中不再支持MySQL 5.6)。
-
正在删除MySQL目录搜索引擎。 MySQL搜索引擎已从2.4.0中删除,并替换为Elasticsearch的默认搜索引擎。 Elasticsearch提供卓越的搜索功能以及目录性能优化。 所有商家都必须有Elasticsearch安装和部署2.4.0。请参阅验证Elasticsearch是否已安装。
-
将Zend框架上的依赖项迁移到Laminas项目,以反映Zend框架到Linux Foundation的Laminas项目的转换。 Zend框架已被弃用。 请参阅将Zend框架迁移到Laminas项目 DevBlog文章。
-
控制器分解 允许扩展开发人员直接实现ActionInterface,而无需“层超类型”类。 请参阅控制器分解 DevBlog文章。 增强功能由Vinai Kopp在拉取请求16268中启动,并由Lukasz Bajsarowicz在拉取请求26778 中完成。 GitHub-9582
-
删除Signifyd欺诈防护代码的核心集成。 不再支持此核心功能。 商家应迁移到Commerce Marketplace上可用的Signifyd Fraud & Chargeback Protection扩展。
-
已从代码库 中删除 核心Braintree模块。 Braintree支付模块现在提供了相同的功能集。 请参阅Braintree付款。
-
不再支持Internet Explorer 11.x浏览器。
基础架构改进
此版本包含对核心质量的增强,这些增强改进了Framework和以下模块的质量:客户帐户、目录、CMS、导入、购物车和结账以及B2B。
-
删除第三方付款方法的核心集成。 在此版本中,已从核心代码中删除Authorize.Net支付方法集成。 商家应该迁移到Commerce Marketplace上提供的官方扩展。 请参阅弃用付款集成 devblog文章。
-
支持Elasticsearch的部分单词搜索(新的默认搜索引擎)。 使用快速搜索时,Elasticsearch现在支持在搜索词中使用部分词来搜索产品名称和SKU。 MySQL搜索引擎支持此功能,在此版本中,该搜索引擎已弃用,并被Elasticsearch所取代。
-
Paypal JavaScript SDK升级。 我们已将PayPal Express Checkout集成迁移到最新的PayPal JavaScript SDK,该SDK会自动收集所需的风险参数并将其传递给PayPal。 PayPal Express结账支付方式的行为保持不变。 但是,将此SDK升级到最新版本可让商家访问最新功能和安全增强功能。
-
弃用并删除Web设置向导。 必须使用命令行安装或升级2.4.0。请参阅安装Magento。
-
编辑器更新插件。 Composer插件通过解析在更新到新版本之前必须对根项目
composer.json
文件进行的更改来简化升级过程。 此插件可防止覆盖自定义设置。 请参阅使用编辑器根插件升级。 -
卖方辅助购物。 此功能允许商家代表其客户查看店面。 客户选择允许店面访问其帐户。 此社区开发的功能包括由MAGEFAN开发的原始扩展。 查看卖方辅助购物。 功能包括:
- ACL可以针对每个网站配置哪些管理员可以登录到客户帐户
- 与多个网站和客户帐户范围的兼容性
- 代表客户下达的订单将记录在店面和管理员
- 管理员注销后,所有会话都会被销毁,并且管理员无法访问客户密码。
性能改进
-
改进客户数据部分失效逻辑。 此版本引入了使所有客户部分数据失效的新方式,可避免在自定义
sections.xml
失效处于活动状态时本地存储出现已知问题。 (以前,当具有操作无效的自定义 etc/frontend/sections.xml 时,未正确填充私有内容(本地存储)。) 查看私人内容。 -
针对Redis性能的多项优化。 增强功能最大限度地减少了针对每个请求执行的Redis查询次数。 这些优化包括:
-
减少Redis和Magento之间的网络数据传输量
-
通过提高适配器自动确定需要加载内容的能力,减少Redis的CPU周期消耗
-
减少Redis写入操作中的竞争条件
请参阅为页面和默认缓存使用Redis和配置缓存。
-
-
已改进对清单表的SQL查询结果的缓存。 这些增强功能包括:
-
对
inventory_stock_sales_channel
表的SQL查询的缓存(1个查询而非16个) -
缓存对
inventory_stock
表的查询结果(1个查询而非16个)
-
-
将快速订购添加到购物车的性能提升高达25-30%。
-
商家现在可以使用延迟加载来加载图像。
Adobe Stock集成v2.0
能够从媒体集 中授权库存图像预览。 商家现在可以在媒体集中找到任何Adobe Stock预览图像,这减少了许可库存预览图像所需的步骤数。
新建媒体集
这是对以前媒体集的替代,为媒体资产提供了一个新的可搜索界面。 管理员现在可以搜索、过滤和排序图像,比早期版本的此功能快30倍。 商家可以使用此工具来评估店面图像使用情况。 扩展开发人员应该知道,为媒体集开发的扩展将无法与新的媒体集一起正常工作。
页面生成器
页面生成器现在支持PHP 7.4。
Inventory management
此版本的Inventory management增强功能包括支持店内收取和捆绑销售产品支持。 有关最新Inventory management错误修复的更详细讨论,请参阅Inventory management发行说明。
GraphQL
GraphQL增强功能包括:
pickupLocations
查询支持库存店内提货功能categories
查询返回与指定过滤器匹配的类别列表。 此查询与categoryList
查询的不同之处在于它支持分页。reorderItems
突变允许登录用户将之前订单中的所有产品添加到购物车。
有关此增强功能和其他增强功能的详细信息,请参阅GraphQL开发人员指南。 有关最近的GraphQL错误修复的详细讨论,请参阅发行说明。
PWA Studio
有关PWA Studio版本及其兼容版本的列表,请参阅兼容性。 有关增强功能和错误修复的信息,请参阅PWA Studio版本。
B2B
针对B2B 的 订单审批工作流功能。 订单审批允许买方组织的经理为其买方配置审批规则。 请参阅审批规则。 功能包括:
- 为每个公司帐户配置唯一审批规则的自助服务
- 可以基于订单金额、行项目数或具有可配置阈值的发运成本的规则标准
- 功能各个方面的可自定义权限
- 需要审批的采购订单的快速店面视图
- 每个采购订单上已执行的操作的完整历史记录日志
- 在审批流程的所有步骤中发送相关各方的电子邮件通知。
此版本还包括多个错误修复。 请参阅B2B发行说明。
功能测试框架(MFTF)
MFTF v3.0.0包含这些新增功能,并包含对PHP 7.4和PHPUnit 9的支持:
- MFTF帮助程序,可以在测试框架之外创建自定义操作
- 测试实体的架构更新
- 测试模块中的子文件夹
- 嵌套断言语法
- 静态检查,用于检查和报告对已弃用测试实体的引用
此版本还删除了为将测试升级到MFTF主版本要求而添加的已弃用操作和升级脚本。
供应商开发的扩展增强功能
此版本包括由第三方供应商开发的扩展。 它在这些扩展中引入了质量和UX方面的改进,并扩展了MFTF覆盖范围。
Commerce Marketplace扩展供应商在发布其2.4.0扩展的新版本时,应确认其扩展与PHP 7.4兼容。
dotdigital
此版本包括以下增强功能:
- 由任何输入类型(例如,下拉和多选)捕获的客户属性值现在作为数据字段正确同步。
- 现在,会发送所有活动报价的购物车分析数据,即使它们不包含任何项目也是如此。 这允许商家在清空购物车时从项目中退出联系人。
- 商家现在可以根据各个数据字段同步网站名称、商店名称和商店视图名称。
- 愿望清单、查看和订单同步现在仅查找一次事务性数据同步限制。
- Client类的日志输出已得到改进,现在在API包装器中的所有方法中是一致的。
- 现在,可配置产品的库存数据是其子产品的总和。
- 新的插件可检测由第三方代码(管理员之外)执行的股票更新。
- 数据映射和事务性电子邮件配置信息已更新。
Amazon Pay
此版本包括:
- CSP允许列表的更新
- 能够针对多物料订单执行多项授权
- 支持日语地址
Braintree支付
此捆绑扩展取代了我们的核心Braintree集成,此集成在本版本中已删除。 请参阅Braintree付款。
克拉尔纳
此版本包括新的现场消息传送选项,以帮助购物者了解可用的信贷和融资选项。 它还包括对以下方面的改进:
- 退款
- API效率
- Cookie和单元测试
- 折扣
- 配置设置现在包含“现场消息”部分,用于控制卡拉纳促销消息的店面显示
顶点
此版本的“顶点”包括以下新功能和增强功能:
- 改进了管理员配置用户体验
- 用XML模式文件和修补程序替换安装和升级脚本
- 删除已弃用的代码(
ApiClient
和ClientInterface
)
Yotpo
Yotpo评级和审阅已与Page Builder集成。
修复的问题
我们已在2.4.0核心代码中修复了数百个问题。
安装、升级、部署
- 您现在可以按预期在
app/etc/config.php
中成功删除网站以及该网站特定于作用域的配置设置。 以前,当您尝试删除网站时,操作失败,应用程序显示以下错误:The website with code xxx that was requested wasn't found. Verify the website and try again
。 此外,应用程序在店面上显示此错误:Config files have changed. Run app:config:import or setup:upgrade command to synchronize configuration
。 GitHub-24061
- 在
index.php
中禁用的配置设置不能再从管理员中进行编辑。
- 在
config.php
中预定义了存储配置时,Adobe Commerce安装现在会成功完成,并会按预期创建存储。
\Magento\Store\App\Config\Source\RuntimeConfigSource::getEntities
已重构,以减少它进行的SHOW TABLE STATUS
查询数。 (此更改将还原为此函数在2.3.3中显示的行为。)
- 当您尝试通过运行
bin/magento setup:upgrade
来升级数据库时,不再重新运行数据脚本。 以前,升级脚本会不必要地重新运行,从而影响性能。 GitHub-19469
-
现在,当与Redis的连接中断时,应用程序会显示以下行为。 以前,应用程序未重新加载当前页面,并显示此错误:
An error has happened during application run. See exception log for details
。- 管理员和Storefront会话过期
- 管理员和店面用户必须再次登录
- 会话数据保存到
var/session/
- 未记录任何错误或异常。
bin/magento setup:di:compile
命令不再因匿名类而失败。 Yeven Sentiabov在拉取请求中提交的修复26533。 GitHub-26532,GitHub-21555
- 解决了当使用替代的LESS编译器(而不是应用程序默认附带的LESS编译器)时,Magento的Luma主题中的LESS编译问题。 Pieter Hoste在拉取请求中提交的修复24003。 GitHub-23619
- 切换到维护模式时,您不再需要具有可写的
env.php
文件。 相反,应用程序为维护模式(Cache-Control
)下的所有前端请求设置no-cache
标头。 以前,当env.php
为只读模式时无法启用维护模式,而应用程序尝试在切换到维护模式时禁用FPC。 Marco k̦Pcke在拉取请求中提交的修复25790。 GitHub-24229
- 在
ddev
安装过程中,db-ssl-verify
不再导致未定义的索引错误。 由Daniel Ruf在拉取请求中提交的_修复26763_。 GitHub-26762
- 更新了编辑器依赖关系,以实施Redis密钥过期,从而改进了Redis性能。 在拉取请求25488中由毒物提交的 修复。 GitHub-25487
AdminGWS
- 角色范围有限的管理员现在可以修改替换文本,应用程序将保存这些值。 如果不允许管理员修改替换文字,则替换文字框将灰显。
Adobe Stock集成
- 已将CSS样式添加到Adobe Stock图像显示,以支持突出显示所选图像。 在拉取请求25864中由Serhiy Zhovnir提交的 修复。 GitHub-761
- 使用箭头键移动输入字段光标后,不再触发浏览Adobe Stock预览图像的操作。 由Adarsh Manickam在拉取请求中提交的修复27138。 GitHub-973
- 现在,应用程序会缓存客户尝试对Adobe Stock图像应用过滤器时出现错误的消息。 由Shankar Konar在拉取请求中提交的修复26502。 GitHub-863
- 在单击 保存预览 但未确认保存操作后将光标移动到窗口的左垂直滚动条时,应用程序不再保存Adobe Stock图像的预览。 在拉取请求27399中由Serhiy Zhovnir提交的 修复。 GitHub-1002
分析
- 在更改商店的URL后,该商店的分析报表现在可按预期使用。 以前,当您尝试在URL更改后访问报告时,应用程序显示404错误。
- 启用AR订阅后,Analytics报表的数据同步现在会按预期启用。
后端
- 启用JavaScript缩小功能后,现在可以从管理员预览电子邮件模板(管理员 > 营销 > 通信 > 电子邮件模板)。 以前,当您尝试预览电子邮件模板时,“电子邮件预览”弹出窗口为空。 GitHub-25068
- 在创建权限有限的管理员帐户后,管理员现在可以按预期登录到管理员。 以前,无法访问管理员。 相反,具有这些权限的用户被重定向到店面,并出现404错误。 Eden Duong在拉取请求中提交的修复25909。 GitHub-25881
- 当您复制产品时,应用程序不再复制SEO数据,如URL键、元标题、元关键字和元描述。 Dasharth patel在拉取请求中提交的修复26659。 GitHub-26054
- 当您从 管理员 > 内容 > 页面 >创建图像时,应用程序不再引发错误 添加新页面。 以前,应用程序在开发人员控制台中引发此错误:
500 (Internal Server Error)
。 Eden Duong在拉取请求中提交的修复25924。 GitHub-25893
捆绑产品
- 已改进捆绑产品的
catalog_product_price
重新索引操作的性能。
- 对于默认商店视图,当捆绑产品的 税类 和 动态价格 设置被禁用时,管理员无法再在管理员中为捆绑产品手动输入税类。 以前,当管理员取消选中 税类 旁边的 使用默认值 选项时,应用程序将启用该选项,允许管理员输入其他值并保存产品。
- 现在,可在产品页面上正确计算捆绑产品价格。
- 现在,您可以向购物车添加任意数量的捆绑产品,而不会出错。 以前,当您将捆绑产品添加到购物车,然后导航到购物车时,应用程序显示以下错误:
Please correct the quantity for some products
。
缓存
- 来自
Magento\Framework\Cache
的cache.xsd
架构已重构,以便在您通过管理缓存管理禁用模块时,不具有instance
属性的缓存类型不再导致异常。 以前,当您使用不带instance
参数的cache.xml
创建缓存类型时,当您尝试禁用该类型时,应用程序会引发异常。 Andrii Beziazychnyi在拉取请求中提交的修复27307。 GitHub-26224
- 如果在部署中配置了数据库缓存引擎,
health_check.php
不再失败。 Andrii Beziazychnyi在拉取请求中提交的修复25722。 GitHub-25669
购物车和结账
- 启用 与后端同步 配置设置时,应用程序在签出期间不再引发错误。 GitHub-23833
- 现在,可以在签出工作流中按预期启用配送方法的单选按钮。
- 现在,当启用了具有 手动应用 设置的条款和条件时,对于要发往多个地址的订单,结账工作流中的订单审核页面会成功加载。 以前,审阅页面未通过验证,应用程序显示404错误。
- 在购物车上更新价格时,应用程序现在显示旋转图标。
- 现在,当迷你购物车中的产品在结账前缺货时,应用程序会显示一条信息性消息。 删除缺货项目后,应用程序会显示 继续结帐 按钮。 以前,应用程序不显示此按钮。
- 现在,当您尝试在要上传的文件损坏时通过单击 按SKU排序 添加产品时,应用程序会显示信息性错误消息。 以前,应用程序显示空白页。
- 该应用程序现在将购物车价格规则仅应用于符合规则条件的捆绑产品子产品。 以前,应用程序将购物车价格规则应用于属于捆绑产品的所有子产品。
- 已在MFTF测试中将
StorefrontMiniCartSection
替换为StorefrontMinicartSection
。 由Andrii Kalinich在拉取请求中提交的修复27955。 GitHub-27897
- 装运地址表单上对国家选择器组件的硬编码引用已删除。 Mateusz Krzeszowiak在拉取请求中提交的修复25541。 GitHub-22416
- 在Internet Explorer中查看店面时,当光标悬停在购物车中的删除图标上时,应用程序不再为购物车中的删除图标加下划线。 在拉取请求26173 中由divyajyothi5321提交的修复。 GitHub-26164
- 为帐单地址和送货地址同时选择了单个地址时,更改帐单地址不再更改客户的送货地址。 由Yurii Tvardyi在拉取请求中提交的修复26279。 GitHub-26276
- 迷你购物车的促销区域现在按预期呈现。 Matti Vapa在拉取请求中提交的修复25375。 GitHub-25373
购物车价格规则
- 现在,在结帐工作流中会应用基于付款方法的购物车价格规则。 GitHub-24206
- 更正了Datepicker页面元素在 管理员 > 营销 > 促销活动 > 目录价格规则 上的行为。 Hitesh在拉取请求中提交的修复26290。 GitHub-26289
- 已在MFTF测试中将
StorefrontMiniCartSection
替换为StorefrontMinicartSection
。 由Andrii Kalinich在拉取请求中提交的修复27955。 GitHub-27897
- 已禁用创建新购物车价格规则工作流中未使用的优惠券网格。 Eden Duong在拉取请求中提交的修复24471。 GitHub-24468
- 为帐单地址和送货地址同时选择了单个地址时,更改帐单地址不再更改客户的送货地址。 由Yurii Tvardyi在拉取请求中提交的修复26279。 GitHub-26276
目录
- 该应用程序现在禁用了受限制管理员更改产品数量属性的功能,并按预期禁用了高级库存功能。 以前,只有数量属性的可视化显示受到影响,并且应用程序在保存产品后更改数据库中的数量值。
- 当您更改计划更新中包含的分层产品的名称时,应用程序不再引发错误。 以前,当您尝试使用新名称保存产品时,应用程序显示以下错误:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '3-0-0-2.0000-0' for key 'UNQ_EBC6A54F44DFA66FA9024CAD97FED6C7', query was: INSERT INTO catalog_product_entity_tier_price (all_groups, customer_group_id, qty, value, website_id, percentage_value, row_id) VALUES (?, ?, ?, ?, ?, ?, ?)
- 现在,可以按预期从管理员保存自定义属性值。
- 现在,当 商店 > 配置 > 目录 > 最近查看/比较的产品 > 显示当前 设置为 商店视图 时,“最近查看产品”功能会显示仅与多商店部署中的当前商店视图关联的产品。 以前,应用程序显示所有网站中最近查看过的产品,无论该产品被分配到哪个网站。
- 现在,该应用程序在迷你购物车中显示产品图像时不会失真。 以前,应用程序拉伸迷你购物车中的图像以填充图像容器的整个宽度和高度。
getBasePrice
函数现在会按预期返回浮点值,而不是字符串。
- 产品比较功能现在按预期工作。 它现在只显示当前用户比较列表中的产品。
- 您现在可以为主题指定默认水印。 以前,在分配水印后,应用程序会引发致命错误。
- 现在,您可以从管理员成功编辑具有多个变体(约5,000个)的可配置产品。 以前,当您尝试编辑具有多个子产品的可配置产品时,应用程序会显示以下错误:
Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : CData section too big found in /vendor/magento/framework/View/TemplateEngine/Xhtml/Template.php on line 60
- 对 管理员 > 目录 > 产品 上的属性集排序现在按预期字母顺序进行。
- 现在,“最近查看的产品”功能在多存储部署中可按预期运行。
- 目录权限受限的管理员现在可以创建可下载的产品。 以前,管理员无法创建可下载的产品,并且应用程序引发错误。
- 默认情况下,多站点部署中受限制的管理员现在已启用新产品页面的 网站中的产品 复选框。 以前,未预先选中非默认网站的复选框,如果管理员未选中该复选框,则应用程序会显示错误消息。
addToCart
事件现在按预期在Data Layer中跟踪。 以前,更改产品的可配置选项,然后单击 添加到购物车 后,新的addToCart
事件未添加到数据层。
- 现在,在应用目录价格规则时,迷你购物车和管理购物车(管理员 > 客户 > 管理购物车)会显示正确的产品价格。 以前,店面购物车显示正确的产品价格,但迷你购物车和管理员购物车显示原始产品价格。
- 现在,可在管理员产品网格网站列上按预期筛选。 以前,筛选器结果不显示正确的产品数量,而是始终将产品总数显示为1。
- 价格条件使用
catalog_product_entity_decimal
按价格筛选。 但是,此表不包含可配置、捆绑动态和分组产品的记录,因为这些产品没有固定价格。 用于按价格过滤的正确表是catalog_product_index_price
。
- 管理目录和产品列表现在在MSRP、成本和特殊价格列中显示货币符号。 Sergiy Vasiutynskyi在拉取请求中提交的修复27261。 GitHub-21910,GitHub-20906,GitHub-20472
- 现在,当您单击关闭图标时,“为客户组添加价格”弹出窗口(管理员 > 目录 > 产品 > 新产品 > 高级定价)将按预期关闭。 由Ashna-Jahan在拉取请求中提交的修复25759。 GitHub-25433
- 为新产品的描述和标题提供的示例描述不再包含双引号。 Nathan Morgan在拉取请求中提交的修复25655。 GitHub-25654
- 当您尝试在“类别”页面上使用无效价格筛选产品时,应用程序不再引发错误。 以前,应用程序会在系统日志中记录此错误。 由Ihor Sviziev在拉取请求中提交的修复25912。 GitHub-25911
- 您现在可以导航浏览多页面类别搜索结果。 以前,当您尝试使用“返回”按钮返回到搜索结果的第一页时,应用程序会创建重复的搜索结果页。 Douglas Radburn在拉取请求中提交的修复25337。 GitHub-14971
- 已将
Eav\Attribute.php
类中getSourceModel
方法的返回类型更正为string|null
。 Mychailo在拉取请求中提交的修复25333。 GitHub-25278
- 保存新的(重复的)产品不再导致产品映像重复数百次。 Jeroen在拉取请求中提交的修复25875。 GitHub-9466
- 从管理员创建订单期间,当您删除具有
file
类型自定义选项的产品时,应用程序不再引发JavaScript错误。 由adrian-martinez-interactiv4在拉取请求24843 中提交的修复。 GitHub-24842
- 通过在版面中使用
product_page_image_large
创建不含图像的产品,会导致占位符图像按预期显示。 以前,应用程序引发此错误:Fatal error: PHP Fatal error: Uncaught TypeError: Argument 1 passed to Magento\Catalog\Block\Product\ImageFactory::getRatio() must be of the type integer, null given
。 Lukasz Bajsarowicz在拉取请求中提交的_修复26974_。 GitHub-26973
- 当产品具有现有链接时,可以使用
POST /V1/:sku/links
端点通过空的产品数组设置产品链接。 以前,应用程序会引发错误。 由Sathish Subramanian在拉取请求中提交的修复26979。 GitHub-26800
- 现在,您可以使用产品网格中的操作下拉菜单,指定当您从管理员更新多个产品的属性时,某个产品是否具有权重。 Bartomiej Szubert在拉取请求中提交的修复26075。 GitHub-6310
- 已将验证逻辑添加到网格上每页的 产品允许值 和存储配置页的网格默认值 字段上的每页 产品。 以前,存储管理员可以在这些字段中输入不可用的值。 Lukasz Bajsarowicz在拉取请求中提交的_修复27093。 GitHub-27089
目录规则
- 更正了Datepicker页面元素在 管理员 > 营销 > 促销活动 > 目录价格规则 上的行为。 Hitesh在拉取请求中提交的修复26290。 GitHub-26289
- 目录价格规则现在可以与产品详细信息页面上的预期自定义选项配合使用。 Pavel Bystritsky在拉取请求中提交的修复22917。 GitHub-22856
目录构件
CatalogWidget
产品列表现在可按预期与锚点类别一起使用,锚点类别中的产品现在已匹配并显示。 以前,当您选择的父类别作为锚点但不包含分配的产品时,产品在小组件中不可见。
- 应用程序现在会按预期显示选定父类别的所有子级。 以前,如果您选择的父类别是锚点,但不包含分配的产品,则应用程序不会显示所有嵌套产品。
- 当 存储 > 配置 > 目录 > 目录 > 最近查看/比较 > 将构件产品与后端存储同步 设置为 是 时,最近查看的产品构件现在可以正常工作。
CMS内容
- 您现在可以保存和复制所有CMS页面。 以前,当您尝试复制某些页面时,应用程序会引发此异常:
Unique constraint violation found
。
- 如果块被分配给不同的存储视图,则应用程序现在允许您创建具有相同名称的CMS块。
- 现在,可以按预期缓存从图库图像缩略图中选择。 以前,这些图像会动态调整大小。
- 在保存已分配给多个存储的CMS页面时,应用程序不再引发错误。 以前,在创建或编辑CMS页面时,应用程序保存了该页面,但抛出了此错误:
Item (Magento\VersionsCms\Model\Hierarchy\Node) with the same ID "PAGE_ID" already exists
。
- 新的CMS页面现在按预期添加到网站的商店页面层级。
- CMS页面自定义布局更新逻辑已得到改进。 应用程序现在应用来自
cms_page_view_selectable_home_somechanges.xml
的特定布局更改。 Sergiy Vasiutynskyi在拉取请求中提交的修复27131。 GitHub-26758
Cleanup
- 从模块XML中删除了一个额外的结束标记。 由Tejash Kumbhare在拉取请求中提交的修复26339。 GitHub-26338
- 更正了结帐工作流的“审核和付款”页面部分上的 我的账单地址和送货地址相同 复选框的对齐错误。 在拉取请求26169 中由divyajyothi5321提交的修复。 GitHub-26168
- 删除了签出工作流的“送货地址”部分上的字段标签和星号之间不必要的空格。 由Daniel Ruf在拉取请求中提交的_修复26285_。 GitHub-26275
- 更正了签出工作流的“送货方法”部分上单选按钮的对齐错误。 Hitesh在拉取请求中提交的修复25966。 GitHub-25962
- 更正了移动设备视图中菜单间距不一致的问题。 Hitesh在拉取请求中提交的修复26238。 GitHub-26235
- 更正了移动视图中迷你购物车“编辑”和“删除”图标的对齐错误。 由Vasilii Burlacu在拉取请求中提交的修复27493。 GitHub-26652
- 更正了“添加新税率/邮政编码”页面上的税率zip/邮政编码范围和复选框的对齐错误(管理员 > 商店 > 税费 > 税区和税率)。 由Sathish Subramanian在拉取请求中提交的修复26932。 GitHub-26917
- 从设置向导到管理员的链接现在可以按预期使用。 Oleh Usik在拉取请求中提交的修复26100。 GitHub-24990
- 已在Admin的“缓存管理”网格的“状态”列上禁用排序。 由Sathish Subramanian在拉取请求中提交的修复26215。 GitHub-26208
- 已更正 管理员 > 商店 > 属性 > 评级 > 添加新评级 对话框上的页面元素对齐错误。 由Sathish Subramanian在拉取请求中提交的修复27014。 GitHub-26992
- 更正了“添加设计更改”页面上日历图标的对齐错误。 Eduard Chitoraga在拉取请求中提交的修复26063。 GitHub-20379
- 删除了主页悬停菜单上的子菜单显示中不必要的空间。 Hitesh在拉取请求中提交的修复25973。 GitHub-25972
- 更正了storefront产品详细信息页面上价格标签的对齐错误。 在拉取请求26237 中由divyajyothi5321提交的修复。 GitHub-25936
- 更正了与移动视图中产品列表页面上的 添加到购物车 按钮相关的缺货文本的对齐错误。 在拉取请求26183 中由divyajyothi5321提交的修复。 GitHub-26181
- 在 管理员 > 系统 > 扩展 > 集成 上显示的集成成功消息现在可正确显示。 在拉取请求26011 中由divyajyothi5321提交的修复。 GitHub-25930
可配置的产品
- 现在可以通过API成功禁用可配置产品的子产品。
- 将 条件设置为“类别”(仅限父级) 的购物车价格规则现在可以按预期持续工作。
- 您现在可以从交叉销售选项卡中将可配置产品添加到购物车。 现在,当您选择产品并单击该选项卡中的 添加到购物车 时,您将转到产品详细信息页面,您可以在其中选择特定的产品选项。 以前,应用程序会将您重定向到404错误页面。
- 当用于链接这些产品的API调用失败时,应用程序不再将简单产品链接到可配置产品。
- 更正了可配置产品当前变体列表中SKU的呈现。 KaushikChavda在拉取请求中提交的修复26007。 GitHub-25591
- 您现在可以通过在没有关联标签的字段中输入 管理员 > 系统 > 配置 中的值来保存
system.xml
配置信息。 由Andrii Chorniy在拉取请求中提交的修复25985。 GitHub-23899
\Magento\ConfigurableProduct\Model\Product\Type\Configurable::isSalable
的性能已优化。 由Stanislav Ilnytskyi在拉取请求中提交的_修复26071_。 GitHub-26065
- 改进了负责更新可配置产品映像的逻辑。 以前,与可配置产品关联的简单产品仅显示与可配置产品关联的默认图像,而应用程序有时会显示产品的错误主图像。 Sergiy Vasiutynskyi在拉取请求中提交的修复26560。 GitHub-26473,GitHub-26856,GitHub-26858
- 现在,当您选择可配置产品的折扣选项时,应用程序会按预期显示产品的特殊价格。 以前,在选择折扣选项时,
class="normal-price"
未更改为class="special-price"
。 Ravi Chandra在拉取请求中提交的修复26170。 GitHub-24972
Cookies
setRedirectCookie
和clearRedirectCookie
函数现在按预期工作。 以前,这些函数向浏览器发送Cookie,但缺少所有Cookie参数。 GitHub-24547
- 当客户导航到新商店而不接受Google Tag Manager Cookie时,将不再触发Google Tag Manager标记。
- 元数据已添加到
setRedirectCookie
和clearRedirectCookie
函数。 Alexander Lukyanov在拉取请求中提交的修复24612。 GitHub-24547
自定义客户属性
- 现在,应用程序在结账工作流的地址部分中按预期显示自定义客户地址属性值。 以前,应用程序显示自定义客户地址属性代码而不是值,并触发了JavaScript错误。
- 当您在店面中创建公司帐户时,在 Forms的 字段中包含要使用的空客户属性字段时,应用程序不再引发错误。 以前,应用程序引发此错误:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to Magento\Eav\Model\Attribute\Data\Text::validateLength() must be of the type string, null given
。
- 该应用程序现在可以保存自定义客户地址属性,并按照预期在注册表单中实施它们。 以前,当您在从购物车中创建帐户时创建新的自定义客户地址属性时,应用程序不会保存属性信息。
客户
- 注册新帐户后,不再取消订阅作为来宾订阅快讯的客户。
- 应用程序现在对密码的每次更改都使用新的
PHPSession
。
- 您现在可以使用 客户 > 所有客户 > 添加新客户 上的“与网站关联”下拉菜单,成功创建客户并将其与特定网站关联。 以前,当您尝试在多站点部署中将新客户与非默认网站关联时,应用程序显示以下错误:
The store view is not in the associated website
。
- 现在,当交易最初由于信用卡无效而被拒绝,但后来成功完成时,应用产品会保存客户在结账期间在默认帐单和送货字段中输入的信息。 以前,虽然应用产品在客户输入有效付款信息时创建了订单,但是它没有更新结帐工作流中“我的帐户”部分的默认帐单或送货地址。
- 现在,当您在多站点部署中从管理员创建新客户时,应用程序会遵循客户组设置。
- 启用
cron
且客户网格索引器设置为 按计划更新 时,应用程序现在使用 客户和地址(单个文件) 选项成功导入客户数据。 执行cron
后,导入的客户信息可在Admin中按预期使用。 以前,应用程序会导入客户数据,但不会使用新导入的客户记录更新客户网格。
- 当需要出生日期时,您现在可以从店面创建新客户。 以前,即使输入了有效的DOB值,您也无法在需要此字段时创建新客户。 GitHub-26700
- 从管理员创建的客户现在会按预期遵循默认客户组设置。
- 在客户注销并重新登录后,
PHPSessionId
现在按预期更改。
- 现在,客户购物车的管理员视图会显示在多网站部署中,从多个网站添加到购物车的所有产品。 以前,当客户将产品从非默认网站添加到购物车时,即使 共享客户帐户 设置为 全局,管理员也不会显示该产品。
- 从管理员编辑客户时,验证现在可在 出生日期 字段中按预期工作。 以前,应用程序未考虑用户区域设置,对于某些出生日期,会显示此错误:
The Date of Birth should not be greater than today
。 Sergiy Vasiutynskyi在拉取请求中提交的修复27149。 GitHub-27027
- 从管理员下订单时,不再需要email字段。 Solwininfotech在拉取请求中提交的修复24479。 GitHub-22251
- 现在,当管理员查看购物车时,应用程序仅显示客户放入购物车的产品。 以前,当从管理员那里查看时,客户的购物车会显示目录中的所有产品。 Ravinder在拉取请求中提交的修复26489。 GitHub-26437
- “我的帐户”仪表板现在在移动视图中正确显示电子邮件地址值。 Eden Duong在拉取请求中提交的修复25942。 GitHub-25935
- 多次单击客户注册表单上的 创建帐户 按钮不再多次提交注册请求。 PrinceCB在拉取请求中提交的修复26642。 GitHub-26590
客户区段
- 当您以分配给客户区段的用户身份登录时,当客户区段包含过去订单的条件时,应用产品不再从客户区段中删除您的客户帐户。 以前,登录后必须单击 刷新区段数据,应用程序才会在“匹配的客户”列表中显示您的帐户。
- 当区段条件包括订单总数时,客户区段现在会按预期工作。
- 现在,当客户帐户设置为全局共享时,可按预期应用客户区段规则。
- 我们改进了编辑和保存包含大量客户(超过300万)的客户区段的性能。 以前,在创建或编辑包含许多客户的客户区段时,应用程序会引发500错误。
目录
- “默认状态”下拉菜单现在由数据填充,该数据基于您为 默认纳税目标计算 字段配置值时分配给所选网站的允许国家/地区。 以前,此下拉列表列出分配给默认网站的国家/地区。
可下载
- 您现在可以使用导入文件按SKU和说明批量更新可下载的产品。 以前,发生验证错误,并且导入失败。
动态块(以前称为横幅)
- 现在,动态块可按预期用于客户区段。 当应触发动态块的条件未满足时,应用程序不再显示动态块。 以前,当购物车为空时,应用程序会为以访客身份登录的用户显示一个动态块。
- 动态块现在根据客户区段和商店视图在店面中呈现。
EAV
- 该应用程序现在遵循特定于存储的设置,这些设置确定在多站点部署中是否需要签出工作流的电话号码字段。 以前,在部署中,有一个存储要求在签出工作流中填写此字段,而另一个存储未填写,则在签出时未要求填写此字段的客户遇到此错误:
Please check the shipping address information. "telephone" is required. Enter and try again
。
- 按
attribute option_id
排列的EAV排序顺序现在按预期运行。 Tan Sezer在拉取请求中提交的修复24360。 GitHub-24357
- 现在,您可以在通过REST添加新属性并将其分配给管理员的属性集之后创建新产品。 以前,应用程序引发500错误。 Sergiy Vasiutynskyi在拉取请求中提交的修复27191。 GitHub-26827
电子邮件
- 向客户请求退货时发送的授权电子邮件现在会按预期包含RMA状态。 以前,此电子邮件显示空字符串,而不是预期的返回状态。
- 当客户在全局共享客户帐户的多站点部署中报告忘记密码时,不再从当前网站重定向客户。 以前,客户会被重定向到创建帐户的网站。
- 向客户发送的订单确认电子邮件现在按预期包含订购项目列表。 以前,当您通过加载和保存默认模板在“管理员”中创建电子邮件模板时,从该模板生成的电子邮件不包括排序项目列表。 GitHub-26882
框架
- Zend框架上的依赖项已迁移到Laminas项目,以反映Zend框架到Linux Foundation的Laminas项目的转换。 Zend框架已被弃用。 由Ihor Sviziev在拉取请求中提交的修复26436。 GitHub-26335
- 对于使用荷兰语言环境的管理员帐户,特殊价格范围设置(起始/截止日期)现在可以正常工作。
-
php bin/magento cron:run
不再多次处理更改日志表中的项。 以前,当更改日志表中有100000个以上新版本时,可能会为同一entity id
调用多次操作。 -
现已删除
php bin/magento setup:cron:run
命令。 此外,升级时,请删除crontabs中对此文件的引用。 -
update/cron.php
文件已在2.4.0中删除,如果该文件存在于您的安装中,则可以安全地将其删除。 此外,升级时,请删除crontabs中对此文件的引用。
- 现在,当您从管理员编辑产品页面更新产品时,“更新属性”操作会从
catalog_product_entity
正确更新产品updated_at column
的时间戳。
- 运行
setup:upgrade
时,在env.php
中设置'persistent' => '1'
不再引发错误。
- 无效的表单键。 请刷新登录页面上的页面 文本字符串,现在已按预期翻译。
- 我们改进了
Magento\Framework\App\DeploymentConfig\Reader::load
函数的性能。 以前,在向Magento发出请求时,会重复调用此函数,这会导致每次调用该方法时加载config.php
和env.php config
个文件。
- 当管理员从管理员创建订单时单击产品时,应用程序不再下载
blank.html
页面。
- 在引用说明中为页面上不存在(未声明)的组件添加到默认布局中的不可缓存块不再影响页面缓存。 将不可缓存块添加到默认布局处理程序会使得所有页面都不可缓存。 这是布局生成过程的结果:在布局生成过程中,应用程序收集特定页面的所有可用布局句柄,并将来自这些句柄的说明合并到页面的最终布局结构中。 默认布局句柄用作每个页面的基本句柄。 因此,为默认处理程序声明的布局更新会出现在每个页面上。 GitHub-9041
- MySQL锁定管理器现在是主锁定管理器。 因此,最低要求的MySQL版本为5.7.9。
queue_consumer.xml
现在允许handler
类中的数字。 以前,当处理程序路径中包含数字时,XSD验证失败。 Eden Duong在拉取请求中提交的修复25952。 GitHub-25731
- 已更正类
\Magento\Framework\MessageQueue\Topology\Config
中类成员变量$queueIterator
的doc
块中引用不正确的@var
。 由Artem Voloznov在拉取请求24976 中提交的修复。 GitHub-24971
- 现在,当文档不再
loading
时,会触发JavaScript页面加载侦听器,而不是等到文档标记为complete
时触发,因为等待文档标记为complete
可能会导致呈现JavaScript内容时出现严重延迟。 John Hughes在拉取请求23313和拉取请求50 中提交的修复。 GitHub-22909
- 现在,当您尝试将数量为0或负数的产品添加到愿望清单时,应用程序会显示以下信息性消息:
Please enter a valid number in this field
。 以前,应用程序显示此错误:We can't update your Wish List right now
。 Pawe Tylek在拉取请求中提交的修复25641。 GitHub-25032
- 应用程序不再支持从
Magento\Framework\Api\AbstractExtensibleObject
类继承DTO类。 缺少PHP注释@api
已添加到AbstractExtensibleModel
,缺少@deprecated
批注已添加到AbstractExtensibleObject
。 Alexander Taranovsky在拉取请求中提交的修复22011。 GitHub-22010
- 在执行非英语区域设置的商店中更改与产品相关的日期(例如,
news_from_date
、news_to_date
、special_price_from_date
、special_price_to_date
)后,您现在可以按预期保存产品。 以前,应用程序抛出的错误与以下内容类似:Invalid input datetime format of value '22/5/2019
。
常规修复
- 客户模块不再依赖于审核模块。 以前,由于此依赖关系,无法禁用审阅模块。
- 现在,当页面的默认属性集包含带有选择标签的下拉列表属性时,产品编辑页面会成功加载。
- 现在,可从“管理员”的“订单”标签访问的图形订单图表可准确反映订单数量。
- 当这两个URL不同时,商店的管理员URL不再重定向到店面URL。
- 现在,当在多个网站中使用性能工具包配置文件时,可以正确生成子类别的URL重写。
- 您现在可以删除空的用户模型,而无需删除为其分配该模型的管理员角色。
- TinyMCE4编辑器现在支持所有HTML标签。
- 单击创建贷项通知单工作流中的 离线退款 按钮,现在会按预期生成贷项通知单。 以前,JavaScript错误会禁用此按钮,并且应用程序不会创建贷项通知单。
- 商家现在可以创建类型为
Decimal
的产品属性。 以前,由于较早的错误修复,应用程序不显示产品属性类型Price
。 GitHub-26949
- 从“类别”页面的“设计”选项卡设置了 Layout = Product - Full Width 时,当您尝试打开店面上的“类别”页面时,应用程序不再返回500错误。
- 更正了
AbstractSimpleObjectBuilder.php
中的错误。
- MAP(最低广告价格)现可按预期用于集团产品。
- 在多存储部署的CMS页面上更改语言时,应用程序现在会将您重定向到相应存储视图的主页。 以前,当您在某些CMS页面上更改语言时,应用程序会显示404页面。
- 已重构订单查询(
SalesOrderIndexGridAsyncInsertCron
)以减少返回的数据集大小和查询频率。
- 您现在可以成功创建CMS页面,并将其分配给CMS层次结构中的网站根类别。
- 启用类别权限后(例如,未登录 客户组已被授予这些权限),来宾现在可以显示产品价格或将产品添加到购物车。
- 产品规则现在按预期适用于缺货产品。 以前,即使将规则配置为显示缺货产品,应用程序也不会在相关产品列表中显示缺货产品。
- 单击管理员订单的 跟踪发货 按钮后,跟踪信息会按预期显示在弹出窗口中。 以前,此链接会将管理员带到“登录”页面。
- 现在,应用程序会显示信息性错误消息,并在客户尝试完成包含多选客户属性的注册表单时出现错误时继续按预期显示注册表单。 以前,应用程序显示500错误。
- 应用产品现在会在部分退款订单之后显示 贷项通知单 按钮。 以前,在创建部分退款后,应用产品不会显示此按钮,并且您无法为订单的其余部分创建贷项通知单。
- 现在,通过REST批量订单更新可按预期修改订单状态。 以前,应用程序引发此错误:
report.ERROR: Property "AdditionalInformation" does not have accessor method "setAdditionalInformation" in class "Magento\Sales\Api\Data\OrderPaymentInterface".
- 属性筛选器现在按预期显示在“类别”页面的“购物选项”块中。
- 现在,您可以在安装了B2B的部署中,将“类别”页面上的产品限制从24更改为36。 以前,当此产品限制增加到36时,应用程序会引发致命错误。
- 在Internet Explorer中显示时,客户帐单地址和送货地址现在会按预期显示在“管理员客户编辑”页面的“地址”选项卡下。 由Vasilii Burlacu在拉取请求中提交的修复27383。 GitHub-27370
- 现在,当您删除书签视图时,所有书签视图都可编辑。 以前,在您删除具有多个书签视图的帐户的第一个视图后,所有书签视图都变为不可编辑。 Bartomiej Szubert在拉取请求中提交的修复26263。 GitHub-14913
- 分层导航不再中断样本模块的HTML5验证。 以前,在W3C标记HTML服务中未定义的属性发生验证错误,但这些属性已更改为数据属性。 Nirav Patel在拉取请求中提交的修复26055。 GitHub-22363
- 未使用的
require.JS
别名(critical-css-loader
) has been removed from app/code/Magento/Theme/view/frontend/requirejs-config.js
)。 Tu Nguyen在拉取请求中提交的修复26987。 GitHub-26963
- 该应用程序现在实现PHP7.x的可触发接口,以便能够捕获可能泄露敏感信息(如密码)的所有错误。 由miszyman在拉取请求中提交的修复25250。 GitHub-23350
- 在创建新文件夹弹出窗口中输入新文件夹名称时,按ESC键现在会按预期关闭弹出窗口,而不创建文件夹。 由Shankar Konar在拉取请求中提交的修复25349。 GitHub-572
- 更正了错误嵌套的HTML结构。 以前,此结构会导致相关产品、追加销售产品或交叉销售产品列表的布局中断。 Pieter Hoste在拉取请求中提交的修复27926。 GitHub-27920
- 删除了对
addToolbarBlock
的重复调用,该调用在ORDER BY
中导致两个类似的条件。 由Vasilii Burlacu在拉取请求中提交的修复27263。 GitHub-26708
- 商家现在可以设置管理员用户帐户的到期日期。 Laura Folco在拉取请求中提交的修复22837。 GitHub-22833
- 我们已将
@api
PHP注释添加到AbstractExtensibleModel
,将@deprecated
PHP注释添加到AbstractExtensibleObject
,并将@see
添加到AbstractExtensibleModel
。 Alexander Taranovsky在拉取请求中提交的修复22011。 GitHub-22010
礼品卡
- GET
V1/orders/:orderId
调用按预期返回礼品卡代码。
礼品包装
- 现在,在产品级别启用礼品包装后,便可将其添加到购物车。 以前,您可以将礼品包装添加到店面的产品中,但应用程序不会在订单摘要中包含礼品包装。
- 当您将过期日期更改为将来日期时,已过期的礼品卡将按预期激活。 以前,礼品卡保持过期状态。
- 启用 允许订单级别 上的礼品邮件设置和模板缩小后,现在将正确加载“管理员创建订单”页面。 以前,当您尝试在启用这些设置时打开此页面时,应用程序引发此错误:
Warning: require(content.phtml): failed to open stream: No such file or directory
。
- 现在,该应用程序可根据您订购的礼品包装产品数量正确计算礼品包装成本。 以前,该应用程序仅在订单中包含一件产品的礼品包装费用。
Google Tag Manager
- 商家现在可以推迟向Google Analytics发送数据,直到满足指定的条件。
- 已还原缺少的
Magento_GoogleTagManager::checkout/set_checkout_option.phtml
模板。
GraphQL
- 现在,当购物车处于非活动状态并创建新购物车ID时,应用程序会返回GraphQL消息
The cart isn't active
,而不是Current user does not have an active cart
。 Vadim Malesh在拉取请求中提交的修复27187。 GitHub-26117
- 删除了在使用GraphQL将产品添加到购物车时,之前添加的产品缺货时导致错误的代码。 AleksLi在拉取请求中提交的修复27015。 GitHub-26683
-
更正了GraphQL中的一个问题:在对产品查询中使用片段时,应用程序没有返回所有必需的信息。 Riccardo Tempesta在拉取请求中提交的修复26218。 GitHub-26217
-
GraphQL突变
setShippingMethodsOnCart
不再检索available_shipping_methods
属性中的错误数据。 Vadim Malesh在拉取请求中提交的修复27004。 GitHub-26742
分组的产品
- 现在,当属于同一组的另一个简单产品缺货时,您可以将属于该组产品的简单产品添加到购物车。 由Gihovani Filipp Pereira m̩ Detrio在拉取请求24955 中提交的修复。 GitHub-22304
- 现在,该应用程序会按预期向客户发送有关退款组产品的电子邮件。 Alexander Taranovsky在拉取请求中提交的修复26246。 GitHub-26245
- 现在,当分组产品的某个其他子产品缺货时,您可以将分组产品的子产品添加到购物车。 以前,当一个子产品缺货时,您无法将任何其他子产品添加到购物车。
图像
- 现在,当您保存类别图像时,图像会按预期保存在
pub/media/catalog/category
中。 以前,应用程序将这些图像保存在pub/media/catalog/tmp/category
中。
- 水印图像不再遮蔽它们所覆盖的产品图像。 以前,当水印图像大于其所应用到的产品图像时,该产品图像不可见。
- 您现在可以从管理员将图像成功保存到类别。 以前,保存图像后,URL的一部分缺失,无法重新打开图像。
- 应用程序现在在上载后按预期显示
.png
图像。
- 现在,当从基本URL与店面URL不同的管理员上传图像时,使用页面生成器上传到CMS块的图像会按预期显示在预览中。
- 使用REST添加或更新图像时,现在会按预期创建图像缩略图。 Sergiy Vasiutynskyi在拉取请求中提交的修复27170。 GitHub-26825
Block\Product\ImageFactory
生成的图像的自定义属性现在可以正确呈现。 以前,由于HTML输出的转义不正确,您无法将自己的自定义属性添加到属性标记中。 由alexander-aleman在拉取请求中提交的修复26959。 GitHub-25219
- 从iPhone查看店面时,图像不再模糊。 Dmitriy在拉取请求中提交的修复24743。 GitHub-24735
- 店面上的图像现在响应了。 以前,图像高度会出现扭曲。 由Sean van Zuidam在拉取请求中提交的修复27041。 GitHub-27040
- 使用
Magento_blank
主题时,默认商店徽标现在会显示在店面上。 由Vasilii Burlacu在拉取请求中提交的修复27497。 GitHub-27496
导入/导出
- 当导入的数据包含
swatch_image
存储视图键的值为no_selection
时,应用程序在导入期间不再引发错误。 以前,应用程序引发此错误:Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s): 1
。 GitHub-25026
- 在具有多个商店视图的部署中导入产品时,当您使用
hide_from_product_page
设置时,应用程序现在会按预期更新图像。
- 当
row_id
不等于产品的entity_id
时,现在可自定义的选项按预期导入。 以前,当row_id
不等于产品的entity_id
时,应用程序不会导入可自定义的选项,这会导致某些产品无法导入。
- 现在,与可配置产品关联的图像可在导入期间正确上传,并可按预期从产品编辑页面中查看。
- 导出的
.csv
文件现在反映了用于包含缺货或缺货产品的筛选器设置。 以前,应用程序会导出所有产品,无论您选择哪种库存设置。
- 您现在可以使用导入工作流的客户并解决单个文件选项成功导入或更新客户。 以前,当您选择此选项时,应用程序不会导入客户数据并显示以下错误:
Invalid data for insert
。
- 现在,导入并更新产品状态后,库存索引器会按预期触发。 以前,Stock Indexer不对更改的产品库存数据进行索引。
- 在指定
store_view_code
时,应用程序现在可以成功导入可配置产品的子产品的所有自定义选项。 无论您选择单独还是集体导入可配置产品,此功能均起作用。 以前,当导入文件包含多个项并且指定了store_view_code
时,应用程序无法成功导入所有自定义选项。
- 现在,应用程序会在产品导入期间提供一条消息,用于标识导入的
.csv
文件中的哪些产品具有重复的密钥。 商家可以使用此信息解决冲突。 以前,应用程序显示此错误:Notice: Undefined index: name in /var/www/html/ee233dev/app/code/Magento/CatalogImportExport/Model/Import/Product.php on line 2524
- 现在,当您尝试从 系统 > 导出 列表中删除目录时,应用程序会显示信息更丰富的错误消息,并且不显示下载链接。 以前,当您尝试从此列表中删除目录时,应用程序继续显示无法下载的文件的下载链接,并显示一条信息不充分的错误消息。
- 导入期间使用的
.csv
文件现在包含可下载产品的正确链接,并且现在格式正确以支持导入和更新可下载产品。
- 现在,当您为“替换”设置导入行为,选择之前导出的
.csv
文件,然后单击“检查数据”时,应用程序将成功导出.csv
文件。 以前,应用程序显示此错误:Data validation failed. Please fix the following errors and upload the file again
和Following Error(s) has been occurred during importing process
。
- 现在,导入并更新产品状态后,库存索引器会按预期触发。 以前,Stock Indexer不对更改的产品库存数据进行索引。
- 产品导入期间生成的
.csv
文件现在按预期包含可下载产品的组标题。 以前,在导入期间对group_title
进行不必要的验证会阻止显示可下载产品的组标题。
- 启用
cron
并且使用 (客户和地址(单个文件)) 选项执行客户导入时,应用程序会按预期将数据填充到管理员客户网格。 在customer_grid indexer
的手动重新索引完成后,客户网格会显示客户。 以前,应用程序不会使用新导入的客户地址更新客户网格。
- 应用程序现在在自动重新索引后按预期显示客户列表。 以前,尽管手动运行
bin/magento index:reindex
有效,但客户网格在自动重新索引后不显示客户信息。
- 在产品导入完成后,应用程序现在会按预期从
<Magento_home>/var
中删除临时文件。
- 当产品由
.csv
文件导入时,应用程序不再在管理员中创建重复的SKU。
- 当导入的可配置属性的值中包含等号(=)时,导入不再失败。 由dhoang89在拉取请求中提交的修复25194。 GitHub-25188
- 现在,所有导出的网格数据(Adobe Commerce和自定义数据)都具有选项标签,而不是类型为
Select
或Multiselect
的所有列的选项值。 以前,在导出此数据时,导出的电子表格包含具有ID的列,而不是网格中显示的值。 由Maksym Novik在拉取请求中提交的修复26523。 GitHub-25963
- 现在,通过导入
.csv
文件更新产品后,应用程序会按预期在店面上显示捆绑产品。 Pavel Bystritsky在拉取请求中提交的修复25664。 GitHub-25540
索引
- 我们改进了
indexer_update_all_views
的性能。 现在,索引速度更快,不再处理不活动的规则,并且缓存中仅清除了已更改产品的条目。
- 店面上的产品价格现在准确地反映了计划目录价格规则更新的应用。 以前,在手动重新编制索引(
php bin/magento indexer:reindex catalogrule_rule
)之前,价格不会反映计划的购物车价格规则。
- 添加不可搜索的属性(即
is_searchable
、is_filterable
、is_visible_in_advanced_search
属性已禁用)后,您现在可以成功地重新索引产品数据库。
- 应用程序现在显示一条消息,标识索引器以及重新索引操作失败时索引操作所用的时间。 Lukasz Bajsarowicz在拉取请求中提交的_修复26207_。 GitHub-26206
- 现在,保存在启用了
onthefly
索引器和平面表的商店中的产品会遵循网站分配。 以前,如果您从产品中删除所有网站分配然后保存它,则所有平面表都将包含该产品,而不管指定的网站分配是什么。 Abel Truong在拉取请求中提交的修复27365。 GitHub-16315
基础架构
- 不再支持Internet Explorer 11.x浏览器。
- 与客户注册表单的 出生日期 字段关联的验证逻辑不再触发JavaScript错误。
- 添加了集成测试,以涵盖类别存储库
get()
方法的$storeId
。 Lukasz Bajsarowicz在拉取请求中提交的_修复27048_。 GitHub-27044
- 启用Safari中的 阻止所有Cookie 设置不会再导致JavaScript错误,应用程序会按预期显示
cookies disabled
消息。 以前,应用程序在控制台中显示多个SecurityError (DOM Exception 18): The operation is insecure
错误。 Rl a̼ Verdugo Lorenzo在拉取请求中提交的修复253243}。GitHub-13865
- 运行集成测试时,应用程序不再引发此错误:
Error: Call to a member function findFile() on array (/var/www/html/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php:59)
。 以前,AutoloaderRegistry::getAutoloader
的问题会导致集成测试随机失败。 Lukasz Bajsarowicz在拉取请求中提交的_修复26480_。 GitHub-26479
/module-sales/view/frontend/templates/order/order_date.phtml
中的date
标记已更正为span
。 以前,当您在店面 我的帐户 > 我的订单 页面上单击 查看订单 时,应用程序会在exception.log
文件中记录错误。 由Andrii Chorniy在拉取请求中提交的修复25895。 GitHub-13269,GitHub-25738
- JavaScript mixin模块已重构,以改进高级捆绑模块mixin的加载和应用。 以前,应用程序不会为高级捆绑模块加载或应用mixin。 Mateusz Krzeszowiak在拉取请求中提交的修复25587。 GitHub-25586
grunt clean
命令现在会按预期清除生成的代码和元数据文件夹。 Andrii Beziazychnyi在拉取请求中提交的修复25765。 GitHub-25739
- 现已缓存
getVersion
结果(ProductMetadata::getVersion
),这改进了ProductMetadata::getVersion
方法的性能。 Lukasz Lewandowski在拉取请求中提交的修复26001。 GitHub-24025
additional_information
缺少的setter已添加到OrderPaymentInterface
,这解决了其架构声明与接受的属性之间的不一致问题。 Antonino Bonumore在拉取请求中提交的修复26748。 GitHub-26745,GitHub-13222
分层导航
- 当启用了 在分层导航中使用:可筛选(包含结果) 店面属性时,应用程序现在在类别页面上呈现 是/否 属性。
- 冗余
\Magento\Sales\Model\Order\Email\Sender\ShipmentSender
已弃用,支持\Magento\Sales\Model\Order\Shipment\Sender\EmailSender
。 由Adarsh Manickam在拉取请求中提交的修复26714。 GitHub-14885
记录
- 订单状态更改现在按预期记录在 系统 > 操作日志 > 报表 下。
- 该应用程序现在会按预期在“管理操作”日志中记录销售装运操作。
- CMS页面保存操作现在记录在管理员操作日志中。 以前,只记录查看操作。
- 当“管理操作日志记录”选项卡上启用了 选择要记录的所有操作 时(管理 > 存储 > 配置 > 高级),CMS页面上的保存操作现在会按预期记录在管理操作日志中。
- CMS页面修改现在会按预期记录在操作日志中。 MFTF现在涵盖此功能。 Lukasz Bajsarowicz在拉取请求中提交的_修复27597_。 GitHub-171
媒体集
- 在命名媒体集中的新文件夹后单击 Enter 将保存您所做的所有更改。 以前,单击 Enter 而不使用鼠标选择 确定 会导致所有更改丢失。 Sergiy Vasiutynskyi在拉取请求中提交的修复27029。 GitHub-26847
- 现在,您可以在介质集下创建一个与主文件夹同名的子文件夹。 以前,无法以相同的名称保存子文件夹。 Vadim Malesh在拉取请求中提交的修复27976。 GitHub-1270
媒体存储
- 当
get.php
请求图像时,不再重新生成var/resource_config.json
。 以前,每次调用get.php
时都会重写此文件。
New Relic
- Adobe Commerce
cron
作业名称现在按预期包含在NewRelic APM监控 — 事务中的事务跟踪中。 这包括从命令行执行的cron
作业以及标准计划程序执行的作业。 Lukasz Bajsarowicz在拉取请求中提交的_修复25957_。 GitHub-22047
新闻稿
- 客户现在可以按预期订阅新闻稿。 以前,当客户尝试确认其订阅时,应用程序显示以下错误:
This is an invalid subscription confirmation code
。
- 店面页脚的新闻稿输入字段现在由任何支持的浏览器相同地呈现。 在拉取请求26182 中由divyajyothi5321提交的修复。 GitHub-26176
- 有关新闻稿订阅的店面消息现在按HTML中的预期呈现。 Oleh Usik在拉取请求中提交的修复26455。 GitHub-25162
订购
- 当网站显示设置指定应排除税时,订单汇总小计不再显示排除的税。 以前,当多个网站配置了不同的显示设置时,无论应用商店级别的配置如何,都会将服务器变量中定义的设置用于应用商店。
支付方式
- 第三方支付方法Authorize.Net、eWay、CyberSource、Braintree和Worldpay已经集成到核心代码中。 商家应该迁移到Commerce Marketplace上提供的官方扩展。
- 不再支持重要欺诈防护的核心实施。 商家应迁移到Commerce Marketplace上可用的Signifyd Fraud & Chargeback Protection扩展。
- 配置 Website Payments Pro托管解决方案 后,您现在可以成功完成订单并返回商户主页。 以前,当您单击 返回商家 时,应用程序引发此错误:
Invalid Form Key. Please refresh the page
。
- 切换账单地址不再导致JavaScript函数文本在店面结账工作流的付款部分呈现。 Chris Pook在拉取请求中提交的修复26378。 GitHub-26375
- 贷项通知单现在在贷项通知单概览的 调整退款 字段中显示正确的金额。 Sergiy Vasiutynskyi在拉取请求中提交的修复27343。 GitHub-13851
- 保存报价后,您现在可以从
quote_payment column additional_information
表中删除其他信息。 以前,保存报价后无法删除此信息,因为\Magento\Payment\Model\Info
中的unsAdditionalInformation
方法未正确初始化数据。 由Marco Oliveira在拉取请求中提交的修复26084。 GitHub-26083
- 现在,付款指示是从下订单的商店视图中派生出来的。 以前,付款指示是从默认商店视图中使用的,因为
BeforeOrderPaymentSaveObserver
方法从默认商店视图中提取了付款指示。 Karyna Tsymbal在拉取请求中提交的修复26399。 GitHub-26332
- 现在,应用产品会收集在具有多个商店的部署中下达订单的商店中显示的付款信息,以及发票和发运发票中的付款信息。 以前,应用程序从默认商店获取付款信息。 Bartomiej Szubert在拉取请求中提交的修复26765。 GitHub-17933
PayPal
- 现在,当客户在结帐工作流中输入无效的送货地址后每次单击 使用PayPal付款 时,应用程序都会显示信息性错误消息。 以前,应用程序仅在客户首次单击按钮时显示错误消息,而不会在后续单击时显示错误消息。
- 当使用PayPal的付款失败时,应用程序不再在结账工作流的“付款审核”部分将订单的状态更改为
Processing
。
- 您现在可以使用“工资流链接”付款方法成功完成订单。 以前,Payflow Link付款方法始终拒绝付款,因为订单状态保持在
Pending
付款状态,即使付款方法日志中的订单状态为Approved
也是如此。
- 触发欺诈过滤器时,使用PayPal Payflow Pro下单的订单现在设置为
Suspected Fraud
状态。
- 现在,您可以将PayPal Express结帐与任何受支持的信用卡结合使用。 以前,当您在使用PayPal Express签出功能完成订单时单击信用卡按钮时,应用程序挂起,并且您无法输入任何信用卡信息。
- 触发欺诈筛选器时,在PayPal Payflow Pro中下单的订单现在设置为
Suspected Fraud
状态。 以前,在申请方进行付款审批之前,PayPal上的付款交易记录状态未经验证。
- 启用“网站限制”后,Payflow Pro现在可按预期工作。
- 现在,应用产品将成功处理通过PayPal Express结帐下达的订单,其中订单的发运地址指定了客户已在文本字段中手动输入而不是从“发运”页的下拉菜单中选择的国家/地区。 以前,应用程序在订单审核页面上显示此错误:
Error 500: NOTICE: PHP message: PHP Fatal error: Uncaught Error: Call to a member function getId() on null in httpdocs/vendor/magento/module-paypal/Model/Api/Nvp.php:1527
。 GitHub-26698
- PayPal Pro支付方式现在可在Chrome 80浏览器中按预期工作。 此付款方法以前调用一个回调端点,该端点需要访问客户的会话,而新的默认Chrome SameSite Cookie功能不允许进行访问。 GitHub-26840
- 当永久签出购物车已启用,且 注销时清除持久性 设置设置为 否 时,您现在可以成功使用PayPal Express支付订单。 以前,应用程序会将您重定向到“登录”页面。
- Paypal Express和Web Payments Pro的付款现在在处理开始后按预期移至
Processing
状态。 以前,即使付款信息处于Processing
状态,Paypal Web Payments Pro付款仍处于Pending
付款状态。 Azambon在拉取请求中提交的修复25876。 GitHub-25659
性能
- 客户数据部分失效逻辑已得到改进。 此版本引入了使所有客户部分数据失效的新方式,可避免在自定义
sections.xml
失效处于活动状态时本地存储出现已知问题。 (以前,当具有操作无效的自定义 etc/frontend/sections.xml 时,未正确填充私有内容(本地存储)。) 查看私人内容。
- 为提高进口速度,对客户账户进口进行了重组。
- 商家现在可以使用延迟加载来加载图像。 Timon de Groot在拉取请求中提交的修复27033。 GitHub-27032
- 仪表板图表已迁移到
chart.js
库。 由Bartomiej Szubert在拉取请求中提交的修复26923。 GitHub-186
- 通过重构属性选项数组的构建方式,提高了在包含许多产品属性(3,000 - 23000个选项)的大型目录上运行的操作的性能。 Behnam Shayani在拉取请求中提交的修复25452。 GitHub-20966
定价
- 该应用程序现在可以保存并显示分层产品的正确价格,即使您已经多次编辑了产品。 以前,应用程序不会保存对产品价格进行的最后一次编辑。 Ravi Chandra在拉取请求中提交的修复26162。 GitHub-25195
- 现在,固定保存百分比和折扣保存百分比均可正确应用于订单的最终价格。 以前,应用程序在产品详细信息页面上显示不正确的分层价格(固定和折扣)保存百分比。 由Sathish Subramanian在拉取请求中提交的修复26584。 GitHub-26583
产品警报
- 向客户发送的有关可配置产品重新补充库存的库存警报电子邮件现在包含正确的产品价格。 以前,此电子邮件的产品价格为0。
- 现在,当用户的会话过期时,产品库存警报取消订阅生效。 以前,当您单击 单击此处停止此产品的警报 链接时,应用程序显示404错误。
- 现在,产品警报的取消订阅操作可按预期运行。 以前,当客户单击 单击此处停止此产品的警报 链接时,应用程序显示404错误。
产品视频
- 您现在可以使用REST更新YouTube视频(PUT
rest/V1/products/{SKU}
)。 以前,应用程序显示视频的缩略图,但在您单击 播放 按钮时视频播放器未加载。 GitHub-23194
报告
- 产品列表现在按SKU订购可配置产品,SKU按变体对可配置产品进行分组。 以前,报表按
product_id
对产品进行分组。 Lukasz Bajsarowicz在拉取请求中提交的_修复25858_。 GitHub-25856
- 管理员 > 报表 > 刷新统计信息 表现在在 已更新 列中将 更新时间= Null 状态显示为 从不,而不是 未定义。 Eden Duong在拉取请求中提交的修复25932。 GitHub-25931
- 低库存报表不再包含已禁用的产品。 Mohamed-Asar在拉取请求中提交的修复26862。 GitHub-26838
- 应用程序现在在 管理员 > 商店 > 配置 > 常规 > 报表 中显示了 年初至今开始 字段的准确值。 在拉取请求27088中由Priya-V-Panchal提交的 修复。 GitHub-27086
退货授权(RMA)
- 当您成功从店面创建订单和RMA时,应用程序不再显示错误。 以前,应用程序按预期创建了RMA,但同时也显示以下错误:
We can't create a return right now. Please try again later
。
- 店面订单退货中包含的跟踪链接现在按预期工作。 以前,当客户单击订单退货页上的装运跟踪链接时,应用程序显示以下错误:
PHP Fatal error: Uncaught Error: Call to a member function getTitle() on null in /app/z7kvt3uys6daq/var/view_preprocessed/pub/static/vendor/magento/module-shipping/view/frontend/templates/tracking/details.phtml:1
。
- 从管理员创建订单退货后,退货选项卡现在会按预期显示。
- 已从RMA电子邮件模板(
app/code/Magento/Rma/view/frontend/email/new.html
)中删除不必要的字符串。
审核
- 应用程序现在会在用户单击一次按钮后禁用 提交审核 按钮。 以前,应用程序在第一次单击后未禁用此按钮,并且在用户多次单击 提交审核 按钮时创建了多个审核。
- 管理员 > 报表 > 审核 > 按产品 筛选列表现在可按预期显示结果。 以前,当您尝试过滤此列表时,应用程序不显示任何结果。
- 在 管理员 > 营销 > 用户内容 > 未决审阅 上,已按预期激活“未决审阅”菜单项。 Ravinder在拉取请求中提交的修复26230。 GitHub-26229
奖励
- 现在,当订单返回至在多商店环境中运行的商店时,该应用程序会按预期退还奖励积分,在该环境中为每个商店设置了不同的奖励积分费率。 以前,对于使用奖励积分购买的已退回订单,该应用程序没有按预期退款。
销售
- 现在,付款系统和Adobe Commerce中都会显示已完成的订单。 以前,订单出现在支付系统中,但不出现在Adobe Commerce中。 GitHub-25862
- 该应用程序现在遵循客户的默认送货地址。 以前,应用程序不会根据设置接受默认帐单地址和默认送货地址,并且不会自动启用 与帐单地址相同 设置。
- 现在,应用产品可以正确计算包括折扣的订单退款。 以前,应用程序错误地计算了运费税和运费折扣,并且退回的总额与支付的总额不匹配。
- 现在,当新客户在多站点部署中创建订单时,应用程序会分配正确的组ID。 以前,应用程序应用默认客户组中的设置。
- 具有有限权限(包括查看贷项通知单、发票和发运的权限)的管理员现在可以按预期从“订单”页查看发票和发运。 以前,当受限管理员尝试查看订单时,应用程序显示以下错误:
Something went wrong with processing the default view and we have restored the filter to its original state
。
- 当客户将超过现有产品库存的一半但不超过总库存的产品数量添加到购物车时,应用程序不再显示错误。 以前,在这些情况下,应用程序显示以下错误:
The requested qty is not available
。 Github-24365
- 现在,当库存数量为1时,您可以从管理员成功将产品添加到购物车。 以前,应用程序没有将产品添加到购物车并显示以下消息:
The requested qty is not available
。 由Serhii Petrychenko在拉取请求中提交的修复26650。 GitHub-25675
- 当商店管理员尝试对自定义选项名称超过最大字符数的产品重新排序时,应用程序现在会显示信息性错误消息。 以前,在这些条件下,应用程序显示“报告”页面,而不是消息。 由Mudit Shukla在拉取请求中提交的修复26348。 GitHub-26345
- 已重构销售订单地址信息编辑表单的布局,以符合管理员表单库惯例。 Alexey Rakitin在拉取请求中提交的修复25699。 GitHub-19805
- 目录 > 类别 页面的“产品”部分上的复选框现在可按预期工作。 由Denis Kopylov在拉取请求中提交的_修复22990_。 GitHub-22988
getCustomer
方法现在返回phpdoc
块中定义的客户对象。 以前,此方法返回NULL
,phpdoc
块未突出显示此方法可以返回NULL
。 Fanis Strezos在拉取请求中提交的修复26423。 GitHub-25268
- 当商家禁用 管理员 > 商店 > 配置 > 销售 > 重新订购 > 允许订购 时,重新订购功能现在会按预期禁用。 Eden Duong在拉取请求中提交的修复26051。 GitHub-25130
- 在Admin中设置订单的自定义价格时,
getPrice()
方法现在会返回浮点数或空值,而不是字符串。 由Andrii Chorniy在拉取请求中提交的修复26313。 GitHub-25968
- 管理员 > 商店 >设置> 订单状态 的 状态代码和标题 列现在会按预期显示状态,而不是状态。 Oleh Usik在拉取请求中提交的修复26569。 GitHub-17847
- 在GB语言环境中创建时,PDF发票现在会捕获正确的购买日期。 Eden Duong在拉取请求中提交的修复26701。 GitHub-26675
销售规则
- 在禁用购物车价格规则后,
quote_item.applied_rule_ids
现在会按预期更新。 GitHub-24526
- 现在,当您尝试创建或编辑购物车价格规则时,应用程序会按预期显示类别树。 以前,在创建或编辑规则时,在条件部分中选择类别会导致JavaScript错误。
- 现在,在将可配置产品首次添加到购物车时,应用程序会使用购物车价格规则正确计算购物车级别的固定折扣。 由Lachlan Turner在拉取请求中提交的修复26623。 GitHub-26622
Search search-heading
- Elasticsearch7.6.x现在是Adobe Commerce和Adobe Commerce的默认目录搜索引擎。 如果不安装Elasticsearch7.6.x,则无法安装或升级到版本2.4.0。已删除版本2.x代码的Elasticsearch。 Elasticsearch版本5.x和6.x已被弃用,不再受支持。 请参阅搜索引擎先决条件。
- 应用程序现在正确呈现storefront目录搜索字符串中的 < 和 > 符号。
- 在实施Elasticsearch的部署中运行
cron:run
后,产品现在在类别中按预期显示。
- 该应用程序不再需要完全搜索重新索引,以便能够在店面上搜索新产品属性。
- 现在,当您按按字母顺序排列产品名称对包含捆绑产品的产品列表进行排序时,Elasticsearch会按预期工作。
- 在类别中筛选可配置产品时,筛选结果不再包含缺货选项。
- 现在,使用Elasticsearch从产品列表页面中选择所有产品,搜索结果中的所有产品都会按预期显示。 以前,应用程序不显示搜索结果。
- 现在,当您更改每页查看的搜索结果数时,Elasticsearch可正确显示类别页中的结果。 以前,当您更改搜索结果页面上应显示的搜索结果数量时,应用程序将显示一个空白页,此错误:
"0":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'
- 现在可对缺货的可配置产品正确执行价格排序。
- 当客户在多网站部署中使用店面快速搜索时,应用程序不再引发异常。
- 当商家通过单击 营销 > SEO和搜索 > 搜索词 的页脚上的“搜索词”选项打开搜索词页面时,应用程序不再显示警告。 由vishal-webkul在拉取请求中提交的修复25246。 GitHub-25245
- 在移动视图中运行Safari时,当您单击搜索输入框时,应用程序不再调整视区的大小。 由Pawe Tylek在拉取请求中提交的修复27603。 GitHub-27506
- Elasticsearch版本现在由Admin (存储 >设置> 配置 > 目录 > 目录 > 目录搜索)中的X.x表示法而不是X.0+表示法来标识。 由Andreas Mautz在拉取请求中提交的修复25838。 GitHub-25674
配送
- 如果订购的产品之一是虚拟产品,您现在可以将订单发送到多个地址。 以前,应用程序成功下实物产品的订单,但虚拟产品订单为空。
- 现在,对于要发往多个地址的订单,应用产品会正确应用固定金额的整张购物车折扣。 以前,当客户使用多个地址的结帐功能结帐订单时,会多次应用此类折扣。 GitHub-25834
- 现在,在创建购物车价格规则过程中可用于选择配送方法的下拉列表仅包含有效值。 以前,此下拉列表包含空值或额外值。
- 现在,当您从订单存档列表中的订单中从“操作”下拉列表中选择 打印装运标签 时,应用程序会按预期将装运标签打印为
.pdf
文件。 以前,应用程序显示404错误。
- 现在,当购物车包含来自免运费价格规则所包含类别的产品以及来自未包含在该规则中的类别的产品时,免运费价格规则仅影响相关产品。 以前,当购物车包含来自免运费类别以及价格规则中未包含的其他类别的产品时,则免运费不适用于任何产品。
-
应用程序不再显示空白页,而是在下拉/多选框中显示所有装运承运人。 以前,
vendor/magento/module-shipping/Model/Config/Source/Allmethods.php
中的toOptionArray
函数发生错误。 由Marc Rodriguez在拉取请求中提交的修复25315。 GitHub-13136 -
当客户创建将发运至多个地址的订单时,应用产品不再多次应用固定金额折扣。 Mahesh Singh在拉取请求中提交的_修复26419_。 GitHub-25834
- 实施自定义
di.xml
的Magento\Ups\Model\Carrier
插件现在可在开发人员模式下正常工作。 以前,应用程序引发此错误:1 exception(s): Exception #0 (BadMethodCallException): Missing required argument $data of Magento\Ups\Model\Carrier
。 Bartomiej Szubert在拉取请求中提交的修复26130。 GitHub-25390
Sitemap
- 现在,当您生成站点地图时,应用程序会按预期使用项目基本URL。
- 生成的站点地图现在包含主页的URL。 Deepaksnair在拉取请求中提交的修复26445。 GitHub-25761
暂存
- 仅在多站点部署中有限制访问一个网站的管理员现在可以预览该网站的计划更新。 以前,暂存预览默认使用默认存储,如果用户无权访问默认存储,则应用程序会引发异常。
- 编辑现有计划不再导致计划重复。 以前,当您编辑现有计划时,应用程序会复制该计划,当您尝试打开复制计划时,应用程序会引发错误。
- 在为一种或多种交叉销售产品创建计划更新后,这些产品现在按预期显示在查看和编辑购物车页面上。
存储
- 现在,当客户登录到一个商店,将产品添加到购物车,然后在多商店部署中切换到新商店时,客户会话会按预期保留。 以前,当客户导航到第二家商店时,应用程序会注销客户并清空购物车。
- 应用程序现在会按预期从
sale_sequence_meta
和sales_sequence_profile
表中删除与已删除的存储区视图相关的记录。 Bartomiej Szubert在拉取请求中提交的修复22296。 GitHub-14958
- 现在,在具有不同基本URL的存储之间切换时,存储切换器会按预期工作。 以前,当客户使用商店切换器在各商店之间切换时,如果目标商店的基础URL与当前商店不同,则请求失败。 Tobias Nilsson在拉取请求中提交的修复26548。 GitHub-23755,GitHub-26384
色板
- 商家现在可以使用 商店 > 属性 > 产品 > 新属性 上的 可视化色板 选项成功将色板属性添加到产品中。 以前,当您尝试打开新创建的样本属性时,会触发JavaScript错误。
- 现在,当客户为可配置产品选择新的样本选项时,最低广告价格会按预期发生变化。 Sergiy Vasiutynskyi在拉取请求中提交的修复26241。 GitHub-26240
- 当您选择新的样本选项时,应用程序不再复制可配置产品的最低广告价格。 Sergiy Vasiutynskyi在拉取请求中提交的修复26317。 GitHub-26314
- 更正了“New Product Attribute”(新产品属性)页面的“Manage Swatch”(管理样本(属性的值))区域中的下拉菜单行为的问题。 Oleh Usik在拉取请求中提交的修复26090。 GitHub-25910
TargetRule
- 现在,店面中为产品显示的相关产品块会显示符合“相关产品规则”中定义的条件的产品。 以前,该应用程序不显示任何相关产品。
税金
- 现在,当客户在结帐期间更改订单的目标国家/地区时,应用产品会按预期更新运费和价格。
- 现在,根据适用的购物车价格规则,按预期应用免运费。 以前,在计算订单是否符合免运费标准时,购物车价格规则不考虑税费。
- 安装B2B后,当您编辑并保存
NOT LOGGED IN
客户组时,应用程序不再引发错误。
测试
- 测试和操作组中的硬编码URL已被替换为页面引用。 Lukasz Bajsarowicz在私有存储库合作伙伴 — magento2ee 的拉取请求117中提交的修复。 GitHub-26331
- 测试现在包含记录与CMS页面相关的管理员操作的任务。 Lukasz Bajsarowicz在私有存储库合作伙伴 — magento2ee 的拉取请求172中提交的修复。 GitHub-171
- 无效的功能测试名称已修改为遵循最佳实践。 Lukasz Bajsarowicz在拉取请求27118中提交的修复,并在私有存储库合作伙伴 — magento2ee中提交拉取请求151。 GitHub-27117
- Adobe Commerce
cron
现在用于在创建测试数据后重新编制索引,在适用的情况下,cache:flush config
将取代cache:flush
。 Lukasz Bajsarowicz在拉取请求中提交的_修复26990_。 GitHub-26989
- 接受测试现在遵循
Magento/Indexer
和Magento/Backup
模块的命名约定。 由Shankar Konar在拉取请求中提交的修复27515。 GitHub-27503
AdminReorderWithCatalogPrice
测试已重构,在CI验证过程中不再失败。 Lukasz Bajsarowicz在私有存储库合作伙伴 — magento2ee 的拉取请求135中提交的修复。 GitHub-26607
AdminAddingNewOptionsWithImagesAndPricesToConfigurableProduct
和StorefrontApplyPromoCodeDuringCheckout
测试已重构,在CI验证过程中不再失败。 Lukasz Bajsarowicz在拉取请求26611和拉取请求26614 中提交的修复。 GitHub-26612,GitHub-26610
DeleteProduct and DeleteCustomer Action Groups
测试已重构,在CI验证过程中不再失败。 Lukasz Bajsarowicz在拉取请求中提交的_修复26407_。 GitHub-26396
AdminMoveAnchoredCategoryTest.xml
测试已重构,在CI验证过程中不再失败。 Lukasz Bajsarowicz在拉取请求中提交的_修复26395_。 GitHub-26396
集成测试
- 集成测试中的连续请求不再失败。 以前,测试失败,因为请求对象在调度程序之间共享。
resetRequest
方法现在清空request
的状态。 Lukasz Bajsarowicz在拉取请求中提交的_修复27300_。 GitHub-27299
- 已添加其他集成测试以涵盖
Magento_Customer
电子邮件功能。 Lukasz Bajsarowicz在拉取请求中提交的_修复27606_。 GitHub-27607
PHP单元测试
- PHP单元测试不再引发此致命错误:
Fatal error: Class Mock_CartExtensionInterface_0ba80a0b contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Magento\Quote\Api\Data\CartExtensionInterface::getAmazonOrderReferenceId, Magento\Quote\Api\Data\CartExtensionInterface::setAmazonOrderReferenceId) in /var/www/html/vendor/phpunit/phpunit-mock-objects/src/Generator.php(264) : eval()'d code on line 1
。 Lukasz Bajsarowicz在私有存储库合作伙伴 — magento2ee和27701 的拉取请求中提交的修复178。 GitHub-27638
Offline_Payments
的测试现在与PHPUnit 8兼容。 Cristiano Pacheco在拉取请求中提交的_修复27627_。 GitHub-27500
- 已为PHPUnit 8更新
Framework
、AdminAnalytics
、AdminNotification
和AMPQ
的单元测试。 由Ihor Sviziev在拉取请求27522、27521、27519、27522 中提交的修复。 GitHub-27500
- 您现在无需连接到Internet即可运行
\Magento\Downloadable\Test\Unit\Helper\DownloadTest
单元测试。 由aleromano89在拉取请求中提交的修复26264。 GitHub-23521
- 已添加
app/code/Magento/Fedex/Model/Source/Generic.php
的单元测试。 由Sathish Subramanian在拉取请求中提交的修复26549。
<magentoCron>
已添加到多个测试中,这会触发部分重新索引。 此更改解决了在涵盖Magento_Bundle
、CatalogImportExport
、CatalogInventory
、CatalogRule
、Backend
、Braintree
和Captcha
的功能测试中创建误报的问题。 Lukasz Bajsarowicz在拉取请求27322、27323、27321 中提交的修复。 GitHub-27320
- 已将
<amOnPage>
的所有不正确使用替换为适用于测试中的管理员注销的适当<actionGroup>
。 Lukasz Bajsarowicz在私有存储库合作伙伴 — magento2ee 的拉取请求116中提交的修复。 GitHub-26331
-
测试中的每个“操作”组已移至单独的文件以遵循MFTF最佳实践,并且已修订不一致的文件名。 以下模块的测试受到影响:
- module-catalog-missions
- module-share-catalog
- module-catalog-event
- module-banner
- module-admin-gws
- module-advanced-checkout
- 模块送达
- module-ui
- 模块送达
- module-checkout-address-search
- module-sales
- module-catalog
- module-catalog-rule-staging
- module-visual-merchandiser
- 模块 — 客户
Lukasz Bajsarowicz在拉取请求中提交的修复25800、26323、26321、26320、26319、26322、25828、26329(和拉取请求104、105、106、107、108、109、111、120、12 1,在私有存储库合作伙伴 — magento2ee) 中。 GitHub-22853
主题
- 我们已经解决了
JsFooterPlugin.php
中影响动态块显示的错误。 以前,当您直接访问/banner/ajax/load/url
时,应用程序会显示此错误:Uncaught TypeError: strpos() expects parameter 1 to be string, null given in
。
i18n
方法提供了将字符串添加到下划线模板的功能。 Sergiy Vasiutynskyi在拉取请求中提交的修复26435。 GitHub-18012
section-config
模块已重构。 此重构减少了由第三方模块发出POST请求或直接在data-mage-init
初始化模块之前请求客户数据所导致的错误。 Mateusz Krzeszowiak在拉取请求中提交的修复25764。 GitHub-17125
- 已修复
LoadCssAsync
HTML格式错误。 由Sathish Subramanian在拉取请求中提交的修复26764。 GitHub-26760
- 在创建新主题过程中创建
default.xml
和catalog_product_view.xml
文件时,应用程序会按预期创建这些页面或在日志文件中记录错误。 以前,应用程序在vendor/magento/framework/View/Page/Config/Renderer.php
文件中记录错误。 Vinh Le在拉取请求27026中提交的 修复。 GitHub-27009
翻译和区域设置
- 当设置了 管理员 > 商店 > 配置 > 高级 > 开发人员 > 翻译内联 > 为商店启用 时,内联翻译现在可在店面正常工作。
- 为店面启用内联翻译后,现在可按预期工作。
- 产品URL键现在可按预期音译。 在拉取请求26506中由DanieliMi提交的 修复。 GitHub-26499
- 现在支持
es_US Spanish (United States)
区域设置。 Vinh Le在拉取请求26857中提交的 修复。 GitHub-26843
- 数字占位符计数和JavaScript代码占位符计数现在相同。 以前,JavaScript代码假定为0%,而数字占位符计数以%1开头。 修复由korostii在拉取请求中提交25359。 GitHub-25243
- 您现在可以禁用产品详细信息页面(
page.main.title
)的页面标题的翻译,默认情况下会启用此功能。 Bartomiej Szubert在拉取请求中提交的修复26269。 GitHub-7065
- 发票PDF中阿拉伯文和希伯来文的译文问题已得到解决。 由Ihor Sviziev在拉取请求中提交的修复27887。 GitHub-25769
- 现在,按照预期和文档中的说明,在首次使用的基础上应用语言包继承顺序。 Sergiy Vasiutynskyi在拉取请求中提交的修复26420。 GitHub-8691
- 现在,当您在仅支持拉丁字母的区域设置中为文件夹名称输入非拉丁字符时,应用程序会显示此错误消息:
Please rename the folder using only Latin letters, numbers, underscores and dashes
。 Eden Duong在拉取请求中提交的修复25904。 GitHub-25896
directory_country_region_name
的locale
列的长度已从8增加到16,以支持区域设置,如zh_Hans_CN
。 Bartomiej Szubert在拉取请求中提交的修复26268。 GitHub-14001
UI
- 您现在可以使用页面生成器将产品添加为按钮链接(编辑内容 > 按钮链接)。 以前,当您尝试选择产品时,应用程序引发此错误:
Product with ID: XXXX doesn't exist
。
- 现在,在 管理员 > 商店 > 订单状态 > 编辑订单状态 中,“上一步”按钮可按预期工作。 Vadim Malesh在拉取请求中提交的修复27976。 GitHub-1270
- 当您使用箭头键在Adobe Stock列表的 文件名 字段中移动光标时,预览图像不再意外更改。 由Adarsh Manickam在拉取请求中提交的修复25991。 GitHub-847
- 管理员 > 系统 > 集成 页面的“当前用户身份验证”部分中的 您的密码 字段现在会按预期继承样式。 Eduard Chitoraga在拉取请求中提交的修复25918。 GitHub-25917
- 店面上的JavaScript验证器验证的输入内容也将通过管理员的验证。 以前,JavaScript验证器将新行数计为店面中的一个字符,但在服务器端,
\Magento\Catalog\Model\Product\Option\Type\maxCharacters
将新行数计为两个字符。 Grzegorz Bogusz在拉取请求中提交的修复26033。 GitHub-25974
- 使用
setTitle()
调用更改模态标题时,subTitle
标记不再被清除。 以前,当您尝试创建包含标题和子标题的弹出窗口或自定义模组,然后使用setTitle()
方法更改标题时,subTitle
被清除。 Andrea Parmeggiani在拉取请求中提交的修复26142。 GitHub-26141
- 现在,管理员营销选项卡中的子菜单可按预期自动调整菜单项的长度。 您现在还可以水平滚动。 Pawel Tylek在拉取请求中提交的修复26034。 GitHub-18687
- 表
quote
列customer_note
现在按预期使用类型text
。 以前,它使用类型varchar(255)
。 Ravi Chandra在拉取请求中提交的修复26160。 GitHub-26155
- 更正了 我的帐户 > 通讯簿 地址条目表中表头出现的显示问题。 Abrar Pathan在拉取请求中提交的修复27336。 GitHub-27335
- 分层导航价格步骤中使用的货币符号现在基于预期的默认设置。 Bartomiej Szubert在拉取请求中提交的修复24815。 GitHub-21684
- 白俄罗斯货币(BYR)的符号已更新为BYN。 Bartomiej Szubert在拉取请求中提交的修复25723。 GitHub-24713
- 在分辨率小于767px的显示屏上,“目录”页面的“比较产品”部分现在按预期显示在移动设备视图中。 Hitesh在拉取请求中提交的修复26418。 GitHub-26416
- 现在,产品页面滚动在移动设备视图中可按预期工作。 Mateusz Krzeszowiak在拉取请求中提交的修复25385。 GitHub-10518,GitHub-21717
- 现在,您可以按预期在移动设备视图中的产品页面上滚动浏览图片库缩略图图像。 由iGerchak在拉取请求中提交的修复25839。 GitHub-21014
- 单击 管理员 > 内容 > 主题 上的主题标题不再导致重复记录。 Eden Duong在拉取请求中提交的修复25926。 GitHub-25925
- “管理员账单地址/送货地址”页面的布局已重构,以符合管理员表单显示约定。 Alexey Rakitin在拉取请求中提交的修复25699。 GitHub-23481,GitHub-19805
- 现在,产品详细信息页面上的“添加到比较”链接在分辨率低于640像素的显示屏上的移动设备视图中正确呈现。 由Pawe Tylek在拉取请求26424中提交的修复和由Tejash Kumbhare在拉取请求26365 中提交的修复。 GitHub-26364
- 排序依据 标签不再与移动视图类别页面上的 购物依据 按钮重叠。 由Andrii Kartavtsev在拉取请求中提交的_修复26381_。 GitHub-25300
- 您现在可以通过启用 使用默认值 复选框来更新可下载产品的示例和链接标题的值。 Abel Truong在拉取请求中提交的修复27295。 GitHub-27169
- 已更正迷你购物车上 更新 按钮和 数量 字段之间的间距。 Hitesh在拉取请求中提交的修复26234。 GitHub-26227
- 通讯簿页上“其他地址条目”表的下边框颜色现在与
thead
和tbody
边框颜色匹配。 由Tejash Kumbhare在拉取请求中提交的修复26649。 GitHub-26648
- 当用户单击模态叠加时,提示模态不再执行确认操作。 在拉取请求27399中由Serhiy Zhovnir提交的 修复。
URL
- 类别存储库(保存方法)已重构,以前在更改类别URL键时阻止创建唯一路径。 Sergiy Vasiutynskyi在拉取请求中提交的修复27304。 GitHub-14080
- 类别URL键逻辑的验证已得到改进。 Sergiy Vasiutynskyi在拉取请求中提交的修复27412。 GitHub-13689
URL重写
- 在CMS页面上更改语言的客户现在可以成功导航到他们选择的商店视图。 以前,应用程序显示404错误。
- 现在,为您启用了类别路径包含的产品URL生成URL重写可按预期运行。 以前,在具有多个存储视图的部署中,应用程序有时会使用类别URL路径的默认值(而不是特定于存储的URL路径)来生成错误的URL重写。 Pieter Hoste在拉取请求中提交的修复26784。 GitHub-25124,GitHub-11616
- 我们添加了检查,以防止在请求路径与目标路径相同时进行URL重定向。 Bartomiej Szubert在拉取请求中提交的修复26902。 GitHub-20309
- 当URL具有尾随斜杠时,URL重写操作不再从URL中删除查询字符串。 Alexey Arendarenko在拉取请求中提交的修复25603。 GitHub-18717
增值税
- 更正了欧盟增值税编号的增值税验证URL。 Shikha Mishra在拉取请求中提交的修复27886。 GitHub-27874
Visual Merchandiser
- 现在,将产品拖放到新位置时,“编辑类别”页面的行为与预期一致。 以前,将产品拖放到任何类别页面上时,都会将查看窗口重新定位到页面顶部。
Web API框架
- 更正了POST
/rest/default/async/bulk/V1/orders
调用存在的问题。
- 更正了POST
/rest/default/async/bulk/V1/products
调用存在的问题。
- 已重构
getList
方法以检索is_subscribed
扩展特性。 以前,在通过API获取客户实体时,无法检索此属性。 在拉取请求中由enriquei4提交的修复25311。 GitHub-13252
- 通过
/V1/customers/:id
更新客户信息不再不必要地重置group_id
。 以前,当您通过REST更新客户时,如果正文不包含客户组,则客户组将更改为1。 由MaxRomanov4669在拉取请求25958 中提交的修复。 GitHub-14663
- 在Web API中使用服务合同中可为空的getter时,不再引发反射错误。 现在,可以返回null和有效类型的方法不论顺序如何,均可正常工作。 Marco k̦Pcke在拉取请求中提交的修复25806。 GitHub-25656
- 您现在可以使用POST
/V1/guest-carts/:cartId/items
将产品添加到特定购物车。 以前,当您使用此调用时,应用程序忽略cartId
的值。 Vadim Malesh在拉取请求中提交的修复27172。 GitHub-14086
- 您现在可以使用
PUT /V1/cmsPage/:id
端点保存CMS页面标题而不更改其他字段的值。 Vadim Malesh在拉取请求中提交的修复27237。 GitHub-24704
- 对REST请求的结果进行分页现在很准确。 以前,当您从特定页面请求结果时(例如,
page_size
= 1以及超出范围的current_page
值),调用返回的是重复结果的最后一页,而不是信息性消息。 Lukasz Bajsarowicz在拉取请求中提交的_修复26988_。 GitHub-26986,GitHub-8099
- GET
/V1/orders/items/{id}
的结果现在包含包含包含礼品消息数据的扩展属性元素。 Laura Folco在拉取请求中提交的修复25946。 GitHub-19093
愿望清单
- 现在,当愿望清单在商店视图级别启用并在全局级别禁用时,它可按预期工作。 以前,设置这些后,将产品添加到愿望清单会导致404错误。
- 在包含多个愿望清单的部署中重命名愿望清单时,应用程序现在可以正确保存愿望清单并显示新的名称。 以前,应用程序继续显示前愿望清单名称。
- 现在,您可以在运行Internet Explorer 11.x的部署中从购物车导航和修改愿望清单。以前,您无法在此环境中创建、编辑或移动愿望清单。
- 我们改进了在客户尝试使用超出允许的电子邮件地址共享其愿望清单时显示的错误消息。 在拉取请求26066 中由divyajyothi5321提交的修复。 GitHub-26064
- 应用程序现在按中的预期显示“我的愿望清单”页面,该页面的分辨率大于768像素,小于1023像素。 Hitesh在拉取请求中提交的修复26546。 GitHub-26543
- 单击 共享愿望清单 时生成的电子邮件现在显示与愿望清单页面相同的产品图像。 Michael Bottens在拉取请求中提交的修复27125。 GitHub-27124
- 客户现在可以将属于分组产品的简单产品以及具有不同数量的相同简单产品添加到愿望清单。 由MaxRomanov4669在拉取请求26258 中提交的修复。 GitHub-11209
所见即所得
- WYSIWYG图像上载程序现在使用
pub/media/wysiwyg
作为存储根。 以前,上传的映像使用pub/media
作为其存储根目录,这使得最近对映像上传程序代码进行更改后,无法访问这些已上传的映像。 Pieter Hoste在拉取请求中提交的修复24878。 GitHub-22609
- Chrome浏览器上的TinyMCE4现在可按预期处理双字节字符。 以前,TinyMCE4无法在Chrome上正确处理双字节字符(例如中文字符)。 Hirokazu Nishi在拉取请求中提交的修复25454。 GitHub-24637
已知问题 — 常规
问题:安装PHP 7.4.2的部署中出现storefront错误消息异常。 使用PHP 7.4.2部署2.4.0时,店面错误消息中的空格符号将替换为加(+)字符。 此错误是PHP 7.4.2的固有错误,Adobe Commerce无法更正此错误。 解决方法:我们建议使用其他版本的PHP 7.4.x。请参阅原始消息数据显示在店面知识库文章。
问题:商家无法从“管理创建包”页面将订购的产品添加到包中并保存包。 请参阅发运标签创建知识库文章。 此问题的 MC-35514-2.4.0-CE-composer.patch 修补程序现已从版本中提供。
问题:应用程序在安装第三方扩展时显示此错误消息,这些扩展依赖于CLI命令中Store
模块的API: The default website isn't defined. Set the website and try again
。 解决方法:从Composer中删除对第三方扩展的依赖关系,安装Magento,然后安装第三方扩展。
问题:购物车底部的 将选定内容添加到购物车 按钮不起作用。 解决方法:使用页面顶部的 将选定内容添加到我的购物车 按钮。 请参阅将选定内容添加到购物车按钮无效知识库文章。
问题:为退货授权(RMA)创建配送标签后,商家无法与退货页面上的任何页面元素进行交互。 请参阅返回编辑页面在创建送货标签知识库文章时停止工作。 此问题的 MC-35984-2.4.0-composer.patch 修补程序现已在版本中提供。
问题:管理员无法按SKU将可配置产品添加到报价中。 当管理员单击 添加到报价 按钮时,“报价编辑”页面仍处于加载状态,管理员无法保存其更改。 解决方法:没有用于编辑B2B报价的解决方法。 但是,您仍然可以通过从产品列表中选择产品来订购产品,而不是通过SKU添加它们。 请参阅B2B管理员无法将可配置产品添加到报价单知识库文章。
问题:商家无法从管理员创建新订单,因为 按SKU添加产品 和 添加产品 启用JavaScript捆绑时,订单创建页面中缺少按钮。 解决方法:为您的部署禁用JavaScript捆绑包。
问题:当客户在签出发往多个地址的订单时尝试删除奖励点时,应用程序出现404 not found
错误。
问题:从客户的愿望清单中编辑可配置产品会导致以下意外行为:“配置产品”页面上出现意外字段,单击 确定 后,“配置产品”页面不会消失。 应用程序还显示此消息: Please load Wish List item
。 解决方法:重新加载“配置产品”页。
问题:当订单列表跨越多个页面时,客户无法更改每页显示的订单数。 目前,当您导航到订单的最后一页并尝试更改每页显示的订单数时,应用程序会显示此消息: You have placed no orders
。 请参阅订单显示错误知识库文章。 解决方法:重新打开“我的订单”页将导致显示订单列表。
问题:直接单击“添加新税则”页面的 导出税率 按钮(商店 > 税则)无法按预期下载tax_rates.csv
文件。 解决方法:单击 导出税率 按钮的边缘。 请参阅导出税率不起作用知识库文章。
问题:“管理客户活动”页面的“上次订购的项目”、“比较列表中的产品”和“最近比较的产品”部分中的 刷新 按钮无法按预期工作。 目前,应用程序在每次单击 刷新 按钮时滚动页面,并且不显示产品名称。 请参阅有关客户活动的刷新功能无效知识库文章。
B2B
问题:如果折扣代码在采购订单(PO)获得批准之前过期,则PO将继续显示折扣金额,但是一旦该PO获得批准,订单就会达到非折扣总额。 解决方法:安装此问题的 B2B-709采购订单折扣修补程序 修补程序,该修补程序现在可从magento.com
的 我的帐户 > 下载 部分获得。
问题:在多网站部署中升级到B2B 1.2.0时,应用程序出现异常。 当setup:upgrade
运行时,PurchaseOrder
模块上出现此错误: Module Magento_PurchaseOrder: Unable to apply data patch Magento\PurchaseOrder\Setup\Patch\Data\InitPurchaseOrderSalesSequence for moduleMagento_PurchaseOrder
。 解决方法:将 B2B-716 Add NonTransactionableInterface接口安装到InitPurchaseOrderSalesSequence数据修补程序 修补程序,该修补程序现在可从magento.com
的 我的帐户 > 下载 部分获得。
已知问题 — VBE
Amazon Pay
-
问题:在用Amazon Pay结帐期间,当客户单击 返回标准结帐 时,结帐工作流中缺少付款方法。 解决方法:刷新签出页面以显示缺少的方法。
-
问题:应用程序在创建新的购物车价格规则时可用的“付款方式”下拉列表中显示两个相同的Amazon付款方式。
Braintree
-
问题:当管理员尝试访问Braintree结算报告页面时,应用程序显示错误(管理员 > 报告)。 目前,应用程序显示此消息:
An error has happened during application run. See exception log for details
。 请参阅Braintree结算报告无法加载知识库文章。 此问题的 BUNDLE-2683_SettlementReport.patch 修补程序现已从版本中提供。 -
问题:商户无法在启用了Venmo且禁用了 为卡付款启用保管库 设置的部署中为订单创建部分发票。 目前,应用程序显示此错误:
The "vault_capture" command doesn't exist. Verify the command and try again
。 -
问题:应用程序在创建新购物车价格规则时可用的“付款方式”下拉列表中显示两个相同的PayPal方式。
-
问题:应用程序打开 Sales > Braintree虚拟终端 时出错。 尽管表单包含损坏的UI元素,但仍接受付款。 解决方法:保存正确的Braintree凭据,这将修复折叠的输入字段。 请参阅Braintree虚拟终端页已损坏知识库文章。 此问题的 BUNDLE-2670_VirtualTerminal.patch 修补程序现已从版本中提供。
-
问题:当客户在结账期间选择本地支付方式时,应用程序在以下国家/地区显示错误消息:比利时、荷兰、意大利、西班牙和波兰。 解决方法:忽略错误消息并继续付款。
dotdigital
- 问题:集成测试失败,出现此错误:
PHP Fatal error: Declaration of Dotdigitalgroup\Email\Test\Integration\Model\Sync\Importer\ImporterFailedTest::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void in /var/www/vendor/dotmailer/dotmailer-magento2-extension/Test/Integration/Model/Sync/Importer/ImporterFailedTest.php on line 36
。 解决方法: 版本中现在提供了用于此问题的 BUNDLE-2684 Dotdigital Integration Tests修补程序 修补程序。
克拉尔纳
- 问题:将Klarna现场消息传递中的 设计主题 字段留空(管理员 > 商店 > 配置 > Klarna设置)会导致出现空白页面。 解决方法:选择设计主题并保存。
顶点
- 问题:即使地址验证被禁用,应用程序也会在签出工作流的送货部分显示 地址验证 按钮。 地址验证器不重新检查更新的地址,并且当客户在首次输入错误地址之后输入正确的地址时,即使启用了地址验证,仍继续显示指示地址无效的消息。 解决方法:禁用顶点地址验证。
社区贡献
我们感谢更广泛的Magento Open Source界,并感谢他们为这一版本做出的贡献。 您可以通过以下方式了解社区对我们当前版本的贡献:
-
如果社区成员提供了此版本的修复,我们将在这些注释的“修复问题”部分中使用短语“社区成员提供的修复”来标识此修复。
-
社区工程团队Magento参与者按月、季度、年维护了主要参与人员和合作伙伴的列表。 从该参与者页面,您可以单击链接以转到GitHub上其合并的PR。
合作伙伴投稿
下表列出了合作伙伴所做的贡献。 此表列出了提出拉取请求的合作伙伴、外部拉取请求以及与其关联的GitHub问题编号(如果可用)。
个人贡献者
下表列出了来自社区成员的贡献。 此表列出了外部拉取请求、与其关联的GitHub问题编号(如果可用)以及参与拉取请求的社区成员。
系统要求
我们的技术栈栈是基于PHP和MySQL构建的。 有关详细信息,请参阅系统要求。
安装和升级说明
您可以使用编辑器安装Adobe Commerce 2.4.0。
迁移工具包
Data Migration Tool可帮助将现有Magento1.x存储数据转移到Magento2.x。此命令行界面包括验证、进度跟踪、日志记录和测试功能。 有关安装说明,请参阅安装数据迁移工具。 考虑浏览或参与数据迁移存储库。
代码迁移工具包可帮助将现有Magento1.x存储扩展和自定义项传输到Magento2.x。命令行界面包括用于转换Magento1.x模块和布局的脚本。