Adobe Commerce 2.4.1发行说明
Adobe Commerce 2.4.1不仅在性能和安全性方面做出了改进,还对B2B功能集做出了重大补充。 安全增强功能包括支持Cookie的SameSite
属性,为与支付和订单相关的API端点以及下单店面页面添加了CAPTCHA保护。 B2B改进侧重于订单审批流程、B2B配送方式、扩展管理员操作的日志记录以及增强店面安全性。
此版本包括2.4.0中包含的所有核心质量改进、核心代码的150多项新修复以及超过15项安全增强功能。 其中包括我们的社区成员解决近300个GitHub问题。 这些社区贡献的内容包括对核心代码进行次要清理,以及GraphQL中的重大增强。
此版本中修复了2.4.0中识别的所有已知问题。
应用AC-3022.patch
以继续将DHL作为装运承运人提供
DHL已引入架构版本6.2,并且将在不久的将来弃用架构版本6.0。 支持DHL集成的Adobe Commerce 2.4.4及更早版本仅支持版本6.0。部署这些版本的商家应尽早应用AC-3022.patch
,以继续将DHL作为装运承运人提供。 有关下载和安装修补程序的信息,请参阅应用修补程序以继续将DHL作为运输运营商提供知识库文章。
安全补丁可用
商家现在无需应用完整季度版本(例如2.4.0-p1)提供的数百个功能修复和增强功能,即可安装时效性很强的安全修复。 修补程序2.4.0.1(Composer包2.4.0-p1)是一个安全修补程序,它针对我们以前的季度版本2.4.0中发现的漏洞提供了修复。此安全修补程序中包含应用于2.4.0版本的所有修补程序。 (修补程序 提供对已发布版本的修补程序,该版本可解决特定问题或错误。)
有关安全修补程序的一般信息,请参阅Introducing the New Security Patch Release。 有关下载和应用安全修补程序(包括修补程序2.3.5-p2)的说明,请参阅快速入门本地安装。 安全修补程序仅包括安全错误修复,而不包括完整修补程序中包含的其他安全增强功能。
其他发行信息
虽然这些功能的代码与季度版本捆绑在一起,但其中的多个项目(例如B2B、Page Builder和Progressive Web Application(PWA) Studio)也单独发布。 每个项目的文档中都提供了特定于项目的单独发行信息,其中记录了这些项目的错误修复。
高亮
在此版本中查找以下要点。
显着的安全增强功能
此版本包括15项以上的安全修复和平台安全改进。 所有安全修复均已回溯至2.4.0-p1和2.3.6。
超过15项安全增强功能,可帮助消除远程代码执行(RCE)和跨站点脚本(XSS)漏洞
到目前为止,尚未发生与这些问题相关的已确认攻击。 但是,可能会利用某些漏洞访问客户信息或接管管理员会话。 这些问题中的大多数要求攻击者首先获得对管理员的访问权限。 列入允许列表因此,我们提醒您采取一切必要步骤来保护您的管理员,包括但不限于:IP身份验证、双重身份验证、使用VPN、使用唯一位置而非/admin
以及良好的密码卫生。 有关这些已修复问题的讨论,请参阅可用于Magento的安全更新。
其他安全增强功能
此版本的安全改进包括:
-
验证码 保护已添加到以下产品区域:
- 下单店面页面以及REST和GraphQL端点
- 与付款相关的REST和GraphQL端点。
默认情况下,将禁用对这些附加页面的验证码保护。 它可以在管理员中启用,其启用方式与验证码涵盖的其他页面相同。 此保护已添加为反暴力机制,以保护商店免受梳理攻击。 请参阅验证码。
-
支持Cookie的SameSite属性。 为了支持新Cookie分类系统的Google Chrome实施,已更新处理Cookie的应用程序类以支持
SameSite
Cookie属性。 此属性默认设置为Lax
,但可以显式覆盖。 -
增强的安全扫描工具。 Adobe已与Sanguine Security(防止数字盗版的领先者)合作,将其超过8700个威胁签名的数据库集成到安全扫描工具中。 这种合作关系将使商家能够通过主动检测恶意软件并减少误报,实时了解其网站的安全状态。 商家可以通过访问
https://account.magento.com/scanner
注册该工具。 有关详细信息,请参阅使用增强的安全扫描工具保护您的店面博客文章。
基础架构改进
此版本包含对核心质量的增强,这些改进了Framework以及以下功能区域的质量:客户帐户、目录、CMS、OMS、导入/导出、促销和定位、购物车和结账、B2B以及暂存和预览。
性能改进
-
减少Redis与Magento之间的网络传输大小。 现在在执行
bin/magento di:compile
命令期间生成插件列表配置。 此配置信息会根据作用域写入生成的元数据文件夹。 以前,此信息存储在高速缓存中。 产生的性能改进包括减少网络缓存大小和执行时间(对于许多情形)。 -
增强了消息队列使用者性能。 三个新的配置设置支持减少使用者队列CPU消耗。 这些可选参数可增强对使用者的控制,并节省服务器资源。 有关
maxIdleTime
、sleep
和onlySpawnWhenMessageAvailable
参数的说明,请参阅配置消息队列。 -
改进了
bin/magento
命令的执行时间。
Adobe Stock集成
此版本包括Adobe Stock集成v2.1.0。
新建媒体集
新媒体集现在默认在Admin中启用。 商家现在可以对媒体集中的图像执行以下操作:
-
批量删除图像
-
通过识别店面未使用的重复图像和图像优化媒体存储
-
按图像使用的店面区域筛选图像,包括产品和类别内容以及CMS块
-
使用图像元数据
- 查看上传到媒体集的图像中的元数据
- 编辑图像元数据(标题、描述和关键字)
- 按图像的元数据搜索图像
页面生成器
Page Builder现在支持全屏模式,该模式支持更轻松地编辑内容,并在整个管理员中提供一致的内容编辑体验。 查看Workspace。
GraphQL
此版本添加了GraphQL涵盖以下功能的功能:
-
产品评论。 客户和来宾可以撰写产品评论。 客户可以检索其产品审核历史记录。 有关检索有关审阅基础结构的信息,请参阅创建产品审阅和productReviewRatingsMetadata查询。
-
礼品选项。 所有客户和客人均可在订单中添加礼品信息。 在Adobe Commerce安装中,他们还可以将礼品包装、礼品收据和打印卡添加到订单中。 查看
setGiftOptionsOnCart
突变和updateCartItems
突变 -
奖励积分。 客户可以在购物车上申请或删除奖励积分。 他们还可以查看自己的奖励积分历史。 有关管理购物车中的奖励积分的讨论,请参阅
applyRewardPointsToCart
和removeRewardPointsFromCart
。 -
订单历史记录。 所有客户都可以查看有关其订单历史的详细信息,包括发票、发运和退款。
-
添加到购物车。
addProductsToCart
突变允许您向活动购物车添加任何类型的产品。 我们建议使用此突变而不是单用途突变,如addSimpleProductsToCart
。 由Yaroslav Rogoza在拉取请求中提交的修复27914。 GitHub-28524 -
已存储支付方式。 登录客户现在可以在“我的帐户”中存储付款详细信息(包括Braintree信用卡和使用PayPal的Braintree)。
-
支持Magento Open Source 中的愿望清单。 您可以将项目添加至,在其中更新项目,以及从愿望清单中删除项目。
-
已改进客户帐户的管理。 我们已添加
createCustomerV2
和updateCustomerV2
突变来管理客户帐户。 这些新的突变需要与createCustomer
和updateCustomer
突变不同的输入对象。 若要更改客户的电子邮件地址,请使用新的updateCustomerEmail
突变。 -
支持Payflow Pro保险库。 为Payflow Pro Vault付款方法添加了GraphQL Vault支持。 Oleh Usik在拉取请求中提交的修复28821。 GitHub-28520
-
已更新GraphQL
storeConfig
查询以包含新的客户配置设置。 Oleh Usik在拉取请求中提交的修复27876。 GitHub-28521 -
添加了
requestPasswordResetEmail
突变,这会触发所提供电子邮件地址的密码重置电子邮件。 Oleh Usik在拉取请求中提交的修复27876。 GitHub-28521 -
GraphQL。 在Klarna的付款方式和
createKlarnaPaymentsSession
中添加或更新了关于Klarna GraphQL的主题
有关这些增强功能的详细信息,请参阅GraphQL开发人员指南。
PWA Studio
PWA Studio v8.0.0引入了以下新增功能和增强功能:
-
适用于设计令牌、排版规则、颜色、核心组件和页面布局的Venia样式指南更新
-
改进了Venia迷你购物车体验
-
对Venia店面上的多个区域设置和本地化内容的初始支持
-
对Venia店面的MyAccount体验进行了多项改进
有关PWA Studio版本及其兼容版本的列表,请参阅兼容性。 有关增强功能和错误修复的信息,请参阅PWA Studio版本。
B2B
版本2.4.1引入了B2B v1.3.0。此版本包括对订单审批、配送方式、购物车和管理员操作日志记录进行了改进。
订单审批改进
B2B订单审批已得到增强,以提高可用性并允许对采购订单执行批量操作。
对订单批准和拒绝的改进包括以下内容:
-
无编辑权限的用户的新查看规则页面。 B2B购买者现在可以在新的“查看规则”页面上查看适用于其公司的规则(如果他们无权编辑这些规则)。
-
“需要我的审批”选项卡上的 计数警报图标。 “我的采购订单”视图中的“需要我的审批”标签现在会显示一个计数器,指示待定审批活动的数量。
-
批量订单审批和拒绝。 B2B经理和公司管理员现在可以执行采购订单的批量拒绝和批准。 这些更改允许审批人在一次操作中批准或拒绝多个采购订单。
-
商家现在可以搜索“我的采购订单”视图的 应用于 和 需要从 字段获得批准,并且可以在规则创建期间选择多个用户角色。
-
规则配置页面上提供了如何配置订单批准规则的示例。
查看审批规则
B2B配送方式增强功能
B2B商家现在可以控制提供给各公司的配送方式。 商家可以从管理员配置以下内容:
- B2B公司帐户的一组特定配送方式
- 对每个Company帐户使用All或B2B特定的配送方式
- 每个公司帐户的B2B配送方式的特定列表
购物车改进
-
商家现在可以允许用户在一次操作中清除其购物车的内容,并可以在每个网站上独立配置此功能。
-
B2B购买者现在可以将单个物品或其购物车的全部内容直接添加到申请列表中。
新的管理员功能
- B2B商家可以使用账户支付作为付款方式,代表客户从管理员创建订单。
- 商户现在可以从客户的详细信息页面直接查看与用户关联的所有报价。
- 商户现在可以按公司筛选“当前在线客户”网格。
- 管理员现在可以在Admin中按销售代表筛选客户。
查看B2B功能。
增强店面安全性
为了减少欺诈或垃圾邮件帐户的创建,商家现在可以在店面的新公司申请表中启用Google reCAPTCHA。 查看reCAPTCHA.
扩展了管理员操作的日志记录
在公司模块中执行的管理员操作现在记录在管理员操作日志中。 从所有相关公司模块记录操作: Company
、NegotiableQuote
、CompanyCredit
、SharedCatalog
。
此版本还包括多个错误修复。 请参阅B2B发行说明。
功能测试框架(MFTF)
MFTF 3.1.0现已可用。 请参阅功能测试框架更改日志。
供应商开发的扩展
有关此版本的功能和变更的更新,请参阅以下文章:
修复的问题
我们已在2.4.1核心代码中修复了数百个问题。
安装、升级、部署
- 使用依赖于CLI命令中存储模块的API的第三方扩展进行安装不再失败。 以前,应用程序显示此错误消息:
The default website isn't defined. Set the website and try again
。 这是2.4.0中的已知问题。
bin/magento setup:di:compile
不再引发严重错误。 以前,应用程序在您第一次运行此命令时引发错误,但第二次执行导致成功编译。
- 在
Magento\Framework\Encryption\Encryptor
上声明插件后,升级不再失败。
- 运行
bin/magento setup:static-content:deploy
后未部署某些主题时,应用程序现在会显示信息性错误消息。 以前,当部署成功完成但未部署所有包时,应用程序不会显示错误。 当在启用并行处理的情况下执行此命令,并且每个主题需要部署的时间超过指定的最大执行时间时,此命令可以成功完成,尽管未部署主题。
- 网站范围更改时,Klarna付款的 使用默认 复选框(商店 > 配置 > 销售 > 付款方式 > Klarna)现在仍按预期保持选中状态。
- 运行
/bin/magento config:show vendor_module/general/value
现在会按预期返回0
或空字符串。 以前,它返回Configuration for path: "vendor_module/general/value" doesn't exist
。 Vadim Malesh在拉取请求中提交的修复28549。 GitHub-23290
- 升级不再导致Galera群集突然失败。 以前,Galera群集在升级后立即重新索引后突然退出。 在升级过程中,索引表被更改,引擎从
MEMORY
更改为InnoDB
。 此时,这些表的内容在Galera群集的节点之间变得不同步。 GitHub-25334
- 禁用PageBuilder模块不再影响产品页面的呈现。 以前,在禁用模块时,产品页面上的自定义布局会消失,并且应用程序会显示一个空白页面。
- 在使用编辑器安装Adobe Commerce后,您现在可以使用
bin/magento sampledata:deploy
按预期部署示例数据。 以前,应用程序引发此错误:Git installations must deploy sample data from GitHub; see https://experienceleague.adobe.com/zh-hans/docs/commerce-operations/installation-guide/next-steps/sample-data/git-repositories for more information
。 Andrii Beziazychnyi在拉取请求中提交的修复27481。 GitHub-19481
- 通过消除
Datepicker
组件的不必要加载,店面性能得到了改进。 Mateusz Krzeszowiak在拉取请求中提交的修复27860。 GitHub-28823
- 执行
bin/magento setup:upgrade
现在按预期完成。 以前,应用程序显示缓存的打印阵列内容。 由Sathish Subramanian在拉取请求中提交的修复27567。 GitHub-27091
bin/magento setup:static-content:deploy --language=all
现在部署店面上使用的所有语言以及管理员用户配置的所有语言(未设置语言参数时)。 (en_US
始终默认部署。) Anton Evers在拉取请求中提交的修复28922。 GitHub-29218
- 禁用“备份”功能后,应用程序不再显示“备份”菜单。 Eden Duong在拉取请求中提交的修复29222。 GitHub-29280
- 目录图像帮助程序初始化现在使用产品模型,而不是
DataObject
。 在拉取请求29435 中由jmonteros422提交的修复。 GitHub-1711
- 管理员用户现在可以保存空的 客户令牌生命周期(小时) 字段(管理员 商店 > 配置 > 服务 > OAuth > 访问令牌过期)。 GitHub-29502
- 默认情况下,类别的 为旧URL创建永久重定向 设置处于禁用状态。 Vadim Malesh在拉取请求中提交的修复28752。 GitHub-24922
AdminGWS
- 当登录的管理员缺少创建这些实体的适当权限时,应用程序不再显示 添加属性 按钮(存储 > 属性 或 添加属性集 按钮(存储 > 属性 > 客户)。 以前,当不具有相应权限的网站管理员尝试创建 属性集 或 客户 属性时,应用程序会引发404错误。
- 当特定网站具有受限角色的管理员尝试从管理员创建子类别时,应用程序不再引发错误。
Adobe Stock集成
- 在清除过滤器后,Adobe Stock图像网格中的图像现在会正确对齐。 Nazar Klovanych在拉取请求中提交的修复28366。 GitHub-824,GitHub-972
- Adobe Stock图库图像详细信息页面的 “用于”部分现在可以准确识别该图像是否与产品关联。 Nazar Klovanych在拉取请求中提交的修复28798。 GitHub-1474
\Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute
现在会删除指向参数上未指定的关键字的链接,并在编辑图像详细信息时删除关键字标记时插入新链接。 在拉取请求29207 中由jmonteros422提交的修复。 GitHub-1391
- 当商家为以前保存的、未授权的Adobe Stock图像单击 许可证 时,应用程序显示的
Login failed
消息不再包含HTML标记。 由您的用户在拉取请求中提交的修复29398。 GitHub-1684
- 单击“图像详细信息”页面的 用于 部分中的链接现在会显示一个网格,该网格可显示按图像过滤的所有实体。 此外,还可正确设置和显示资源筛选器。 以前,应用程序未在 应用的过滤器 部分中显示资产标题。 Nazar Klovanych在拉取请求中提交的修复29367。 GitHub-1694
- 当映像未被使用时,应用程序不再显示映像“详细信息”页面的 用于 部分。 Nazar Klovanych在拉取请求中提交的修复29367。 GitHub-1699
- 修复了在添加超过最大字符数的新图像标记时出现的显示问题。 Nazar Klovanych在拉取请求中提交的修复29367。 GitHub-1702
- 现在可以使用图像详细信息 用于 部分上的资源筛选器按预期检查Assets。 Nazar Klovanych在拉取请求中提交的修复29367。 GitHub-1704
- 有关不同实体(例如,
page
和category
)使用的图像的信息现在已在图像详细信息页面中列出并已更正。 Nazar Klovanych在拉取请求中提交的修复29367。 GitHub-1747
- 您现在可以使用新的
UrlFilterApplier
组件通过GETURL参数在产品、cms_page
和cms_block
网格上应用筛选器。 由Gabriel da Gama在拉取请求中提交的修复28932。 GitHub-1501
- 单击 用于 部分中用于媒体集中的图像的链接,现在会按预期打开按图像过滤的实体的网格。 以前,图像标题不会显示在网格的已应用过滤器部分中。 Nazar Klovanych在拉取请求中提交的修复29429。 GitHub-1694
- 现在,当您在媒体集中连续编辑多个图像时,应用程序可正确添加标记。 Nazar Klovanych在拉取请求中提交的修复29429。 GitHub-1755
- 现在,商家删除标记并保存图像详细信息后,应用程序将删除Adobe Stock图像的标记。 以前,在刷新页面之前不会删除标记。 Honeymay Louiese Ignacio在拉取请求中提交的修复29400。 GitHub-1703
Amazon Pay
-
Amazon Pay现在会先检查用户是否已登录,然后再呈现付款选项。
-
多重身份验证问题和放弃的购物车已得到解决。
-
Amazon Pay现在会在电子邮件和其他显示的位置中正确填充
store name
。 如果Amazon Pay配置中的 商店名称 字段为空,则扩展将检索该商店的默认名称(即您在Admin中提供的商店名称)。 -
已解决拒绝方案的本地化/翻译问题。 显示的文本不再总是英文。
分析
- 具有正确权限的管理员现在可以访问高级报表和区段报表。
- Adobe Commerce成功生成高级报告数据文件,并按预期将其发送到使用拆分数据库的部署清单。 以前,应用程序不会生成或将
quotes.csv
文件发送到Inventory,因此Inventory不会生成预期的报告。
Braintree
-
现在,在结账页面上应用促销代码时,Braintree会将正确的金额发送到PayPal。
-
在结账页面上启用条款与条件后,Apple Pay现在可按预期工作。
-
从Admin启用Venmo后,在桌面设备上签出期间不再发生浏览器错误。
-
当购物者在签出工作流的 名称 字段中输入特殊字符时,签出不再失败。 以前,身份验证失败,因为Braintree3DS API不支持非ASCII字符。
-
使用PayPal下订单时,应用程序现在在结账工作流的配送区中显示正确的收件人姓名。
-
当购物者在结帐期间多次更改配送方式时,应用程序现在会按预期更新“订单审核”页面。
捆绑产品
- 当您尝试在安装了清单但
Magento_InventoryBundleProduct
模块已禁用的部署中创建产品时,应用程序不再引发异常。
- 现在,该应用程序可以正确计算包含捆绑产品的订单的离线退款。
- 现在,当为简单产品分配了层价格时,迷你购物车会显示捆绑产品的正确价格。 GitHub-22807
- 商家现在可以为捆绑产品创建贷项通知单,无需退货即可提供退款。 以前,应用程序会引发错误。 Dzung Nguyen在拉取请求中提交的修复27455。 GitHub-23440
- 当购物者将捆绑产品添加到购物车而未选择所需选项时,应用程序不再显示冗余的验证消息。 Dzung Nguyen在拉取请求中提交的修复27455。 GitHub-23440
- GraphQL现在支持为选项类型为
radio
且具有多个选项的捆绑产品下单。dropdown
以前,应用程序显示有关BundleItem.type: radio/dropdown
的输入无效的消息。 由Michal Derlatka在拉取请求中提交的修复29256。 GitHub-26110
缓存
- 本地缓存存储现在保留在 存储 > 配置 > 常规 > Web > 默认Cookie设置 中设置的时间段。 以前,Cookie的过期日期硬编码为一天,这会使其与此设置不同步。 因此,欢迎消息不会在预期持续时间内保留返回的客户信息。
- 对页面缓存
config
的调用次数已减少。 Lukasz Bajsarowicz在拉取请求中提交的_修复28992_。 GitHub-29159
- 按计划重新索引大型目录时,清漆不再引发
Connection reset by peer
错误。 由Matthew O'Loughlin在拉取请求中提交的_修复26256_。 GitHub-26255
- 在管理员中编辑产品后,不再为不相关的产品清除全页缓存。 GitHub-25670
购物车和结账
- 直接SQL查询已被数据提供程序取代,这改进了签出性能。 Lukasz Bajsarowicz在拉取请求中提交的_修复29376_。 GitHub-29453
- “比较”和“最近比较”产品列表中的产品现在按预期工作。 以前,当比较列表展开时,应用程序不显示产品,即使部分指出该列表包含产品。
- 在客户的 管理购物车 页面的 按SKU添加到购物车 部分中,删除 按钮现在可在选择多行时按预期工作。
- 当您尝试按SKU订购产品时,如果输入的数字与有效的SKU匹配,但这两个数字的大小写不同,则应用程序不会再引发错误。 以前,当您在 我的帐户 > Order by SKU 上输入的SKU与有效的SKU不完全匹配时,应用程序会引发错误。
- 现在,如果客户发货地址位于允许国家/地区列表上标识的国家/地区,并且该列表仅包含该国家/地区,则在结账时默认会选择客户的发货地址。 以前,应用程序未选择地址作为默认地址,并显示以下错误消息:
Please specify a regionId in shipping address
。
- 商户现在可以在应用 整个购物车的固定金额折扣 时,在 营销 > 购物车价格规则 > 添加新规则 的操作选项卡中启用 申请发运金额。 GitHub-24422
- 当购物者在开始结帐,然后导航到店面主页后尝试取消设置持久性Cookie时,应用程序不再抛出异常。 以前,当购物者单击 不是您时?主页上的 链接,应用程序引发此异常:
The shipping address is missing. Set the address and try again
。 GitHub-24218
- 现在,当客户将缺货产品添加到购物车时,应用程序会显示添加到购物车成功消息。 以前,会添加产品,但应用程序不会显示成功消息。
- 自定义地址属性现在按预期包含在结账工作流中为付款步骤显示的表单中。
- 州/省/地区 输入框现在已在 我的帐户 > 通讯簿 > 添加新地址 上按预期启用。
- 启用 运费金额 后,运费现在按预期折扣。 由Andrii Kalinich在拉取请求中提交的修复28839。 GitHub-26723
- 已重构支持关闭迷你购物车的代码以删除
closeSidebar
函数。 已将适当的click绑定添加到[data-action="close"]
元素。 由lumnn在拉取请求中提交的修复28906。 GitHub-29161
- 通过新的 在购物车页面 上显示“清除购物车”按钮配置设置,可以控制如何在购物车视图页面上显示 清除购物车 按钮。 默认情况下,此设置处于禁用状态。 由Pavlo Sydorenko在拉取请求中提交的修复27917。 GitHub-28705
- 验证已添加到签出工作流的“电话”字段中。 Oleh Usik在拉取请求中提交的修复27537。 GitHub-28800
- 当购物车包含可下载的产品时,如果禁用了 可共享 和 如果购物车包含可下载的项目,则禁用访客签出 设置,则访客签出现在按预期禁用。 Rani Priya在拉取请求中提交的修复23972。 GitHub-23971
- 当购物者从客户帐户侧边栏将产品添加到购物车时,应用程序显示的成功消息现在包含指向购物者的购物车的链接。 Ajith在拉取请求中提交的修复27977。 GitHub-29097
- 应用程序现在为签出工作流上的“前缀”下拉选项菜单默认选择一个空值。 Vadim Malesh在拉取请求中提交的修复28238。 GitHub-18823
- 现在,当您从购物车中删除多个项目时,应用程序显示的弹出消息可准确地描述您选择删除的实体的数量和类型。 Nazar Klovanych在拉取请求中提交的修复29490。 GitHub-1749
- 现在,当访客用户完成结账时,应用程序会显示客户注册表单。
- 自定义客户地址属性字段现在按预期显示在店面结账工作流中。
- 现在,应用程序在结帐期间会检索当前客户组以获取有效报价。 以前,应用程序使用在首次将产品添加到购物车时处于活动状态的客户组,如果该客户组在结账前已被删除,则应用程序会引发错误。 Konstantin在拉取请求中提交的修复28902。 GitHub-29327
目录
- 应用程序现在会在结帐前从购物车的购物车中删除禁用的产品。 以前,当购物者向购物车添加在结账前禁用的产品时,应用程序会从购物车中删除禁用的产品,但该产品仍保留在报价中,购物者无法结账。 GitHub-26680
- 该应用程序现在会按预期排序畅销产品。 以前,产品计数和排序结果的分页都不正确。 GitHub-25955
- 购物者现在可以通过单击比较产品侧边栏中的产品名称来打开产品的详细信息页面。 Eduard Chitoraga在拉取请求中提交的修复27451。 GitHub-21101
- 当管理员删除类别时,
children_count
值现在保持为正。 以前,当管理员删除类别时,剩余类别的children_count
为负数。 Vitaliy Prokopov在拉取请求中提交的修复28044。 GitHub-27969
- 应用程序现在使用您在创建新产品时为
page_layout
属性选择的默认选项(配置 > Web > 默认布局 > 默认产品布局)。 以前,不会应用您选择的默认值。
- 您现在可以成功地对库存产品库存执行成批活动。 以前,当您尝试对库存产品库存执行成批活动时,应用产品将显示一个空白页。 如果您在开发人员模式下对应用程序执行了此操作,则应用程序会引发此错误:
Notice: Undefined offset: 32000 in /Users/kodithuw/sites/m23inventory/inventory/InventoryCatalogAdminUi/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml on line 24
- 将产品添加到目录类别时,单击“产品”选项卡上的 添加产品 时显示的总记录数不再因产品排序顺序而更改。
{products(filter: {sku: {eq: "some sku"}}) {…}
查询现在返回已转换为预期货币的值。 以前,price_tiers.final_price.value
以基础货币显示特殊价格。 Petkovski Marjan在拉取请求中提交的修复28890。 GitHub-26121
目录规则
- 在保存具有以下条件的目录规则时,应用程序不再引发致命错误:
If ALL of these conditions are FALSE:, If ALL of these conditions are TRUE:, Attribute set is default
Cleanup
- 更正了“管理员销售订单网格”复选框的对齐错误。 Tu Nguyen在拉取请求中提交的修复27642。 GitHub-27633
- 更正了销售订单地址保存处理程序中送货地址ID getter的拼写错误。 Konstantin在拉取请求中提交的修复28810。 GitHub-28982
- 已将
getRegionNameExpresion
方法名称更正为getRegionNameExpression
。 Pierre Grimaud在拉取请求中提交的修复288323}。GitHub-28829
- 已从
app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.php
和app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php
中删除冗余init
方法。 Oleh Usik在拉取请求中提交的修复28650。 GitHub-29009
localStorage
polyfill已从base
移动到frontend
。 由Ihor Sviziev在拉取请求中提交的修复28749。 GitHub-28900
- 更新了Adobe Commerce徽标,并从自述文件中删除了多余的空格。 Rafael Corea r̻Gomes在拉取请求28891中提交的 修复。 GitHub-29056
- 已从迷你购物车侧边栏构件中删除不必要的
overflowed
类。 在拉取请求中由lumnn提交的修复28963。 GitHub-29160
- 已更正“装运”页面中错误的CSS选择器。 Tu Nguyen在拉取请求中提交的修复28639。 GitHub-29261
- 通过优化逻辑并删除冗余变量分配和函数中返回的超量使用,
lib/internal/Magento/Framework/App/Request/Http.php
文件已得到简化。 Chris Snedaker在拉取请求中提交的修复28608。 GitHub-29381
bin/magento module:status
命令现在接受多个模块名称作为参数。 Chandru Rajendran在拉取请求中提交的修复28250。 GitHub-29344
- 修复了
\Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable
的类描述中的拼写错误。 Benjamin Rosenberger在拉取请求中提交的修复29451。 GitHub-29470
- 已重构
TierPriceManagement
类以删除冗余代码。 Lukasz Bajsarowicz在拉取请求中提交的_修复29202_。 GitHub-29477
autoload.php
已重构以提高可读性和返回速度。 Vitaliy Ryaboy在拉取请求中提交的修复28923。 GitHub-29527
CMS内容
- 现在,选定默认商店视图的“层次结构”选项卡可按预期显示选定的父页面。
- 当新的商店视图包含的CMS页面与其他商店视图中的页面具有相同的URL键时,应用程序在商店视图创建期间不再引发错误。 Vadim Malesh在拉取请求中提交的修复28421。 GitHub-28357
- 现在,当商家使用与公司结构页面相同的URL创建CMS页面时,应用程序会引发错误。 以前,应用程序显示CMS页面,而不是公司结构页面。
可配置的产品
- 已更正可配置产品编辑当前变体列表的分页问题。
- 当购物者为可配置产品选择选项时,应用程序不再更新“相关产品”价格框。 以前,每当购物者选择可配置产品的选项时,应用程序都会更新价格框。
- 现在,应用程序在“管理员创建订单”页面上显示了带有可自定义选项的可配置产品的正确价格。 如预期的那样,显示的价格是子产品的价格和自定义选项的价格之和。 以前,应用程序仅显示自定义选项价格。 GitHub-25766
- 应用购物车价格规则后,订单摘要现在显示正确的折扣金额。 以前,规则在计算运费折扣时无法正确舍入金额。
- 从范围受限的管理员帐户创建的管理员用户帐户现在可以按预期创建具有属性的可配置产品。 以前,应用程序引发此错误:
Notice: Undefined index: value_index in 23develop/app/code/Magento/ConfigurableProduct/Helper/Product/Options/Factory.php on line 101
。
- 当您使用POST
/V1/products
到值为0的可配置产品时,应用程序不再引发验证错误。int
以前,应用程序引发此错误:Product with id "%1" does not contain required attribute "%2"."
Vadim Malesh在拉取请求29001 中提交的修复。 GitHub-13210
- 父产品的配置选项属性不再分配给新可配置产品的
size
属性。 Abel Truong在拉取请求中提交的修复27339。 GitHub-26449
Cookies
- 应用程序现在为每个会话最多创建一个
mage-translation-file-version
和mage-translation-storage
Cookie。 由Ihor Sviziev在拉取请求中提交的修复27364。 GitHub-27355
cron
- 扩展了消息队列使用者配置,添加了新参数,这些参数有助于控制使用者并保存服务器资源,并可能减少使用者队列CPU消耗。 有关
maxIdleTime
、sleep
和onlySpawnWhenMessageAvailable
参数的说明,请参阅配置消息队列。
cron
表达式,如3/10 * * * *
现在按预期计划。 Anton Evers在拉取请求中提交的修复28930。 GitHub-29240
sales_clean_quotes
不再一次加载所有过期的引号。 以前,应用程序由于此致命错误而失败,因为同时加载了所有过期的引号:PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /path/to/magento2/vendor/magento/framework/Model/AbstractModel.php on line 359
,
CSS
- 启用 关键CSS 后,应用程序不再复制CSS。 Tu Nguyen在拉取请求中提交的修复28480。 GitHub-26498
- 服务器端LESS编译器现在会在您运行
bin/magento setup:static-content:deploy -f
时按预期导入所有远程CSS文件。 以前,应用程序不导入远程文件,并引发错误。 GitHub-25119
自定义客户属性
- 更正了客户编辑帐户信息页面上有关密码和 工作标题 字段的说明文本的对齐问题。
- 当新客户单击storefront客户注册页面上的 创建帐户 按钮时,验证码现在可按预期工作。 以前,应用程序不会创建客户帐户,并在客户单击按钮时显示错误。
- 客户尚未输入任何数据时,结账工作流不再显示自定义客户地址属性值。
客户
- 管理员客户地址中的区域名称现在按预期进行了翻译。
- 省/市/自治区 字段现在按预期在“编辑地址”页(我的帐户 > 通讯簿)上填充。
- 当客户在整个店面多次单击启用了不可见reCAPTCHA的表单上的 Submit 按钮时,应用程序不再引发错误。 以前,多次单击此按钮会导致类似以下内容的内部错误:
Internal error: Make sure you are using reCaptcha V3 api keys
。
- 现在,从管理员那里保存已删除的客户只会生成一条错误消息。 以前,应用程序显示一个空白页,并生成一个包含此字符串的报告:
"0":"No such entity with customerId = 3","1":"#1 Magento\\Customer\\Model CustomerRegistry->retrieve() called at [app\/code\/Magento\/Customer\/Model\/ResourceModel\/CustomerRepository.php:340"
。
- 现在,当管理员尝试为帐户刚刚被删除的客户保存地址时,应用程序会按预期显示错误消息。 以前,应用程序显示一个空白消息框。
- 已编辑签出工作流和通讯簿中的地址字段的标签以保持一致性。
- 现在,如果前端标签的值不为空,则将其回退到存储标签。 以前,客户属性使用默认前端标签。 Toan Nguyen在拉取请求中提交的修复27064。 GitHub-27063
- 已更正布局XML中的
sortOrder
个链接。 以前,此顺序被颠倒并使用降序。 Tu Nguyen在拉取请求中提交的修复27340。 GitHub-27162
客户区段
- 批量操作已重构以异步保存和刷新客户区段,对于包含许多客户(超过3,000,000个)的部署,这提高了这些任务的性能。
- 现在,客户区段条件在拆分数据库部署中可按预期工作。 以前,当您尝试通过添加条件
SQLSTATE[42S02]: Base table or view not found
来编辑客户区段时,应用程序会引发错误。
目录
- 现在,省/市/自治区下拉菜单的格式在管理员中是一致的。
数字点阵
-
当订单包含目录中不再存在的产品SKU时,订单同步不再失败。
-
Web Insight数据中不再包含空的产品类别。
-
Web行为跟踪现在适用于具有某些主题配置的商家。 新的回退选择器解决了此问题。
-
使用cron运行客户同步时,订阅者状态数据字段不再包含空值。 (应用程序模拟可解决此问题。)
-
现在,如果在默认级别启用dotdigital帐户,但在主网站中禁用,则通讯簿映射将按预期工作。
-
现在,可以为包含加号(“+”)的电子邮件地址生成优惠券(使用外部动态内容URL生成优惠券)。
-
当联系人的
last_subscribed_at
值为null时,不再重新订阅联系人。 -
已解决影响早期版本的升级错误(自4.5.2开始)。
-
修复了4.5.3中引入的回归问题,该问题在准备订阅者导出时影响使用获得订阅者状态的方法。
-
现在可以正确计算已同步订阅者的总人数(显示在日志和屏幕上)。
可下载
- “我的可下载产品”区域现在会按预期显示已购买的可下载产品的链接,这些产品属于分组产品。
- 现在,单击“管理员”产品页面中可下载产品的 示例 按钮时,可按预期下载示例。 以前,当您单击 示例 时,应用程序显示以下错误:
The product that was requested doesn't exist. Verify the product and try again
。
- 购物者现在可以下载无库存的可下载产品样品。 以前,当购物者尝试下载示例时,应用程序会打开一个新选项卡,但不会显示信息性消息或开始下载过程。 Vadim Malesh在拉取请求中提交的修复28898。 GitHub-23638
- 改进了当购物者尝试为可下载产品设置送货地址时应用程序显示的例外消息。 由Michal Derlatka在拉取请求中提交的修复28904。 GitHub-26107
- 当使用RESTPUT调用更新
stock_item
值时,将更新产品的stock_item
数据,并按预期保留可下载的产品链接和示例。 以前,在产品更新之后,该产品不再包含用于下载内容的链接。 Vadim Malesh在拉取请求中提交的修复28799。 GitHub-21811
- 现在,当客户为仅包含可下载产品的订单设置送货地址时,应用程序会显示一条信息更丰富的消息。
动态块(以前称为横幅)
- 现在,在创建动态块并添加相关目录价格规则时,表标题会按预期匹配数据表。
电子邮件
- 如果在创建订单后更改了客户电子邮件,则应用程序现在会向正确的客户电子邮件发送有关订单更改的电子邮件通知。
- 向客户发送的订单更新电子邮件现在包含正确的订单状态。 以前,如果订单状态从
processing
更改为其他状态,则订单电子邮件不会反映状态更改。
- 应用程序在访客结帐期间不再显示有关现有帐户的误导性消息。 以前,当访客导航到签出页面,然后导航回送货页面时,应用程序显示以下错误:
You already have an account with us. Sign in or continue as guest
。
- 现在,自定义电子邮件模板会加载与本机默认电子邮件模板相同的元素。 以前,缺少某些元素,包括变量值。
- 您现在可以创建使用
Content-Type: "text/plain"
发送电子邮件的电子邮件模板。 以前,应用程序忽略模板中指定的内容类型。 由twoonesixdigital在拉取请求中提交的修复26474。 GitHub-26471
- 已从电子邮件预览模板中删除不必要的CSS。 Tu Nguyen在拉取请求中提交的修复27828。 GitHub-27543
- 电子邮件模板中重复页脚已显示的文本的文本已被删除。 Pawel Tylek在拉取请求中提交的修复27356。 GitHub-28433
- 产品警报电子邮件现在从订阅警报的存储中发送。 以前,此电子邮件始终从默认商店发送。 Maciej Pawlowski在拉取请求中提交的修复26534。 GitHub-28968
- 已从电子邮件模板中删除重复的
customer.name
变量。 Pawel Tylek在拉取请求中提交的修复29054。 GitHub-29087
- 发送给分配给公司的销售代表的通知电子邮件现在包含分配的公司徽标。 以前,通知电子邮件包含默认的LUMA徽标,而不是上传的公司徽标电子邮件。
框架
- 现在已正确呈现管理员 商店 > 配置 > GENERAL > 高级报告 页面的 发送数据的时间 字段。
- 当订单列表跨越多个页面时,购物者现在可以更改每页显示的订单数。 以前,当您导航到订单的最后一页并尝试更改每页显示的订单数时,应用程序会显示此消息:
You have placed no orders
。 这是2.4.0中的已知问题。
- 现在,您可以在实施2级缓存时将产品添加到类别。
X-Magento-Tags
标头不再超过HTTP规范允许的大小。 以前,包含许多产品的类别页面返回X-Magento-Tag
标头,导致503错误。
- 使用REST API创建装运时,
sales_order_shipment_track_save_commit_after
现在按预期触发。
- 当
di compile
由于不存在依赖关系而失败时,应用程序现在会显示信息性错误消息。 以前,显示的消息不识别发生异常的类。
- 当Redis使用所有允许内存时,应用程序不再引发以下严重错误:
report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'
。
- 禁用
Persistent
模块后,购物者现在可以将多个产品添加到购物车。 GitHub-14486
常规修复
- 对管理员(商店 > 属性 > 产品)上的产品进行排序现在会显示符合您的搜索条件的所有产品。 以前,应用程序不显示记录,要排序记录,您必须导航到搜索结果的第一页。
tracking.phtml
中URL周围不必要的引号和转义已被删除。
- 现在,当用户尝试访问静态目录下的非现有资源文件并启用SCD OnDemand和生产模式时,
var/log/system.log
会显示更准确的消息。 应用程序现在记录404错误。 以前,应用程序会记录当开发人员模式中出现错误时所记录的相同消息。
- JavaScript缩小功能现在可以正常使用。 缩小文件解析程序不再将变量泄露到全局范围。 以前,窗口下的
ctx
、origNameToUrl
和baseUrl
变量被泄漏。 Mateusz Krzeszowiak在拉取请求中提交的修复27622。 GitHub-28110
- 在调试阻止创建对象的错误时,应用程序现在会打印并记录原始异常消息。 以前,仅记录消息。 Marvin Hinz在拉取请求中提交的修复26572。 GitHub-26550
- 提交数据库更改后的回调执行已得到改进。 以前,如果一个回调失败并出现异常,则所有回调都会失败。 Alok Patel在拉取请求中提交的修复27134。 GitHub-28167
- 未定义依赖项的模块的Mixin不再引发此错误:
TypeError: Cannot read property 'map' of null
。 Mateusz Krzeszowiak在拉取请求中提交的修复27690。 GitHub-28340
- 现在仅在
localStorage
或sessionStorage
不可用时才加载和应用存储Polyfill。 Mateusz Krzeszowiak在拉取请求中提交的修复27619。 GitHub-28381
- 现在,当购物者从第二个或后续结果页面更改每页显示的结果数时,多页店面订单列表会按预期运行。 以前,当购物者更改 我的帐户 > 我的订单 列表中显示的搜索结果数时,应用程序会显示此错误:
You have placed no orders
。 Vadim Malesh在拉取请求中提交的修复28417。 GitHub-28488
- 已弃用的
addWarning
方法已在安全模块中被替换为addWarningMessage
方法。 由kishorekumarkesavan在拉取请求中提交的修复28264。 GitHub-28308
- 使用
bin/magento
命令行命令生成的代码现在符合要求和编码标准。 Lukasz Bajsarowicz在拉取请求中提交的_修复28351_。 GitHub-28376
- 如果将CMS页面分配给多个商店视图,则应用程序不会再在站点层次结构中多次显示该页面。
- 使用
backend_type = static
保存属性不再删除frontend_class
字段的内容。 由jiten-patel在拉取请求中提交的修复27369。 GitHub-27051
- 已从主题加载的文件中删除不必要的代码和
responsive.js
。 由Mateusz Krzeszowiak在拉取请求中提交的修复27617。 GitHub-28811
- 验证已添加到Admin CAPTCHA配置页面上的 符号数 字段。 由Eden Duong在拉取请求29199 中提交的修复。 GitHub-29198
- RSS馈送现在可以正确加载。 以前,馈送不会首次加载,但在刷新页面时会按预期加载。 Vadim Malesh在拉取请求中提交的修复29455。 GitHub-25211
- 当购物者重新登录时,已过期的永久会话现在会按预期续订。
- 现在遵循 存储 > 配置 > 高级 > 管理员 中设置的密码生命周期。 以前,如果您单击 忘记密码? 当提示您重置密码时,您可以绕过密码重置。
- 优惠券代码现在仅适用于指定的产品。 以前,该应用程序将优惠券代码应用于购物车中的所有产品。 GitHub-28246
- 在库存或价格更新发生时,购物车到期设置不再重新设置。 以前,当购物车设置为在24小时后过期,并且发生库存更新或价格更新时,索引器会填充
updated_at table
,从而重新设置过期时间。
- 当管理员将具有活动购物车的客户分配给客户组时,应用程序不再引发致命错误。
- 在运行Chrome浏览器时,从产品页面上的 开发人员工具 > 网络 中选择工具栏选项不再初始化
toolbar.js
两次。 Pawel Tylek在拉取请求中提交的修复28838。 GitHub-25934
- 该应用程序现在将管理员用户的ACL角色ID添加到产品类别树缓存ID。 这将限制范围有限的管理员可按预期看到的类别树。 由quangdo-aligent在拉取请求中提交的修复27429。 GitHub-28306
礼品卡
- 礼品卡帐户现在会按预期捕获订单编号。 以前,选定礼品帐户的“历史记录”选项卡中的 更多信息 字段不显示订单ID。
- 现在,使用逗号作为小数分隔符可按预期工作。 以前,逗号分隔符忽略小数值。
- 礼品卡现在按预期显示在迷你购物车中。 以前,应用程序将HTML对象渲染为文本。
- 信用备忘录现在正确地反映了涉及折扣产品以及用礼品卡和商店信用支付订单的总额。
Google Tag Manager
- 启用 Cookie限制模式 设置和Google Tag Manager后,应用程序在签出期间不再引发JavaScript错误。
GraphQL
- 购物者可以在结账时选择礼品信息和包装选项。 GraphQL现在包含适用于各种购物车商品的礼品消息选项。 查看
setGiftOptionsOnCart
突变和updateCartItems
突变。 Oleh Usik在拉取请求中提交的修复28519、27956、28072、28072和246在私有存储库合作伙伴 — magento2ee 中。 GitHub-253
- 客户和客人可以撰写产品评论。 客户还可以检索其产品审阅历史记录。 有关检索有关审阅基础结构信息的信息,请参阅创建产品审阅和productReviewRatingsMetadata查询。 由Eduard Chitoraga在拉取请求中提交的修复27882。 GitHub-28523
- 客户可以在购物车上申请或删除奖励积分。 他们还可以查看自己的奖励积分历史。 有关管理购物车中的奖励积分的讨论,请参阅
applyRewardPointsToCart
和removeRewardPointsFromCart
。 Petkovski Marjan在拉取请求中提交的修复285在私有存储库合作伙伴 — magento2ee和Dmitriy Gallyamov在拉取请求中提交的修复284和281,在私有存储库合作伙伴 — magento2ee中。 GitHub-28835,GitHub-28833
addProductsToCart
变异允许您将任何类型的产品添加到活动购物车。 我们建议使用此突变,而不是单一目的突变,例如addSimpleProductsToCart
。 Yaroslav Rogoza在拉取请求27914 中提交的修复。 GitHub-28524
- 现在,GraphQL对相关产品的查询可返回从目标规则创建的相关产品的值。 以前,仅当从产品设置中添加了相关产品时,对相关产品(顺销和交叉销售)的查询才会返回值。 Ulzii在私人回购合作伙伴magento2ee的拉取请求288中提交的修复。 GitHub-28566
- 新的
availableStores
查询返回同一网站下多个可用存储(基于当前存储)的配置属性列表。 它不会公开网站列表。 查看availableStores
查询。 Dmitriy Gallyamov在拉取请求中提交的修复28794。 GitHub-28569
- GraphQL现在仅使用授权令牌来检索某种类型的用户及其ID。 以前,当授权令牌为空时,GraphQL使用活动客户的Cookie检索此信息。 Alexander Taranovsky在拉取请求中提交的修复27373。 GitHub-28040
- 我们已添加
createCustomerV2
和updateCustomerV2
突变来管理客户帐户。 这些新的突变需要与createCustomer
和updateCustomer
突变不同的输入对象。 若要更改客户的电子邮件地址,请使用新的updateCustomerEmail
突变。 由Michal Derlatka在拉取请求中提交的修复28888。 GitHub-28570
updateCustomer
不再允许您在gender
参数中设置无效的INT
值。 Alexander Taranovsky在拉取请求中提交的修复28487。 GitHub-28481
- 您可以使用
subscribeEmailToNewsletter
突变使客户订阅新闻稿。 查看subscribeEmailToNewsletter
突变。 Alexander Taranovsky在拉取请求中提交的修复27586。 GitHub-27337
- 删除了
setShippingMethodsOnCart
突变解析程序中的冗余逻辑。 Alexander Taranovsky在拉取请求中提交的修复27349。 GitHub-28262
- 为与
sendEmailToFriend
突变相关的Please provide Email of sender
错误添加了测试覆盖率。 Alexander Taranovsky在拉取请求中提交的修复28034。 GitHub-28138
products
查询现在会按预期返回默认商店视图的产品属性选项标签。 以前,此查询返回为管理员设置的产品属性选项标签。 Dmitriy Gallyamov在拉取请求中提交的修复28647。 GitHub-28568
- 自定义属性聚合现在返回特定于存储的选项值。 Dmitriy Gallyamov在拉取请求中提交的修复28647。 GitHub-28572
- 在产品汇总中返回的价格间隔现在只能为数字(不允许使用通配符)。 Dmitriy Gallyamov在拉取请求中提交的修复28745。 GitHub-28628
- 现在,使用片段时,
categoryList
查询返回正确的响应。 Ulzii在拉取请求中提交的修复28710。 GitHub-28584
- GraphQL产品搜索现在会考虑已配置的类别权限。 以前,产品搜索忽略了 启用 设置(商店 > 配置 > 目录 > 目录 > 类别权限)。 修复由Petkovski Marjan在拉取请求28757中提交,在私有存储库
partners-magento2ee
中提交拉取请求271。 GitHub-28563
-
当购物车中的其他商品缺货时,您现在可以使用
addSimpleProductToCart
将产品添加到购物车中。 以前,应用程序返回此错误:Some of the products are out of stock
。 GitHub-26683 -
默认的GraphQL
Category
方法现在按预期的类别位置排序。 由Derrik Nyomo在拉取请求中提交的修复29301。 GitHub-104 -
在Magento Open Source中添加了对愿望清单的支持。 您可以将项目添加至,在其中更新项目,以及从愿望清单中删除项目。 由Eduard Chitoraga在拉取请求28205中提交的修复和私有存储库合作伙伴 — magento2ee 中提交的264修复。 GitHub-28551
-
addProductsToCart
突变允许您向活动购物车添加任何类型的产品。 我们建议使用此突变而不是单用途突变,如addSimpleProductsToCart
。 由Yaroslav Rogoza在拉取请求中提交的修复27914。 GitHub-28524 -
为Payflow Pro Vault付款方法添加了GraphQL Vault支持。 Oleh Usik在拉取请求中提交的修复28821。 GitHub-28520
-
已更新GraphQL
storeConfig
查询以包含新的客户配置设置。 Oleh Usik在拉取请求中提交的修复27876。 GitHub-28521 -
添加了
resetPassword
突变。 Oleh Usik在拉取请求中提交的修复27876。 GitHub-28521 -
添加了
requestPasswordResetEmail
突变,这会触发所提供电子邮件地址的密码重置电子邮件。 Oleh Usik在拉取请求中提交的修复27876。 GitHub-28521 -
在Klarna的付款方式和
createKlarnaPaymentsSession
中添加了有关Klarna GraphQL的讨论
图像
- 缩略图图像的HTML标记已得到改进。 Tu Nguyen在拉取请求中提交的修复28642。 GitHub-29468
导入/导出
error_report.csv
文件现在下载时包含内容,可按预期在var/import_history/
目录中找到。 以前,导入后不会生成此文件。
- 使用CSV文件导入产品时,现在会按预期生成
error_report.csv
文件。 以前,应用程序生成文件,但在导入完成后将其删除。 Vadim Malesh在拉取请求中提交的修复28460。 GitHub-28420
- 删除了整个代码库中的冗余类导入。 Oleh Usik在拉取请求中提交的修复28696。 GitHub-29012
- 现在,对于未定义地区的国家/地区,该应用程序可成功导入包含地区的客户地址。 以前,应用程序引发此错误:
Please enter a valid region
。
- 现在,当商家在计划新导出时选择实体类型时,应用程序会加载正确的实体属性集。
- 当管理员在管理员中创建产品并将其分配给类别时,
catalog_category_product
表中产品的位置现在会按预期更新。 以前,新产品位置始终赋值为0。
- 现在可以从Admin成功导出客户数据,导出数据网格会按预期显示客户数据。 以前,在导出过程中发生与内存分配相关的错误。
- 导入的CSV文件现在会按预期捕获相关的产品信息。 以前,在首次导入CSV文件时,相关的产品信息上传不一致。
- 删除了
AdvancedPricing.php
中未使用的构造参数。 GitHub-29531
索引
- 在执行
PURGE
时,Magento_CacheInvalidate
现在可以正确处理大型标记模式。sendPurgeRequest
已重构为处理标记数组,而不是要求调用方使用implode()
。 由Matthew O'Loughlin在拉取请求中提交的_修复26256_。 GitHub-26255
- 重新索引后运行
bin/magento indexer:status
后,共享索引器现在显示 有效 状态。 以前,共享索引器在完全重新索引后处于 无效 状态。
基础架构
- 在运行PHP 7.4.9的部署中加载目录和产品页时不再出现问题。 以前,当您尝试加载目录和产品页面时,应用程序会引发此错误:
There has been an error processing your request. Exception printing is disabled by default for security reasons
。 GitHub-29502
- 在生产模式下呈现布局时发生的所有异常现在都记录在异常日志文件(
var/report
)中。 以前,应用程序会在系统日志中将这些消息记录为严重问题。
- 由于将
ipcre.backtrack_limi
t和pcre.recursion_limit
增加到大约1000000,因此正则表达式现在可以正确用于大型页面。 Mateusz Krzeszowiak在拉取请求中提交的修复27270。 GitHub-26026
- 改进了拦截器的生成。 已从侦听器删除
} else {
语句,array_map
已替换foreach
。 由Lukasz Bajsarowicz在拉取请求27902 中提交的修复。 GitHub-28383
- 数组创建现在在整个类(
app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
)中保持一致。 Nathan de Graaf在拉取请求中提交的修复28515。 GitHub-28795
- 插件已迁移出框架,以遵循在框架命名空间中禁止插件的最佳做法。 由Lukasz Bajsarowicz在拉取请求27965 中提交的修复。 GitHub-27962
- 生成侦听器时,应用程序不再引发
Undefined class constant
错误。 Vova Yatsyuk在拉取请求28797中提交的 修复。 GitHub-28981
- 现在,当您使用已使用的名称保存集成时,如果应用程序引发集成异常,则表单数据会持续存在。 由Aditya Yadav在拉取请求中提交的_修复26660_。 GitHub-28143
- 应用程序不再将
X-Forwarded-For
标头截断为32个字符。 由Ihor Sviziev在拉取请求中提交的修复27221。 GitHub-28693
- 现在,使用自定义管理域时,用于检查重定向是否为内部的逻辑可在管理中正常工作。 以前,此逻辑的问题会导致许多管理员重定向到默认存储的主页。 Vadim Malesh在拉取请求中提交的修复29066。 GitHub-28943
- 已消除
styles-old.less
文件的问题,并且Linting不再标识错误。 Tu Nguyen在拉取请求中提交的修复28895。 GitHub-24004
NonComposerComponentRegistration.php
已重构。 Vitaliy Ryaboy在拉取请求中提交的修复28975。 GitHub-29308
ResourceConnection.php
已重构以提高类可读性。 Lukasz Bajsarowicz在拉取请求中提交的_修复29341_。 GitHub-29389
- 内置Web服务器的自述文件已更新为包含所有Elasticsearch参数。 由Yevhenii Dumskyi在拉取请求中提交的_修复29300_。 GitHub-29299
Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSave
插件现在会按预期返回一个值。 以前,此插件不会返回值,因此,保存存储视图会导致错误。 Pieter Hoste在拉取请求中提交的修复29035。 GitHub-29034
-
为
DataObject
添加了以下对魔术方法的支持:- 新扩展支持
get/set/has/uns
魔术方法(使用__call
) - 支持SessionManager,它将所有调用转发到DataObject容器
- 扩展的测试覆盖率
- 更新了筛选错误检查测试
- 将PHPStan检查级别从0增加到1。 Oleksandr Kravchuk在拉取请求中提交的_修复27905_。 GitHub-28303
- 新扩展支持
ScopeConfigInterface
现在可以不只是一个字符串。 将magentoConfigFixture
限制为仅字符串是上一拉取请求的不慎结果,该限制已被还原。 由Fooman的Kristof在拉取请求中提交的修复29305。 GitHub-29345
- 由于向
Phrase
构造函数发送了错误的参数,convertConfigTimeToUtc
方法不再引发致命错误。 Kos Rafal在拉取请求中提交的修复29483。 GitHub-29525
- 当
Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getCondition
和Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue()
返回的数组具有包含from
或to
字符串数据的索引时,价格筛选器现在可以按预期对网格数据起作用。 以前,应用程序引发此错误:Notice: A non well formed numeric value encountered in vendor/magento/module-backend/Block/Widget/Grid/Column/Filter/Price.php on line 197
。 Nikita Sarychev在拉取请求中提交的修复29214。 GitHub-29213
- 添加了扩展点以支持将HTML添加到“类别”页面。 这样可更正上一个拉取请求所导致的错误。 由iGerchak在拉取请求中提交的修复29291。 GitHub-29286
库存
- 已从
app/code/Magento/CatalogInventory/Model/StockState.php
中删除不必要的代码注释。 Vitaliy Prokopov在拉取请求中提交的修复27758。 GitHub-26702
分层导航
- 分层导航侧边栏现在显示具有两个选项(yes/no)和匹配产品计数的布尔属性。 以前,使用Elasticsearch的部署中的布尔属性不会返回一个 no 选项。
- 样本分层导航过滤器现在与整个Adobe Commerce中使用的标准过滤器一致。 Bartlomiej Szubert在拉取请求中提交的修复28015。 GitHub-28011
记录
- 现在,当部署仅处于开发人员模式时,会记录所有损坏的引用错误。 以前,在生产模式下也会为部署记录一个错误,这会使错误日志臃肿。 Bartlomiej Szubert在拉取请求中提交的修复28735。 GitHub-26504
媒体集
- 媒体集配置UI (管理员 存储 > 配置 > 已重新组织 高级 > 系统)。 由Shankar Konar在拉取请求中提交的修复29433。 GitHub-28011
- 添加了测试,以涵盖媒体集中图像的 用于 的链接。 Nazar Klovanych在拉取请求中提交的修复29392。 GitHub-1963
- 禁用媒体库后,当商家尝试保存产品及其相关图像时,应用程序不再引发异常。 Nazar Klovanych在拉取请求中提交的修复29492。 GitHub-1750
MFTF
AdminSubmitAdvancedInventoryFormActionGroup
、AdminClickOnAdvancedInventoryLinkActionGroup
和 根据最佳实践,测试中使用了AdminSetStockStatusConfigActionGroup
操作组。 Oleh USIA在拉取请求中提交的修复29386。 GitHub-29420
SearchProductGridByKeywordActionGroup
现在用于产品网格中的搜索。 Oleh Usik在拉取请求中提交的修复29385。 GitHub-29434
AdminCategoriesClickDoneButtonOnPopupActionGroup
现在用于在“搜索类别”弹出窗口中单击 完成。 Oleh Usik在拉取请求中提交的修复28989。 GitHub-29380
LoginToStorefrontActionGroup
现在用于替换用于存储前端客户登录的一系列操作。 由Sathish Subramanian在拉取请求中提交的修复28113。 GitHub-28165
AdminUpdateCustomURLRewritesPermanentTest
已重构以符合MFTF最佳实践。 Kate Kyzyma在拉取请求中提交的修复28361。 GitHub-28393
- 已更改测试名称以符合MFTF约定。 Evgeny Levinsky在拉取请求中提交的修复27839。 GitHub-28305
新建操作组
StorefrontCheckoutClickNextButtonActionGroup
Oleh Usik在拉取请求中提交的修复294724}。GitHub-29539
AdminProductFormSaveActionGroup
Oleh Usik在拉取请求中提交的修复291424}。GitHub-29292
AdminSaveCategoryActionGroup
Oleh Usik在拉取请求中提交的修复289934}。GitHub-29388
AdminProductGridSectionClickFirstRowActionGroup
Oleh Usik在拉取请求中提交的修复290004}。GitHub-29295
AdminProductFormCategoryExistInCategoryListActionGroup
和AdminProductFormCategoryNotExistInCategoryListActionGroup
Alexander Steshuk在拉取请求28287 中提交的修复。 GitHub-28392
AdminExpandCategoryTreeActionGroup
Oleh Usik在拉取请求中提交的修复291334}。GitHub-29289
AdminTaxRateGridOpenPageActionGroup
Oleh Usik在拉取请求中提交的修复290074}。GitHub-29281
AdminNavigateNewCustomerActionGroup
Oleh Usik在拉取请求中提交的修复291344}。GitHub-29287
新测试
-
添加了对以管理员用户身份删除CMS页面的测试。 Dmitry Tsymbal在拉取请求中提交的修复28112。 GitHub-28202
-
为使用无效电子邮件地址共享客户愿望清单添加了
StorefrontShareCustomerWishlistActionGroup
测试。 已重构希望列表共享的现有测试(StorefrontShareWishlistEntityTest
)。StorefrontCustomerShareWishlistActionGroup
已弃用。
- 添加了一个测试,以检查 仅X剩余阈值 配置设置的实现。 Oleh Usik在拉取请求中提交的修复27549。 GitHub-28755
新闻稿
- 使用
Excel XML
选项导出新闻稿订阅者列表现在会按预期导出所有行。 以前,导出的数据仅包含页面分页值,而不包含所有行。
- 新闻稿订阅电子邮件现在使用与其他新闻稿相关电子邮件相同的HTML标记。 Pawel Tylek在拉取请求中提交的修复27357。 GitHub-28166
- 添加测试以作为管理员用户删除新闻稿订阅者。 Dmitry Tsymbal在拉取请求中提交的修复28972。 GitHub-29032
- 为配置语句中具有不允许选项的来宾添加了新闻稿订阅测试。 此测试将替换已弃用的
VerifyRegistredLinkDisplayedForGuestSubscriptionNoTest
和StorefrontCreateNewSubscriberActionGroup
。 Dmitry Tsymbal在拉取请求中提交的修复28872。 GitHub-29039
订购
GetAssetIdByContentFieldInterface
及其在MediaContent
模块上的实现现在允许Adobe Stock集成扩展MediaGallery
筛选器功能。 由Gabriel da Gama在拉取请求29058 中提交的修复。 GitHub-1464
- 新建客户的
CustomerAddressI
值现在在引号中验证。 由Andrii Kalinich在拉取请求29139 中提交的修复。 GitHub-28793
- 总金额为零的贷项通知单的订单状态为
Closed
。 以前,应用程序将其订单状态报告为Complete
。 由Andrii Kalinich在拉取请求中提交的修复29023。 GitHub-22762
页面生成器
description
和short_description
产品属性已重新排序,以更好地适应对页面生成器内容暂存的计划更改。 Matt Walters在拉取请求中提交的修复29238。 GitHub-543
支付方式
- 应用程序现在显示一条消息,提示您输入强制性信用卡数据,在您单击管理员订单的 提交 时不会输入有效的付款信息。 以前,当付款输入字段无效并且页面变为不活动时,Braintree卡验证器不会引发错误。
- 现在,对于其帐户具有已存储信用卡(Braintree)的客户,您可以从管理员中更改所创建订单的配送方式。 以前,当您选择其他送货方法时,不会选择存储的卡,并且应用程序不会下订单。
PayPal
- 现在,结账工作流的“订单审核”页面通过结账期间已更改配送方式的Braintree订单,显示PayPal的正确配送金额。 以前,当客户在结账工作流的“PayPal订单审核”页面上更改配送方式时,应用程序未使用正确的方法更新订单总额。
- 商家现在可以成功取消使用PayPal授权的订单。 以前,应用程序未取消订单并显示此错误:
Declined: 10601-Authorization has expired
。
- 当您通过先完成另一张订单后关闭PayPal付款弹出窗口来取消订单时,应用产品不再清空购物车。
性能
- 三个新的配置设置支持减少使用者队列CPU消耗。 这些可选参数可增强对使用者的控制并节省服务器资源。 有关
maxIdleTime
、sleep
和onlySpawnWhenMessageAvailable
参数的说明,请参阅配置消息队列。
-
插件列表配置现在已在执行
di:compile
命令期间生成。 此配置信息会根据作用域写入生成的元数据文件夹中。 以前,此信息存储在高速缓存中。 由此带来的性能改进包括:- 网络缓存大小已减小
- 许多场景的执行时间已得到改进。
- 现在,应用程序可按需加载相应的滑块构件,从而改进了页面加载。 触控滑块构件自定义已移至单独的文件,因此只能在兼容设备上加载。 现在,仅当页面上实际使用了范围绑定时,才加载相应的滑块构件类型。 Mateusz Krzeszowiak在拉取请求中提交的修复27616。 GitHub-28807
- 提高了多订单同时结账的性能。
- 当导入进程执行批量插入且重新索引进程同时通过select执行大量插入时,不再发生死锁。 以前,应用程序显示此错误:
PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock
。 GitHub-8933
退货授权(RMA)
- 在您为退货授权(RMA)创建发运标签后,“退货”页面现在可以按预期工作。 以前,商家在为RMA创建送货标签后,无法与“退货”页面上的任何页面元素进行交互。 这是2.4.0的已知问题,
MC-35984-2.4.0-CE-composer.patch
解决了2.4.0的此问题。
- 现在,当具有受限权限的管理员尝试为不再位于分配的网站范围内的产品创建返回值时,应用程序会显示信息性错误消息或所有可用产品。 以前,应用程序显示空白页。
审核
entity_pk_value-entity_type-store_id
的唯一键已添加到review_entity_summary
表中,这可防止为同一产品ID (entity_pk_value
)创建重复行。 以前,由于缺少唯一键,导致同一产品ID出现重复行和SQL错误。
销售
- 在为要求零付款的订单开票后,应用产品不再分配
Complete
状态。
- 现在,由REST API生成的新发运电子邮件包含与从管理员手动创建的发运相同的发运和客户信息。 以前,此电子邮件不包含客户名称、跟踪信息、订购的产品和其他订单信息。
- 现在,当从管理员加载或自定义电子邮件时,来宾用户名会按预期显示在与发票和装运相关的电子邮件中。
- PDF发票现在将转换为下订单所在商店视图的语言。 以前,PDF发票是采用管理员的语言翻译的。
- 您现在可以从贷项通知单页面按预期发放退款。 GitHub-29014
- 店面订单页面上显示的本地化区域名称现在可以正确翻译。 以前,区域名称不基于指定的区域设置,除非在管理员中对其进行编辑。
- 通过POST
/rest/V1/shipment
终结点创建的装运现在可正确更新订单。 以前,应用产品创建发运,但发运状态仍为处理状态。
- 贷项通知单现在显示从发出订单的商店范围中推导出的付款方式。 以前,贷项通知单显示默认存储范围所定义的名称。 由Ledian Hymetllari在拉取请求中提交的修复27582。 GitHub-27570
Search search-heading
- 您现在可以使用QuickSearch从管理员客户视图中按属性搜索产品。 以前,目录搜索结果页面上发生异常。
- 现在,在添加产品属性后,应用程序会按预期在类别页面上显示可配置产品。
- Elasticsearch结果现在包含每个商店视图属性选项的正确值。 如果“下拉列表”或“多选”属性在非默认商店视图中的选项值不同于默认商店视图中的选项值,则Elasticsearch现在会对该值进行索引,或者在结果中返回具有该值的产品。 以前,Elasticsearch不对该值进行索引,也不在结果中返回具有该值的产品。
- 现在,通过SKU搜索可按预期方式使用Elasticsearch进行高级搜索。 以前,当您尝试按SKU进行搜索时,应用程序会显示以下错误消息:
We can't find any items matching these search criteria. Modify your search
。
- 高级搜索不再允许购物者过滤负价格。 Rohan Hapani在拉取请求中提交的修复27359。 GitHub-27358
- 范围值现在在“新建同义词组”窗体中按预期重置。 由Sathish Subramanian在拉取请求中提交的修复29206。 GitHub-28947
配送
- 现在,升级后,该应用程序可正确计算装运表费率。 以前,发运表格费率是根据不含增值税的净价格计算的。
- 现在,当使用多个地址结账时,客户可以在结账工作流的订单审核页面上成功删除奖励点。 以前,当客户单击“删除”按钮删除任何地址的点数时,应用程序会引发
404 Not Found
错误。 这是2.4.0中的一个已知问题。
- 现在,对于将FedEx指定为发运方法的订单,应用产品会在结帐工作流中以正确的币种显示发运费率。
- 现在,UPS发运的订单的发运标签的多页PDF会显示正确的计数。
- “创建包”页面的JavaScript组件问题已得到解决。 以前,应用程序不在此页面上显示 创建送货标签 复选框,并且您无法为现有订单创建送货标签。
Sitemap
robots.txt
中的站点地图现在特定于商店。 Vadim Malesh在拉取请求中提交的修复29331。 GitHub-28901
- 编码值现在在
sitemap.xml
文件中进行了正确转义。 以前,当您在产品名称或图像标题中包含编码字符时,生成的站点地图无效。
暂存
- 将产品设置为新 属性标签现在按预期显示在产品的详细信息和计划的更新页面上。
- 您现在可以成功预览CMS块的暂存计划。 以前,应用程序抛出致命错误。
- 现在,在编辑具有计划更新的CMS页面并将其从默认商店重新分配到其他商店时,您可以访问CMS预览页面。 以前,当您单击预览链接时,应用程序抛出404错误。
- 您现在可以使用POST
/V1/products/special-price
更新产品的特殊价格,而无需指定price_to
参数值。 以前,尝试在不指定price_to
参数的情况下设置价格更新不成功。
存储
- 删除以前创建的存储视图不会再导致使用拆分数据库配置的部署中出现错误。 以前,应用程序引发异常。
- 您现在可以从一个网站中导出
config.php
和默认网站代码,以便在多网站部署的第二个网站上安装和配置应用程序。 以前,默认存储和视图在导出后消失,店面发生错误。
Swagger
- 您现在可以使用Swagger生成客户令牌。 以前,在输入有效的客户访问信息时,Swagger不会生成响应代码,应用程序会显示以下错误:
The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later
。 Vadim Malesh在拉取请求中提交的修复28822。 GitHub-27098
色板
- 现在,当购物者单击购物车中的 Edit 时,带色板的可配置产品会显示层定价。 以前,应用程序在结账前不会在购物车中显示分层价格。 由Sathish Subramanian在拉取请求中提交的修复29137。 GitHub-28270
- 应用程序现在可按预期显示可配置产品变体的层价格。
TargetRule
-
在以下条件下,产品页面的性能已得到改进:
- 目标规则模块已安装
- 实施关联产品功能(相关、向上销售和交叉销售产品)
税金
- 商家从产品的属性集中取消分配产品后,应用产品不再在店面上显示产品的固定产品税属性。
测试
- 单元测试中已修复PHPUnit 9错误。 Anton Evers在拉取请求中提交的修复29244。 GitHub-29329
- 添加了用于批准使用已过期折扣发出的采购订单的单元测试,它将全额下单,而不会更新采购订单合计。 Joan He在拉取请求18 中提交的修复。 GitHub-204
- 集成测试现已涵盖
SynchronizeFilesInterface
。 在拉取请求29493 中由jmonteros422提交的修复。 GitHub-1742
- 向
\Magento\TestFramework\TestCase\WebapiAbstract
添加了一个函数,该函数允许比较测试中预期结果和实际结果的大型嵌套数组,并允许测试者忽略实际结果中的无关键。 Jekabs在拉取请求中提交的修复29458。 GitHub-29498
- 用
app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php
中的实际值更正了预期值的反转。 Lukasz Bajsarowicz在拉取请求中提交的_修复29271_。 GitHub-29283
- 在测试期间使用
ObjectManager
实例化类已替换为单元测试中的新关键字。 由Lukasz Bajsarowicz在拉取请求29272 中提交的修复。 GitHub-29346
- 已为
updateCustomer
突变的以下情况添加测试覆盖率:出生日期无效、电子邮件地址无效和客户姓氏为空。 Alexander Taranovsky在拉取请求中提交的修复28304。 GitHub-28394
ApiFunctional TestFramework
GraphQL客户端现在可以正确解析标头。 GitHub-26425
主题
- 现在,在运行
bin/magento catalog:images:resize
时,用户代理规则中添加的主题会按预期受到影响。 以前,运行bin/magento catalog:images:resize
时,只会影响分配给商店的主题。
翻译和区域设置
- 当管理员在管理员产品创建期间更改 Date 字段或当管理员区域设置为中文或日文时保存该字段时,应用程序不再引发错误。 GitHub-24696
- 现在,在渲染内联转换标记之前,应用程序会检查区域(前端或
adminhtml
)。 以前,如果在启用内联转换时用错误的凭据对/rest/V1/integration/admin/token
进行API调用,则会导致在API响应中包含有关错误消息的内联转换标记。 Zach Nanninga在拉取请求中提交的修复28856。 GitHub-28656
- 已将保加利亚区域添加到
directory_country_region
表。 由Nikola Lardev在拉取请求27957 中提交的修复。 GitHub-28215
- 现在可以翻译管理员 客户 > 添加新地址 和 编辑产品 > 高级库存 模型上的标题和按钮。 由Sathish Subramanian在拉取请求中提交的修复28174。 GitHub-28201
- 现在可以在管理员 商店 > 配置 > 销售 > 税 > 固定产品税 上翻译术语FPT。 Vadim Malesh在拉取请求中提交的修复28108。 GitHub-5477
- 签出工作流送货地址模式上的 发货位置 按钮标签已更改,以匹配用于其他按钮的驼峰式大小写。 现在,此案例与翻译文件中使用的案例匹配。 以前,由于大小写不匹配,因此不翻译此标签。 WK在拉取请求中提交的修复28547。 GitHub-28685
UI
- 现在,当显示“隐私和Cookie策略”页面时,页脚中的隐私和Cookie策略链接将显示为活动链接。 由Sathish Subramanian在拉取请求中提交的修复28004。 GitHub-27985
- 修复了与从管理员 销售 > 订单 中选择的订单关联的发票的“发票备注”文本区域中的光标未对齐问题。
- “创建新订单”页面现在会按预期显示 按SKU添加产品 和 添加产品 按钮。
- 当所选产品的产品评级可用时,应用程序现在会正确显示“编辑审阅”页面。
- 现在,该应用程序可在运行Safari的iPhone上正确显示“管理员客户编辑”页面。
- 更正了“创建新订单”页上不必要的滚动。
- 直接单击“添加新税则”页面的 导出税率 按钮(商店 > 税则),现在可按预期下载
tax_rates.csv
文件。 以前,商家必须单击 出口税率 按钮的边缘。 这是2.4.0中的一个已知问题。
- 购物车底部的 将选定内容添加到购物车 按钮现在可按预期工作。 这是2.4.0中的一个已知问题。
- 客户活动页面中 最近查看的产品 部分的 刷新 按钮现在可按预期工作。 以前,当您单击 刷新 时,产品列表不会刷新,页面会滚动。
- 应用程序现在可在 客户 > 区段 > 添加区段 的条件选项卡上正确显示用于选择客户出生日期的日历图标。
- 当购物者在Internet Explorer 11.x上滚动浏览此页面时,签出工作流的签出摘要部分不再闪烁。
- 现在,应用程序可在店面类别页面上正确显示“按SKU排序”构件。 以前,此构件的HTML代码未呈现,并且应用程序未显示 加载SKU列表 链接。
- 已使用
this.disabled(true)
禁用的UI组件不再出现在店面上。 GitHub-29098
- 该应用程序现在可以在移动设备视图中正确显示最近查看过的产品小部件。 Tu Nguyen在拉取请求中提交的修复27572。 GitHub-27058
- 从管理员那里更改产品位置现在会反映在店面的产品位置中。 Oleg Aleksin在拉取请求中提交的修复28150。 GitHub-28149
- 登录表单样式现在与空白主题中其他表单上的样式一致。 删除了设置容器控件换行输入字段宽度的不必要样式。 Tu Nguyen在拉取请求中提交的修复28084。 GitHub-28059
- 微型购物车删除产品确认弹出窗口上的 确定 按钮现在按预期运行。 Tu Nguyen在拉取请求中提交的修复28083。 GitHub-27095
- 在页面加载过程中,产品库元素不再闪烁。 Mateusz Krzeszowiak在拉取请求中提交的修复27871。 GitHub-28339
- 控制字段宽度的CSS类现在按预期应用于整个Admin中的Start Time元素。 由Shankar Konar在拉取请求中提交的修复29511。 GitHub-29496
- 条款和条件文本标签现在可以正确显示较长的文本字符串。 Bartlomiej Szubert在拉取请求中提交的修复29413。 GitHub-24060
- 为准确起见,已重写订单失败页面的标题。 以前,当购物者取消订单时,应用程序会显示具有此标题的页面:
We received your order!
。 Angelo Romano在拉取请求中提交的修复29410。 GitHub-29416
- 现在,已取消订单查看页面上的已取消项目总数在已取消订单查看页面上可正确识别。 以前,此字段标记为 总到期时间。 Madhu Rajawat在拉取请求中提交的修复27516。 GitHub-26191
- 创建可配置产品页面上的切换按钮现在可按预期工作。 Tu Nguyen在拉取请求中提交的修复28032。 GitHub-22702
- 现在,“高级属性属性”页面上的高级属性属性块图标会按预期运行。 Tu Nguyen在拉取请求中提交的修复28032。 GitHub-26022
- 现在,当您尝试保存新模块的配置设置时,系统配置页面的“管理员”部分将展开以按预期显示必填字段。 Bartlomiej Szubert在拉取请求中提交的修复28285。 GitHub-26427
- 更正了模式设置为
inside
时放大镜的行为。 由Sean van Zuidam在拉取请求中提交的修复29077。 GitHub-29076
- 更正了购物者在页脚的subscribe字段中输入无效电子邮件地址时导致输入字段宽度过长且令人难以置信的问题。 Dipesh Rangani在拉取请求中提交的修复27106。 GitHub-27099
- 添加新标记并将鼠标光标移动到其上时,
Uncaught ReferenceError
错误不再出现在开发控制台中。 Nazar Klovanych在拉取请求中提交的修复29392。 GitHub-1700
- 已删除未使用的
AdminAnalytics
测试(TrackingScriptTest
)。 Lukasz Bajsarowicz在拉取请求中提交的_修复28605_。 GitHub-28850
- 解决了在运行连续测试时静态属性的序列化和取消序列化问题。 Pavel Bystritsky在拉取请求中提交的修复26175。 GitHub-28319,GitHub-29313
URL重写
-
将商店视图移动到其他网站时,不再重置URL。 以前,应用程序错误地重新生成了CMS并重写了产品URL。
-
您现在可以成功预览CMS块的暂存计划。 以前,应用程序抛出致命错误。
- 将存储视图分配给其他存储时,应用程序现在会按预期保留现有目录URL重写。 以前,应用程序删除了特定于存储的URL重写。
清漆
- 重新启动Varnish不再导致503错误。 由Ihor Sviziev在拉取请求中提交的修复28137。 GitHub-24353
保险库
- 如果未选中结帐工作流付款部分上的 保存以供以后使用 复选框,则应用程序不再保存信用卡号码。
Visual Merchandiser
- 现在,当您在可视化促销中对产品进行排序并且启用了库存时,应用程序会显示源库存而不是默认产品库存。
Web API框架
- 使用REST创建的发票现在包含与在Admin中创建的发票类似的礼品卡信息。 以前,使用POST
/V1/order/:id/invoice
为订单开票时未显示已核销的礼品卡代码或礼品卡金额。
- 现在,具有多个网站的商家可以使用REST API创建和更新产品,同时保留图像和图像角色继承。 以前,当商家使用REST API创建和更新产品,并为商店视图更新产品时,将为该商店视图加载并保存默认图像角色。 因此,存储视图图像角色在更新后停止从默认范围继承。
- 当资源权限允许访问时,无作用域的集成用户帐户现在可以通过REST API访问资源。
- 现在,搜索标准筛选器可按预期适用于在创建可配置产品期间使用的产品属性。 GitHub-29126
- 现在已针对POST
/rest/V1/customers
请求验证客户组ID。 以前,当您在这些请求中使用无效的group_id
时,应用程序不显示错误消息。 Vadim Malesh在拉取请求中提交的修复28903。 GitHub-28064
- 默认情况下,不会为匿名REST调用创建PHP会话。 以前,即使没有必要,也会启动会话。 Maciej Pawlowski在拉取请求中提交的修复26032。 GitHub-7213
- 使用各种REST端点更新包含自定义选项的订单不再删除自定义选项信息。 以前,删除
info_buyRequest
中的值。 Vadim Malesh在拉取请求中提交的修复28483。 GitHub-22431
- 在检索用户信息时,使用GET
V1/customers/me
现在遵循 共享客户帐户 设置(管理员 存储 > 配置 > 客户 > 客户配置 > 帐户共享选项)。 Pavel Bystritsky在拉取请求中提交的修复28213。 GitHub-26089
- 与地址相关的扩展属性可以设置为数据阵列。 以前,当包含的POST请求时,应用程序会引发错误
extension_attributes
已发送至estimate-shipping-methods
。 此错误由以前的提交引入,它影响了Magento\Quote\Api\Data\AddressInterface
上任何不是对象的扩展属性集。 Alexander Menk在拉取请求中提交的修复27338。 GitHub-26682
- 在使用PUT为
V1/customers/:id
的端点更新客户时,您现在可以指定单个字段。 以前,端点要求您指定客户电子邮件和创建客户所需的其他字段。 Vadim Malesh在拉取请求中提交的修复28332。 GitHub-21237
网站限制
- 启用网站限制不再阻止以访客身份登录的客户的Varnish ESI请求。 以前,这些来宾无法访问主页主菜单。
- 现在,在启用网站限制后,应用程序会按预期加载产品主页。
愿望清单
- 现在,您可以使用愿望清单搜索功能在启用了多个愿望清单支持的部署中的公共愿望清单中查找产品。 以前,在客户使用愿望列表搜索查找产品、选择产品并单击 添加到购物车 后,应用程序未将产品添加到购物车并显示以下错误:
Invalid Form Key. Please refresh the page
。
- 客户现在可以从愿望清单本身更改愿望清单中产品的数量。 以前,应用程序不更新产品数量,也不显示消息。
- 客户现在可以从愿望列表本身更改愿望列表中分组产品的数量。 以前,应用程序不更新产品数量或显示消息。
- 店面类别页面现在会按预期显示愿望列表搜索小组件。
- 现在仅根据需要加载
Map
、WeakMap
、FormData
和MutationObserver
的Polyfill。 由Dmitry Tsymbal在拉取请求28330中提交的修复和由Mateusz Krzeszowiak在拉取请求27618 中提交的修复。 GitHub-28377,GitHub-28382
- 希望列表更新过程现在支持同时更新希望列表项及其描述。 Eduard Chitoraga在拉取请求中提交的修复28222。 GitHub-28261
- 应用程序现在可以正确验证购物者可以创建的最大允许愿望清单。 Eduard Chitoraga在私有存储库合作伙伴 — magento2ee 的拉取请求247中提交的修复。
- 管理员现在可以配置已由客户从非默认存储添加到愿望清单的可配置产品。 以前,当客户还从非默认存储区添加了可配置产品时,应用程序会引发错误。
- 添加了用于与超过允许数量的电子邮件共享客户愿望列表的测试。 Dmitry Tsymbal在拉取请求中提交的修复28641。 GitHub-28720
- 添加了一项测试,用于以管理员用户身份从客户的愿望列表中删除项目。 由Dmitry Tsymbal在拉取请求28632 中提交的修复。 GitHub-28721
- 添加了一个用于禁用愿望列表功能的测试。 由Dmitry Tsymbal在拉取请求28635 中提交的修复。 GitHub-28744
- 添加了一项测试,用于在共享客户愿望列表时使用无效的电子邮件地址。
StorefrontShareWishlistEntityTest
已重构。StorefrontCustomerShareWishlistActionGroup
已弃用。 Dmitry Tsymbal在拉取请求中提交的修复28330。 GitHub-28377
- 添加了用于共享超出允许文本长度限制的客户愿望列表的测试。 Dmitry Tsymbal在拉取请求中提交的修复28812。 GitHub-28969
已知问题
问题:使用第三方支付提供商时,用于签出的新CAPTCHA功能在“下订单”页面上无法正常工作。 运行2.3.6或2.4.1并在“下单店面”页面上启用了CAPTCHA保护的商家在使用第三方支付提供商(如PayPal)结帐时将会看到此错误: Please provide CAPTCHA code and try again
。 解决方法:此问题的修复程序现已可用。 请参阅签出中的Adobe Commerce v2.3.6/2.4.1 CAPTCHA不起作用知识库文章。 我们的下一个季度修补程序(Q12021)中也将包含修补程序。
问题:没有管理员权限的用户当前无法设置其个人2FA访问权限。 2FA包括两个ACL角色。 一个角色会影响全局系统配置,仅在配置系统时才需要该角色。 第二个ACL角色影响单个用户2FA帐户。 管理员用户必须配置第二种类型的2FA ACL。 解决方法:用户登录并查看访问被拒绝屏幕后,可以访问https://<magento store>/<admin_path>/tfa/tfa/requestconfig/
以强制配置。 注意:我们不建议禁用安全设置。 但是,只有在禁用管理员URL密钥时,此解决方法才有效。
问题:如果购物者输入的数据无效,则“新建帐户”页面上的 创建帐户 按钮将保持禁用状态。 这样可防止购物者在出错后重新尝试创建帐户。 解决方法:应用修补程序MC-38509
。 我们的下一个季度版本(2.4.2、2.4.1-p1和2.3.6-p1)中也将包含修复,这些版本计划于2021年第1季度发布。 请参阅2.4.1和2.3.6创建帐户按钮禁用了修补程序知识库文章。 GitHub-30513
问题:启用dotdigital后,商家无法从Safari中的管理员登录到dotdigital。 请参阅启用dotdigital帐户后,无法通过admin面板登录dotdigital知识库文章。
问题:当购物者选择与帐单地址不同的送货地址时,在付款期间顶点地址验证不起作用。 此问题将在2.4.2中修复。查看2.4.1已知问题:更新地址知识库文章后,顶点地址验证消息未消失。
问题:商家在Safari浏览器上保存dotdigital页面生成器表单时,应用程序显示空页面。 解决方法:重新加载页面以应用更改。 请参阅2.4.1已知问题:保存dotdigital Page Builder表单知识库文章后页面为空。
问题:在某些情况下,应用程序会自动将客户登录到以前使用的Amazon帐户,而不是提示他们在使用Amazon Pay结帐时登录。 请参阅2.4.1已知问题:无法在Google Chrome知识库文章中更改Amazon帐户。
问题:在选择PayPalBraintree付款和多地址装运时,应用程序会在结帐工作流的帐单页面上短暂显示错误消息。 查看2.4.1已知问题:使用PayPalBraintree签出知识库文章时弹出错误。
问题:在禁用来宾结帐时,如果来宾客户尝试通过Braintree使用PayPal下订单,则应用程序会显示一条非信息性错误消息。 请参阅2.4.1已知问题:使用Paypal通过Braintree知识库文章进行来宾结帐时出现非信息性错误消息。
社区贡献
我们感谢更广泛的Magento Open Source界,并感谢他们为这一版本做出的贡献。 您可以通过以下方式了解社区对我们当前版本的贡献:
-
如果社区成员提供了此版本的修复,我们将在这些注释的“修复问题”部分中使用短语“社区成员提供的修复”来标识此修复。
-
社区工程团队Magento参与者按月、季度、年维护了主要参与人员和合作伙伴的列表。 从该参与者页面,您可以单击链接以转到GitHub上其合并的PR。
合作伙伴投稿
下表列出了合作伙伴所做的贡献。 此表列出了提出拉取请求的合作伙伴、外部拉取请求以及与其关联的GitHub问题编号(如果可用)。
个人贡献者
下表列出了来自社区成员的贡献。 此表列出了外部拉取请求、与其关联的GitHub问题编号(如果可用)以及参与拉取请求的社区成员。
系统要求
我们的技术栈栈是基于PHP和MySQL构建的。 有关详细信息,请参阅系统要求。
安装和升级说明
您可以使用编辑器安装Adobe Commerce 2.4.1。
迁移工具包
Data Migration Tool可帮助将现有Magento1.x存储数据转移到Magento2.x。此命令行界面包括验证、进度跟踪、日志记录和测试功能。 有关安装说明,请参阅安装数据迁移工具。 考虑浏览或参与数据迁移存储库。
代码迁移工具包可帮助将现有Magento1.x存储扩展和自定义项传输到Magento2.x。命令行界面包括用于转换Magento1.x模块和布局的脚本。