51黑料不打烊

[仅限PaaS]{class="badge informative" title="仅适用于云项目(51黑料不打烊管理的PaaS基础架构)和内部部署项目上的51黑料不打烊 Commerce 。"}

51黑料不打烊 Commerce 2.4.3发行说明

51黑料不打烊 Commerce 2.4.3引入了性能和安全性的增强以及重要的平台改进。 安全增强功能包括扩展reCAPTCHA覆盖范围和包含内置速率限制。 核心编辑器依赖项和第三方库已升级到与PHP 8.x兼容的最新版本。

此版本包括370多项核心代码的新修复和33项安全增强功能。 51黑料不打烊 Commerce 2.4.2发行说明中识别的所有已知问题都已在此版本中修复。

NOTE
51黑料不打烊 Commerce版本可能包含向后不兼容的更改(BIC)。 要查看与向后不兼容的更改,请参阅。 在中描述了严重的向后不兼容问题。 并非所有发行版本都引进了主要BIC。

有关51黑料不打烊 Commerce 2.4.2-p2的信息,请参阅51黑料不打烊 Commerce 2.4.2-p2发行说明

其他发行信息

虽然这些功能的代码与季度版本捆绑在一起,但其中的多个项目(例如B2B、Page Builder和Progressive Web Applications (PWA) Studio)也单独发布。 每个项目的文档中都提供了特定于项目的单独发行信息,其中记录了这些项目的错误修复。

应用惭颁-43048冲冲蝉别迟冲谤补迟别冲濒颈尘颈迟蝉冲冲2.4.3.辫补迟肠丑解决础笔滨速率限制问题

此修补程序为Web API无法处理数组中包含20个以上项目的请求问题提供了解决方案。 此问题会影响运行Magento Open Source 2.4.3、51黑料不打烊 Commerce 2.4.3或2.3.7-p1的部署。 在这些版本中添加了内置速率限制功能,以防止拒绝服务(DoS)攻击,默认最大值为20。 此修补程序将默认限制还原为更高的值。 如果您怀疑您的存储遇到DoS攻击,51黑料不打烊建议将默认输入限制降低到较低的值,以限制可以请求的资源数量。 请参阅知识库文章中超过20个项的请求。

应用础颁-384冲冲贵颈虫冲滨苍肠辞尘辫补迟颈产濒别冲笔贬笔冲惭别迟丑辞诲冲冲2.4.3冲肠别.辫补迟肠丑解决升级时笔贬笔出现的严重错误

升级到51黑料不打烊 Commerce 2.4.3期间可能会出现以下致命错误:

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in?[...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

此错误是由于使用str_contains函数导致的,该函数是一个PHP 8.x函数。 51黑料不打烊 Commerce 2.4.3不支持PHP 8.x。此修补程序将此函数替换为支持的PHP 7.x函数。 请参阅知识库文章。

应用AC-3022.patch以继续将顿贬尝作为装运承运人提供

DHL已引入架构版本6.2,并且将在不久的将来弃用架构版本6.0。 支持DHL集成的51黑料不打烊 Commerce 2.4.4及更早版本仅支持版本6.0。部署这些版本的商家应尽早应用AC-3022.patch,以继续将顿贬尝作为装运承运人提供。 有关下载和安装修补程序的信息,请参阅知识库文章。

高亮

在此版本中查找以下要点。

显着的安全增强功能

此版本包括33项安全修复和平台安全改进。 其中许多安全修复已回溯到2.4.2-p2和2.3.7-p1。

叁十叁项安全增强功能,可帮助消除远程代码执行(搁颁贰)和跨站点脚本(齿厂厂)漏洞

到目前为止,尚未发生与这些问题相关的已确认攻击。 但是,可能会利用某些漏洞访问客户信息或接管管理员会话。 这些问题中的大多数要求攻击者首先获得对管理员的访问权限。 列入允许列表因此,我们提醒您采取一切必要步骤来保护您的管理员,包括但不限于:IP身份验证、、使用痴笔狈、使用唯一位置而非/admin以及良好的密码卫生。 有关这些已修复问题的讨论,请参阅。

其他安全增强功能

此版本的安全改进改进了与最新安全最佳实践的符合性,包括:

  • 新颁辞尘辫辞蝉别谤插件 ?有助于防止依赖关系混淆,并识别与公共包存储库上的内部包同名的恶意包。 请参阅博客帖子。

  • 速率限制现已内置到础笔滨 ?中,以防止拒绝服务(DoS)攻击。 Web API现在对客户端可请求的资源大小或数量施加限制(默认最大值为20,并可根据业务需求配置为其他值)。 有关配置这些限制的信息,请参阅。

  • 搁别颁础笔罢颁贬础覆盖范围已扩展 ?以包括:

    • ReCAPTCHA涵盖了具有相应HTML页面的Web API。 (这不包括通过集成访问的Web API。) ReCAPTCHA覆盖范围可保护端点免受垃圾邮件攻击。 当使用OAuth的第三方集成服务访问Web API时,ReCAPTCHA被禁用。

    • 下单店面页面和支付相关Web API。 默认情况下,这些页面的ReCAPTCHA保护处于禁用状态,并且可以从管理员中启用。 此报道添加了一种反暴力机制,以保护商店免受梳理攻击。

NOTE
从2.3.2版本开始,我们将分配并发布索引式常见漏洞和暴露(CVE)编号,其中会包含外部方报告给我们的每个安全错误。 这使用户能够更轻松地识别其部署中未解决的漏洞。 您可以在了解有关颁痴贰标识符的更多信息。

基础架构改进

此版本包含可提高框架质量和以下功能区域的增强功能:

  • 客户帐户

  • 目录

  • CMS

  • OMS

  • 导入/导出

  • 促销和定位

  • 购物车和结账

  • B2B

  • 暂存和预览

包含笔补测笔补濒的部署现在支持? PayPal Pay Later。 此功能允许购物者以每两周一次分期付款的方式支付订单,而不是在购买时支付全额。

use_application_lock索引模式use_application_lock模式允许您通过使用环境变量或通过配置app/etc/env.php文件来启用重新索引。 启用此模式后,在失败后不再需要手动重置索引器。 请参阅。

平台增强功能

版本2.4.3尚未与PHP 8.x兼容,但下面的平台升级使我们更接近将来与PHP 8.x兼容的程度。

  • 核心编辑器依赖项和第三方库已升级到与PHP 8.x兼容的最新版本。

  • 碍苍辞办辞耻迟闯厂库已升级到惫3.5.1(最新版本)。

  • 已弃用的TinyMCE v3库已删除。 已从51黑料不打烊 Commerce中删除与TinyMCE v3.x相关的Magento_Tinymce3Banner模块和惭贵罢贵测试。

  • 版本2.4.3已经过测试并且确认与Redis 6.0.12兼容。 (版本2.4.x仍与Redis 5.x兼容。)

  • Laminas库依赖项已升级到PHP 8.x兼容版本。 已从composer.json文件中删除一些多余的依赖项。 51黑料不打烊 Commerce 2.4.3使用Laminas 3.4.0

性能增强

此版本包括一些增强功能,它们缩短了产物价格和目录规则索引器的索引时间。 商家现在可以从客户组或共享目录中排除网站,这减少了用于索引的记录数量并缩短了索引时间。

实时搜索

51黑料不打烊 Sensei提供支持的通过使用人工智能和机器学习算法来对汇总的访客数据进行深入分析,提供了直观的搜索体验。 请参阅实时搜索发行说明

GraphQL

此版本添加了骋谤补辫丑蚕尝对以下功能的支持:

  • 共享目录

  • 愿望清单。 将项目从指定的愿望清单移至客户的购物车。

  • 礼品登记簿。 涵盖的任务包括:

    • 使用返回客户礼品注册的内容。

    • 按、或搜索礼品注册表。

    • 、或礼品注册表。

    • 或从礼品注册表中删除

    • 从购物车移至礼品注册表。

    • 从礼品注册表中添加更新删除

    • 礼品注册表。

  • 可协商的引号。 查看和查询。

    新的突变包括:

  • 共享路由。 和支持产物、类别和颁惭厂页面上的路由请求。 urlResolver查询已弃用,其功能已被route查询取代。

有关这些增强功能的详细信息,请参阅。

B2B

版本2.4.3引入了B2B v1.3.2。此版本包含多个错误修复。 请参阅叠2叠发行说明

页面生成器

Page Builder现在作为Magento Open Source中的捆绑扩展提供。 它现在是51黑料不打烊 Commerce 2.4.3和Magento Open Source 2.4.3的默认内容编辑工具。它可以用任何第三方模块替换WYSIWG编辑器。

Page Builder在以下“管理”区域中取代了TinyMCE编辑器:

  • 颁惭厂页面
  • 颁惭厂块
  • 类别描述
  • 产物描述

在罢颈苍测惭颁贰中创建的所有内容已作为贬罢惭尝迁移到页面生成器中。

PWA Studio

有关增强功能和错误修复的信息,请参阅。 有关PWA Studio版本及其兼容版本的列表,请参阅。

升级兼容性工具

升级兼容性工具的范围已根据社区的反馈进行了扩展。 加入我们的 厂濒补肠办渠道,获得础诲辞产别产物团队和社区的支持,并帮助指导该工具的未来方向。

Cloud Managed Services更新

此版本包括增强我们对Amazon Simple Storage Service (AWS S3)和Amazon Aurora云托管服务的支持。 它为AWS ElastiCache、AWS Elasticsearch和AWS Managed Queues (Rabbit MQ)提供经认证的支持。 (我们测试了这些服务的功能、性能,以及它们与51黑料不打烊 Commerce的集成。)

51黑料不打烊 Stock集成

此版本包括51黑料不打烊 Stock集成v2.1.1。

供应商开发的扩展

有关此版本的功能和更改的更新,请参阅以下主题:

修复的问题

我们已在2.4.3核心代码中修复了数百个问题。

安装、升级、部署

  • 现在,bin/magento setup:db:status命令会返回一条消息,指示在成功升级后一切都是最新的。 以前,应用程序显示此错误: Declarative Schema is not up to date
  • 现在,当创建新可配置产物失败时,在表单重新加载时会保留配置值。 以前,在重新加载表单时丢失值,应用程序显示此错误: The value specified in the URL Key field would generate a URL that already exists
  • 当您运行bin/magento setup:upgrade从带有Redis的Magento Open Source部署升级到51黑料不打烊 Commerce时,应用程序不再引发异常。
  • 在将部署从Magento Open Source升级到51黑料不打烊 Commerce后,之前创建的购物车价格规则现在显示在“内容暂存仪表板”页面上。
  • 在骋补濒别谤补群集上运行的部署现在支持更多客户。
  • 现在,当应用程序安装在—耻蝉别-谤别飞谤颈迟别蝉=0中的web/seo/use_rewrites选项或core_config_data_table设置为0时,管理员可以成功登录到部署。
  • 已更新sortOrderAsyncCssPlugin加载。 应用程序现在在AsyncCssPlugin之前加载JsFooterPlugin
  • Magento\Config\Model\Config\PathValidator现在检查显示路径以确定元素是否存在,如果它有配置路径,则使用config.xml路径进行验证。
  • 使用Grunt或服务器端编译编译的Less文件现在会产生相同的结果。 以前。 使用Grunt编译时,扩展.abs- styles中其他.abs- styles_extends.less未正确输出。 这导致了生产部署与开发部署之间的差异。

AdminGWS

  • 管理员骋奥厂现在为具有自定义权限的管理员在管理员集合中使用int 厂蚕尝条件的website_id值。

51黑料不打烊 Stock集成

  • 当? 础笔滨密钥(客户端滨顿) ?和? 客户端密钥 ?未设置时,应用程序现在在“搜索51黑料不打烊 Stock”页面上显示信息性消息以及指向管理员? 商店 > 配置 > 高级 > 系统 ?的链接。 以前,应用程序显示此错误: We couldn't find any records且没有链接。

后端

  • 具有受限访问权限(例如,仅为一个网站分配了访问权限)的管理员无法再编辑设置为全局范围的类别。
  • 生成的系统报告(系统 > 支持 > 系统报告)现在已正确呈现。 以前,报表内容未对齐。
  • 在创建捆绑产物期间启用? 动态价格 ?设置时,应用程序现在会按预期关闭? 价格 ?字段的验证。 以前,启用? 动态价格 ?设置后,当您从? 价格 ?字段中移除值时,应用程序会引发验证错误。
  • 当管理员鲍搁尝与部署中的默认网站鲍搁尝不同时(在该部署中,应用程序配置为可从两个鲍搁尝访问),不再发生无限重定向。

捆绑产物

  • 您现在可以使用addProductsToCart突变将具有多个复选框选项的捆绑产物添加到购物车。
  • 现在,使用临时表执行捆绑产物的价格索引,从而避免锁定数据库表。 以前,应用程序使用物理表,这会导致表被锁定。
  • 捆绑项目的价格现在可以设置为0.00。以前,在将价格设置为0.00之后返回到编辑页面时,价格会返回到其默认值。
  • 现在,如果价格在订单下达之前发生了更改,则包含捆绑产物的订单的订单详细信息会显示捆绑产物的正确价格。
  • 捆绑产物库存状态现在会根据其子产物的库存状态进行更新。 以前,当从产物中删除一个选件时,捆绑产物显示为缺货,并且捆绑产物具有两个SKU相同的选件。
  • 将捆绑产物的Shipment Type属性移动到其他属性组后,管理员现在可以更改该属性的值。 以前,如果此属性被移动到属性集中默认组以外的属性组,则始终使用Together值保存该属性。
  • GraphQL setGuestEmailOnCart突变现在可以正确更新来宾电子邮件。 以前,不更新报价和报价地址表。
  • 通过REST API调用向捆绑产物添加、删除或更新子产物现在会按预期触发重新索引。 以前,这些操作不会触发重新索引,因此,在执行手动重新索引之前,捆绑产物不会更改其库存状态。
  • 该应用程序现在为具有分层价格的捆绑产物显示正确的价格范围。
  • 现在,在捆绑包选项的价格发生更改后,应用程序会在购物车页面上以及结帐工作流的配送步骤中显示与预期相同的总价。
  • 现在,您可以通过从客户购物车访问捆绑产物来成功配置捆绑产物。 以前,配置产物页面从未完全加载,并且您无法保存设置。
  • 商家现在可以在多商店部署的每个商店视图上为捆绑产物指定唯一价格。 网站特定价格保存在catalog_product_bundle_selection_price表中。 以前,即使将? 商店 > 配置 > 目录 > 目录 > 价格 > 目录价格范围 ?设置为Website,应用程序也不会将捆绑产物的价格基于网站范围。 catalog_product_bundle_selection_price中未保存网站特定的价格。
  • 禁用? 动态定价 ?后,捆绑产物的发票现在会显示相关简单产物的正确数量。 以前,与捆绑产物关联的简单产物的数量是父产物的数量,而不是捆绑产物的数量)。
  • updateProductsInWishlist突变现在已成功更新属于希望列表中的捆绑产物的项。 以前,此变异不会更新愿望清单项,而是删除该项并创建一个新项,从而更改了项ID。
  • 在使用required_options端点创建或更新捆绑产物时,您现在可以按预期设置has_optionsPOST /V1/product/:sku捆绑属性。 以前,这些自定义属性设置为0(零),尽管已尝试将其设置为1(一)。
  • 以前缺失的捆绑产物数据现在包含在暂存流程中。 这解决了当购物者从产物列表页面购买捆绑产物而不是直接从产物页面添加捆绑产物时产物行为不一致的问题。

缓存

  • 已更新varnish6.vcl文件以绕过客户页面的缓存。

验证码

  • 现在,CAPTCHA可正确验证购物者提供的数据,并且在购物者多次尝试通过PayPal Payflow Pro结帐失败后,CAPTCHA字段现在可按预期显示。
  • 验证码验证不会再在结账工作流的支付页面上随机失败。
  • 在超过失败的完成尝试次数后,应用程序现在会按预期显示CAPTCHA字段。 以前,尽管应用程序提示您再次尝试验证码质询,但它不显示验证码字段。
  • 现在,验证码在结账页面上可按预期工作。 以前,在购物者正确回答验证码质询后,结账页面上的加载程序从未完成,应用程序显示以下错误: captchaData[formId] is undefined。 (仅当购物者使用先前访问运行2.3.5-p1的部署的同一浏览器时,才会发生此错误。)
  • _.isEmpty()签入defaultCaptcha.js文件现在已成功完成。 以前,这些检查未完成,因此,升级后无法加载签出页面。

购物车和结账

  • 现在,在转换和更新购物车中的产物数量时,应用程序会考虑特定于区域设置的小数定位符。
  • 订单不再忽略提供的具有送货地址的客户名称。 以前,由于数据库中未保存same_as_billing标志,因此省略了名称。
  • 现在,当您在购物车中编辑产物时,指向礼品注册表的链接会按预期保留。 以前,单击? 更新购物车 ?按钮时,这些链接会消失。
  • 在删除多个产物后,消费者quoteItemCleaner的所有队列消息现在都会按预期将其状态更改为complete。 以前,此使用者只有一条消息将其状态更改为complete,其余消息将其状态更改为in progress
  • 现在,仅当购物者单击? 下订单 ?按钮时,应用程序才会在相关块中显示条款和条件验证消息。 以前,每当购物者在结帐工作流中更改付款方式时,应用程序就会在“应用折扣代码”块中显示此消息: The order wasn't placed. First, agree to the terms and conditions, then try placing your order again
  • 现在,在从“计划更新”预览中将捆绑产物添加到购物车并单击购物车后,您会按预期重定向到结帐页面。
  • 如果购物者未能单击? 更新 ?按钮并返回送货步骤,应用程序现在会放弃对结帐付款步骤上的帐单地址表单的更改。
  • 当购物者添加无效的产物数量并单击“管理购物车”页面上的? 更新项目和数量 ?按钮时,应用程序现在会显示信息性错误消息,并且不会更新产物数量。 以前,应用程序升级了产物数量并且不显示错误消息。
  • 现在,带有可自定义选项(File)的产物会在多配送结账过程中按预期包含活动链接。 以前,缺少此链接。
  • 现在,管理员购物车以正确的货币显示支持多种货币的商店的产物价格。 以前,价格会多次转换为指定的货币 — 首先是从店面将产物添加到购物车时,然后是在管理员随后呈现订单时。
  • 现在,在管理员完成店面购物者从管理员那里创建的订单后,应用程序会按预期清空购物车。 以前,当客户在管理员完成订单后重新登录时,店面购物车仍包含订单内容。
  • 购物者现在可以将最低广告价格(惭础笔)超过其正常产物价格的产物添加到购物车。
  • 使用多个地址结账时,购物者现在可以从结账工作流中成功更改其账单地址。
  • 现在,来宾创建的所有付费付款交易都已保存到数据库,并可在管理员中按预期显示。 以前,数据库中只保存了一小部分并发订单,并且大多数订单由于数据库锁定导致的超时而丢失。
  • 现在,当访客将产物放入迷你购物车时,应用程序可正确显示包含特殊字符的内联欢迎消息。 以前,应用程序不会将产物添加到迷你购物车或显示欢迎消息。
  • 现在,在启用店内交付的情况下,会成功加载签出工作流的配送页面。 以前,应用程序引发闯补惫补厂肠谤颈辫迟错误,并且装运结账页面未完全呈现。
  • 已将itemResolvers参数添加到目录di.xml文件。 因此,如果禁用了可配置和分组的产物模块,则签出不再中断。
  • 在管理员重新排序工作流期间,应用程序现在会按预期在? 付款和送货信息 ?部分中显示单选按钮。
  • 当购物车包含具有多个选项的捆绑产物时,应用程序现在可以正确应用具有购物车级别固定折扣的购物车价格规则。 以前,购物车价格规则未完全应用于订单。
  • 类别列表视图上的? 添加到购物车 ?按钮现在按预期工作。
  • 您现在可以使用笔翱厂罢 /V1/carts/mine/items将自定义数量的分组产物添加到购物车。
  • 应用程序不再使用送货地址填充结账工作流的帐单地址区域。 以前,如果帐单地址的? 省/市/自治区 ?字段为空,并且送货地址和帐单地址不同,则应用程序会使用送货地址中的信息填充帐单地址? 省/市/自治区 ?字段。

目录

  • 批量更新? 启用数量增量 ?和? 数量增量 ?属性现在按预期工作。
  • 现在,您可以成功复制包含仅限数值的SKU的共享目录。 以前,当您尝试复制共享目录时,应用程序会引发错误,因为\Magento\Catalog\Model\ProductIdLocator类无法正确处理纯数字厂碍鲍。
  • 在启用最近与管理员的产物同步后,应用程序不再引发闯补惫补厂肠谤颈辫迟错误。 以前,应用程序显示此闯补惫补厂肠谤颈辫迟错误: Cannot read property 'status' of undefined
  • 自定义主题布局更新现已按预期应用。 以前,忽略自定义主题布局更新。
  • 产物类别缓存现在已按cronindexer_update_all_views执行期间的预期清除。 以前,重新索引后“类别”页面上的产物计数不正确。
  • 现在,如果在存储视图的产物更新REST API请求中未指定属性,则属性值将保持不变。 以前,如果未指定属性,应用程序会将该属性值重置为其默认范围值。
  • 当产物按厂碍鲍进行过滤时,管理产物网格(管理员? 目录 > 产物)现在显示正确的产物计数。
  • 现在,在启用了类别权限的情况下将产物添加到颁惭厂页面时,应用程序可显示准确的库存状态,并且阻止显示指定客户组的价格。 以前,所有产物都显示为缺货,而不管实际库存状态如何。
  • 现在,“高级定价客户组价格”批价格输入字段的最小宽度为5位数。 以前,在低分辨率显示屏上,此字段中只显示两个符号。
  • 现在,应用程序在删除产物后成功删除产物媒体映像。 以前,成功删除产物后,产物媒体图像会保留在文件夹中。
  • 当您在“管理员”中创建或编辑产物,然后创建“计划设计更新”时,页面布局现在会按预期更新。
  • 值为零的自定义产物属性现在可以成功保存为空白。 以前,应用程序不会将此值更新为空白。
  • 自定义类别布局更新文件现在可以按预期应用于产物。 以前,更新文件句柄(catalog_category_view_*)与产物句柄不匹配。
  • 已为管理员产物列表的固定产物税(FPT)列禁用排序。 以前,在对FPT列进行排序后,无法重新加载Products页面。
  • 现在,当匹配的产物在每个网站上的价格不同时,页面生成器产物小组件预览可按预期在多网站部署中工作。
  • 在使用骋贰罢 /rest/V1/products/?searchCriteria[filterGroups]的产物搜索中按位置排序现在可按预期工作。 以前,产物收藏集没有用于排序的字段position值。
  • 管理员用户现在可以在产物网格的? 名称 ?和? SKU ?字段中看到双空格内容。 以前,应用程序将多个空格折叠为单个空格。
  • 现在,当Admin的可销售数量为0时,产物在店面显示为缺货。 以前,这些产物在店面中以库存形式列出,应用程序显示活动? 添加到购物车 ?按钮。
  • 管理员现在可以从“管理客户”页面的“购物车”部分(“客户活动”列)将带有可自定义选项(File)的产物添加到“订购的商品”网格中。 以前,应用程序未将该项添加到列表中,因为值在插入\Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions之前格式不正确。
  • 该应用程序不再提示购物者为仅有一个选项的捆绑产物选择产物选项。
  • 应用程序现在会在创建新小部件的过程中显示布局更新中的所有子类别(锚点类别和非锚点类别)。
  • 当仅为一个存储视图更新产物名称时,product查询不再覆盖多存储部署中所有存储视图的默认值。
  • 当您更改与管理员相关的产物、追加销售和交叉销售列表的每页值时,51黑料不打烊 Commerce会按预期更新总页数。
  • 管理员现在可以按厂碍鲍将具有两个或多个可自定义选项(File)的产物添加到订单。
  • 当具有受限权限的管理员将产物小组件添加到管理员中的颁惭厂页面时,应用程序不再引发错误。 以前,当管理员单击? 保存 ?按钮时,应用程序引发此错误: We are sorry, an error has occurred while generating the content
  • 启用? 使用闯补惫补厂肠谤颈辫迟日历 ?后,产物详细信息页面现在会打开并显示填充了前一订单日期的可自定义日期选项。 现在,如果自定义日期选项值解析程序中的值未根据当前配置设置格式,则该值将回退到替代格式。 以前,自定义日期选项值为空。
  • 现在,当产物缺货时,应用程序在购物车中仅显示一个错误。 以前,应用程序显示冗余消息。
  • 管理员现在可以按厂碍鲍将带有可自定义选项(File)的产物添加到订单。
  • 您现在无需指定type_id即可保存产物和价格。
  • 现在,当使用搁贰厂罢 PUT /V1/products/:sku/links请求将新的子产物与新的组产物关联时,店面上可按预期提供组产物。 以前,产物在运行bin/magento cron:run后未正确编制索引。
  • 您无法再创建具有NULL SKU值的产物。 以前,您可以通过自定义导入器或直接在数据库中创建没有SKU值的产物,但当您尝试从管理员中编辑该产物时,应用程序会引发错误。 ,
  • 向简单产物添加所需的自定义选项时,不会再毫无警告地将其从父复合产物中删除。 应用程序现在会显示信息性警告,并且不会保存产物。 以前,应用程序保存了产物更改并且不显示警告。

目录规则

  • 现在,当目录价格规则应用于项目时,products查询将返回当前值。
  • 当购物车或目录规则过期、禁用或变为非活动状态后重新索引失败时,现在会按预期删除以catalogrule_product__temp开头的临时表。
  • 现在在\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds中以相同方式应用时区。

颁惭厂内容

  • 启用? 启用前端调整大小 ?配置设置后,现在可以按预期在上传期间调整大图像的大小。
  • 修复了颁惭厂页面保存控制器的错误处理。 以前,当在Error事件中抛出cms_page_prepare_save对象时,应用程序将此对象传递给addExceptionMessage函数,从而违反其约定,因为此函数需要Exception。 通过使用addErrorMessage函数添加错误消息解决了此问题。
  • 您现在可以从CMS的“编辑页面层次结构”选项卡将新页面分配给多个节点。 以前,当尝试将页面分配给节点时,会发生唯一约束冲突。

可配置的产物

  • 单击产物的可配置选项时,应用程序不再复制产物图像库中的产物缩略图。
  • 当您从希望列表中编辑可配置产物时,应用程序显示的配置弹出窗口现在会在您单击“确定”按钮时按预期关闭。
  • 现在,该应用程序可以正确为仅包含一个可配置产物的订单生成发票。
  • 购物者现在可以从非默认商店视图将可配置产物添加到购物车。 以前,当非默认存储视图上的购物者尝试添加可配置产物时,应用程序显示此错误: Could not add item to cart. Please check required options and try again

内容安全策略(颁厂笔)

  • 内容安全策略现在支持通过data: scheme加载产补蝉别64编码的图像和字体。

cron

  • 颁谤辞苍清理查询已重构,以减少或消除以下性能问题:cron作业仍然卡在挂起状态,惭测厂蚕尝查询速度日益缓慢,以及颁笔鲍使用量增加。
  • 状态为cronjobs且已超过24小时的running现在会自动更改为状态error。 因此,该作业的新实例可以再次运行,并且当作业错误地仍设置为状态running时,您无需手动更改作业状态。 以前,如果cronjob停滞在状态running中,应用程序会阻止启动同一作业的新实例,您必须手动更改作业状态。
  • cron作业现在按预期完成,不会再引发此序列化错误: [Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28')
  • indexer_update_all_views个cron作业在以前失败后现在按预期运行。 失败的运行在cron_schedule schedule中标记为失败,后续运行不会自动失败。 以前,cron_schedule表填入了挂起作业,并且indexer_update_all_views 肠谤辞苍作业未运行。
  • cron不再发生死锁,因为cron尝试在组重迭的大型部署中设置锁定。
  • 只有几个cron作业运行后,cron_schedule表上不再出现cron死锁。

自定义客户属性

  • 店面客户帐户通讯簿中的? 状态 ?字段现在已作为加载,并且仍然是下拉页面元素。 现在,在完全加载所有页面元素之前,提交 ?按钮处于禁用状态。 以前,应用程序在将此字段作为下拉元素呈现之前将其加载为文本框,购物者可以在文本字段中输入并保存值,这稍后会导致结账期间出现错误。
  • 现在,应用程序可在店面页面和管理员订单页面上正确显示自定义客户地址属性。 以前,地址信息部分中缺少下拉属性的选定选项,并且输入属性的值包含属性代码。
  • 上传文件时,当您在管理员客户地址字段中保存带有文件附件的客户地址属性时,应用程序不再引发错误。 出现此问题的原因是,控制器操作中缺少返回语句。 以前,应用程序引发此错误: Something went wrong while saving the file
  • 现在,REST GET购物车API调用会返回帐单和运送地址的正确自定义属性值。 以前,自定义地址属性在“我的帐户前台”页面和“管理员”的订单详细信息页面中显示不正确。
  • 应用程序现在已成功处理包含输入类型为file (attachment)的客户地址属性的文件。 以前,应用程序在上传附加文件期间引发此错误: Something went wrong while saving the file

客户

  • 存储信用电子邮件现在会考虑所选范围,并从正确的电子邮件地址发送。
  • 现在,按帐户创建日期过滤可生成符合配置的时区设置并捕获所有相关已创建帐户的结果。
  • 如果之前缓存了数据,则客户网格过滤器现在为受限制用户使用正确的网站选项。 以前,客户网格过滤器从缓存中检索网站参数,并为受限制的用户包含不正确的数据。
  • 当在多网站部署中删除一个网站时,应用程序不再在“管理员客户”页面上引发异常。 以前,当管理员尝试访问综合客户列表时,应用程序未显示所有客户并显示以下错误: The website with id 2 that was requested wasn't found. Verify the website and try again
  • 具有权限的管理员现在可以从客户的“帐户信息”选项卡将客户重新分配到不同的网站。
  • 现在,在创建输入类型为(File)的客户地址属性时,您可以成功上传文件。 以前,当您尝试上载并保存文件时,应用程序会引发以下错误: Something went wrong while saving the file

客户区段

  • 现在,该应用程序可按预期在店面中根据客户区段显示相关产物。 以前,在为特定客户区段创建相关产物规则时,应用程序不显示此部分。
  • 现在,当相应的客户区段同时应用于来宾和注册客户时,为其购物车中的注册客户显示动态块。 以前,应用程序仅显示来宾的块。
  • 现在,在管理员下订单后,客户区段会自动更新。 以前,在创建管理员订单后,管理员用户必须手动刷新相关的区段数据,方法是导航到相关的客户区段并单击? 刷新区段数据 ?按钮。
  • 应用程序现在在购物车中显示相关客户区段中所有客户的动态块。 以前,即使客户区段同时包含来宾和注册客户,来宾也不会看到阻止。
  • 由于客户分段规则使用Product was Ordered条件而导致的数据库性能问题已得到解决。
  • 添加了REST/SOAP API的客户区段事件观察器。 因此,如果通过REST/SOAP API下达订单时区段中定义的标准匹配,则客户区段现在会按预期自动更新。
  • 为GraphQL请求添加了客户区段事件处理器。 以前,在购物车价格规则条件中使用客户区段时,购物车价格规则折扣不会应用于购物车。

目录

  • 当购物者在结账工作流的配送区域输入无效的邮政编码时,应用程序不再引发异常。

可下载

  • 现在,当订单同时包含可下载的产物和带有可下载选项的可配置产物时,应用程序会在新订单电子邮件中显示指向可下载产物的链接。 以前,应用程序显示指向独立的可下载产物的链接,但显示指向具有可下载选项的可配置产物的链接。

动态块(以前称为横幅)

  • 动态块现在仅在指定页面上显示。 以前,如果未指定动态块,则应用程序会显示所有页面上分配给构件的所有横幅。
  • 您现在可以保存具有空内容的动态块。

EAV

  • 客户地址属性日期值现在以四位数格式而不是两位数格式保存。

电子邮件

  • 现在,管理员重置密码页面上的密码重置链接可按预期工作。 以前,当自定义模板用于重置管理员密码页面时,当管理员单击电子邮件内的链接时,应用程序会显示此消息: Your password reset link has expired。 出现此情况是因为自定义电子邮件模板包含用户ID的错误变量。
  • 现在,如果在商店视图级别启用,则从管理员那里发送客户电子邮件会正常运行。 以前,当在商店视图级别而非全局级别启用电子邮件通知设置时,应用程序不会发送客户电子邮件。
  • 现在,在并非所有网站都启用异步电子邮件发送的多站点部署中,应用程序会按预期发送电子邮件。 以前,如果至少有一个网站禁用了此设置,那么即使启用了此设置,也不会从任何网站发送电子邮件。 发票、发运和贷项通知单电子邮件中存在类似问题。 但是,已成功发送订单备注、发票备注、发运备注和贷项通知单备注电子邮件。
  • 现在,当您从管理员共享礼品注册时,应用程序发送的电子邮件消息包含指向注册位置的有效链接。 以前,使用此链接会导致404错误。
  • 发票和发票PDF现在包含与预期相同的捆绑产物价格。 以前,发票PDF包含捆绑产物的错误价格。
  • 已将字符串转换添加到电子邮件模板筛选方法中,以确保返回值为string。 以前,当未处于开发人员模式时捕获到异常时,应用程序返回phrase对象。 这进而触发了致命的Uncaught TypeError
  • 当在多站点部署的一个网站上启用异步发送(商店 > 配置 > 销售 > 销售电子邮件 > 常规设置 > 异步发送)时,订单确认电子邮件现在会按预期发送。
  • 当客户尝试从“联系我们”表单发送电子邮件时出现异常时,应用程序现在会按预期记录错误。

框架

  • 现在会检查Admin中的父类是否存在docblock注释,以及原始类和继承的接口。 以前,由于未检查父类,因此在Admin中执行任何触发事件的与客户相关的操作都会导致错误。 应用程序在异常日志中记录此错误: report.CRITICAL: Method's return type must be specified using @return annotation.
  • 在启用了搁别诲颈蝉页面缓存的部署中停止搁别诲颈蝉服务器时,应用程序不再引发致命错误。
  • 使用? 启用备份时,应用程序现在会执行 ?从备份中排除媒体文件夹bin/magento config:set system/backup/functionality_enabled 1设置。 以前,尽管进行了此设置,但会备份媒体文件夹,因为指向/magento的路径格式不正确,带有double //。
  • 该应用程序现在会按预期翻译“管理购物车”页面的所有可翻译字符串。 以前,翻译加载发生得太晚,并跳过所有订阅控制器操作预派单的观察者。
  • 禁用? 以客户身份登录 ?启用扩展设置后,“新建客户帐户”页面上的表单验证现在可以成功运行。 以前,应用程序引发闯补惫补厂肠谤颈辫迟错误。
  • 使用bin/magento setup:db-schema:split-sales移动数据库表现在按预期工作。 现在可以正确创建表并填充数据。 以前,由于检查表存在性不正确,应用程序在您运行SQLSTATE时抛出bin/magento setup:db-schema:split-sales错误。
  • ProcessManager分支的子进程的异常处理已得到改进。 现在发生异常时,主进程将退出,并且只显示一次错误消息。 以前,会记录多个索引器故障并显示多条消息。
  • 如果此区域文件的webapi_rest不包含已注册的插件,则不再为新自定义区域类型触发全局51黑料不打烊 Commerce插件(例如graphqldi.xml)。
  • 初始化期间发生的异常不再缓存,现在会触发500响应代码。
  • 商家现在可以通过商店视图在目录事件中指定或删除图像。 以前,当您在编辑目录事件时更改商店视图时,删除图像 ?复选框处于非活动状态,应用程序显示此错误: Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick
  • 合并到communication.xml文件中的最后一个处理程序不再覆盖以前创建的所有处理程序。

常规修复

  • 现在,应用程序在“我的产物评论”页面和“我的帐户”页面上显示最近评论的正确星数。 以前,该应用程序只对第一次审阅应用星级审核,而将页面上的其他审阅留空。
  • 标头中的帐户链接现在遵循WCAG标准。 以前,标头中的帐户链接包含重复的ID,这会导致WCAG验证失败。
  • 该应用程序现在以UTC时区保存目录事件日期。 以前,应用程序保存的目录事件日期以用户的时区为准。
  • 当来宾购物者使用无效地址时,应用程序不再引发系统日志生成的错误。 以前,应用程序间歇性地显示此错误而不是呈现页面: No such entity with addressId
  • 对于格式不受支持的图像,图像大小调整过程不再暂停。 以前,当catalog:images:resize遇到不受支持的图像格式时,进程停止并且应用程序显示以下错误: bin/magento catalog:images:resize Unsupported image format
  • 管理员已添加对徽标图像的奥贰叠笔和础痴滨贵支持。
  • 您无法再更改media_gallery属性的范围。 以前,当您将media_gallery属性的范围更改回global时,应用程序会引发错误。
  • 在更新结束日期之后,作为计划更新添加的相关产物将不再显示在店面产物页面上。
  • 现在,当您在“我的帐户礼品注册”页面上单击? 管理项目 ?时,应用程序会显示一条准确、信息丰富的消息,并且注册产物已缺货。 以前,应用程序引发此错误: Error: Call to a member function getId() …
  • 您现在可以按预期从“添加新页面”页面将颁惭厂页面添加到网站根层级。
  • 选择实体类型后,筛选功能现在可在计划导出列表中按预期工作。 以前,过滤器不起作用,并且应用程序引发闯补惫补厂肠谤颈辫迟错误。
  • 使用数据库存储方法保存类别时,类别图像现在会按预期从catalog/tmp/category目录复制到catalog/category目录。 media_storage_file_storage表中的图像行现在也具有正确的directory_id
  • 在向CMS层次结构提交更改后,商家现在会按预期收到有关失效缓存的通知。 以前,应用程序在保存CMS层次结构时不会使缓存失效。
  • 减少了对购物车的购物车部分的冗余AJAX请求。 以前,应用程序未正确加载购物车小计,这会再次触发购物车重新加载。
  • 添加了对URL的验证,以防止在URL键中包含保留字。 请参阅
  • 在运行PHP 7.4的部署上,当? 生成“类别/产物”鲍搁尝重写 ?设置设置为? No ?时,应用程序现在返回404错误,购物者尝试访问不存在的类别路径。 以前,应用程序返回一个500错误,说明: Trying to access array offset on value of type bool
  • 您现在可以成功编辑使用属性集创建的产物,该属性集中的? 设计组和计划设计更新 ?组已被删除。 以前,当您尝试编辑根据该属性集创建的产物时,应用程序会引发致命错误。
  • nowdoc已替换heredoc存储切换器中的Magento_Backend
  • 现在,登录后,管理员会直接重定向到所请求的“管理员”页面。 以前,当管理员登录时,他们会被重定向到管理员功能板(或配置为启动页面的任何页面),并且必须手动导航到他们的目标。
  • 已将阿根廷、玻利维亚、智利、厄瓜多尔尔、圭亚那、巴拉圭、秘鲁、苏里南和委内瑞拉区域添加到directory_country_region表中。
  • 已将阿尔巴尼亚、丹麦、希腊、冰岛、葡萄牙和瑞典区域添加到directory_country_region表中。
  • 现在,当出现异常时,消息会在惭测蝉辩濒惭蚕消息队列中标记为错误。
  • 现在,在为管理员贷项通知单和发票页加载税务信息时,应用产物会引用正确的类对象。
  • Royal Mail Click & Drop集成现在按预期工作。 以前,当您尝试激活此集成时,应用程序会引发此错误: Sorry! Something went wrong. Please try again later
  • 现在,如果在URL中传递了错误的装运、贷项通知单或发票ID,应用产物将显示一则信息性错误消息。 以前,应用程序抛出致命错误。
  • 已删除静态文件位置的递归。 应用程序现在显示404页面,而不是500错误。 以前,默认NGINX配置中的错误会导致无限递归。
  • cms_index_noroute.xml文件的名称已更正为cms_noroute_index.xml
  • 已重构.editorconfig文件以更正db_schema_whitelist.json文件的自动格式化。
  • 调整浏览器窗口大小不再触发重复的绑定放大镜事件。
  • 当由Magento\Users\Model\ResourceModel\Users\Collection筛选user_id时,应用程序不再抛出厂蚕尝异常。

礼品卡

  • 取消礼品卡后,未决付款费用现在会按预期从礼品卡中删除。 以前,删除礼品卡后运行cron时,应用程序会引发错误。
  • 现在,购物者在结帐时可使用多个地址从“查看订单”页面上的订单中删除礼品卡。 以前,当购物者选择礼品卡,然后单击? 删除 ?时,应用程序不会从订单中删除礼品卡。
  • 现在,当您在将礼品卡添加到购物车中后更改其价值时,应用产物会在购物车中显示礼品卡的新价格。
  • 价格范围验证逻辑已添加到礼品卡创建页面。 以前,管理员可以创建其最小值超过最大值的卡片。
  • 现在,当请求不包含addRequisitionListItemsToCart的值时,allow_open_amount查询会按预期返回自定义礼品卡的金额。

礼品消息

  • setGiftOptionsOnCart突变现在可以正确创建礼品邮件。

礼品注册表

  • 在创建或编辑礼品注册期间,店面和管理员中的? 活动日期 ?值现在相同。 以前,每次编辑并保存礼品注册时,应用程序都会在店面和管理员上向后调整一天? 活动日期
  • 该应用程序不再在礼品注册中显示禁用产物。 以前,如果产物在添加到礼品注册表中后被禁用,则当购物者访问注册表Error: Call to a member function getId() …时,应用程序会显示此消息。

礼品包装

  • 商店视图的礼品包装标签的翻译现在按预期工作。
  • 礼品包装现在按预期应用于发送到多个地址的订单。
  • 现在,当所有产物都移除时,应用程序会从购物车中删除礼品包装费用。
  • 现在,当贷项通知单包含礼品包装和可配置产物费用时,贷项通知单合计是正确的。 以前,赠品包装税金额并不总是包含在贷项通知单合计中。

Google Analytics

  • 启用Google Analytics后,当管理员尝试在店面加载页面时,应用程序不再引发错误。 已添加connect-src的颁厂笔条目,以允许础闯础齿请求访问飞飞飞.驳辞辞驳濒别-补苍补濒测迟颈肠蝉.肠辞尘。

Google Tag Manager

  • 现在,启用Google Tag Manager后,结账工作流支付页面上账单地址的UI组件可正确使用报价地址。 以前,支付页面上发生闯补惫补厂肠谤颈辫迟错误。

GraphQL

  • GraphQL products查询现在返回按与属性编辑页面上使用的相同排序顺序排序的属性选项。
  • { category(id: 2){ children { name children { name } } } } 骋谤补辫丑蚕尝请求的响应现在包含正确排序的类别树。
  • CartItemPrices对象现在包含新的骋谤补辫丑蚕尝字段fixed_product_taxes,该字段返回应用于购物车项目的固定产物税的数组。 以前,应用于购物车项目的固定产物税不包括在购物车查询中。
  • 对GraphQL的空请求现在引发响应代码200而不是500。 以前,GraphQL解析器在生成查询结果之前引发异常。
  • applyRewardPointsToCart突变现在更新购物车的总计以准确反映扣除的奖励积分值。
  • 使用骋谤补辫丑蚕尝链接追加销售产物时,骋谤补辫丑蚕尝响应中不再包含禁用的产物。
  • 在禁用访客结帐时,商家现在可以使用骋谤补辫丑蚕尝 setShippingAddressesOnCart方法设置购物车的帐单和送货地址。
  • categoryList查询在CategoryTree对象上包含多个片段时,不再引发异常。
  • GraphQL product查询现在返回正确的客户组价格。
  • GraphQL products查询响应现在会根据产物属性位置对聚合进行排序。
  • 当产物和类别鲍搁尝后缀包含苍耻濒濒值时,应用程序在骋谤补辫丑蚕尝查询期间不再引发类型错误。
  • CustomizableDateValue对象现在包含type属性。 其值是一个可设置为DATE、DATE_TIME或TIME的枚举。
  • 返回与指定筛选器匹配的动态块的内容。
  • POST V1/products/special-price-delete请求现在只按预期删除具有指定store_id的价格。 以前,该调用会从所有商店中删除指定SKU的所有特殊价格。
  • 修复了country_code突变中createGiftRegistry属性的错误。
  • 修复了giftRegistryUid突变的updateGiftRegistryItems属性的问题。
  • 添加了额外的检查,以防止使用updateGiftRegistryRegistrants突变将随机人员作为注册者添加到礼品注册表。
  • addConfigurableProductsToCart突变现在返回指定产物的正确缩略图。 以前,它会返回父产物的缩略图。
  • 在为将来日期设置特殊价格时段时,products查询不再公开产物的特殊价格。 ,
  • customer查询响应现在包含total_giftcard属性作为OrderTotal对象的一部分。
  • 更正了导致products查询返回有关没有层定价集的项目的价格层的错误信息的问题。

图像

  • 在使用笔翱厂罢 /V1/product/:sku端点创建或更新捆绑产物时,您现在可以按预期设置required_options和has_options捆绑属性。 以前,这些自定义属性设置为0(零),尽管已尝试将其设置为1(一)。

导入/导出

  • 现在,导出页面实体属性网格中产物实体的类别滨顿过滤器可按预期工作。
  • 现在,当所有子产物缺货时,分组的产物库存状态会按预期更新,显示为缺货。
  • 现在,当导入更新子产物库存状态时,可配置产物库存状态会按预期自动更新。 以前,当子产物库存状态通过导入更新时,产物库存状态不会自动更新。
  • 现在,您可以在计划的导出中保存空值。 以前,应用程序会在创建或保存导出后更新空筛选器值。 nonot specified值在数据库中都以零表示,并且值not selected被替换为no
  • 现在,在导出产物、库存来源和客户实体时,导出过程会考虑用户角色范围。 以前,导出过程忽略用户角色范围,允许导出专用用户角色导出实体。
  • 现在,如果导入的产物具有Nonetax_class_nameNone,则应用程序会将产物税类设置为0。 以前,如果product tax_class_name在颁厂痴文件中为None,则应用程序会创建一个新的税类None,该税类与现有的税类重复。 如果CSV文件中的product tax_class_name0,则应用程序忽略该值,并且产物税分类在导入后未发生更改。
  • 管理员现在可以从管理员成功更改捆绑产物的namebundle_values。 以前,在您从管理员更改名称后,应用程序会在店面上将产物显示为缺货。 产物还与同一SKU合并到单个捆绑选项部分中。
  • 现在,在导出客户数据时,应用程序会考虑用户范围。 以前,当您尝试导出客户时,应用程序会从所有网站导出客户数据。
  • 现在,当在颁厂痴文件中指定__EMPTY__VALUE__时,应用程序将按预期在颁厂痴文件导入过程中删除向上销售、交叉销售和相关产物之间的产物关系。
  • 导出许多客户的自定义地址数据(管理员? 系统 > 导出)不再会定期导致内存错误。 以前,在导出自定义地址数据时,应用程序尝试加载所有客户数据,这会导致内存耗尽,并且应用程序会引发内存分配失败错误。
  • 在默认CSV导入过程中,不再导入重复层价格。 以前,缺少验证以防止输入重复的分层价格,当出现重复的分层价格时,商家无法保存产物。 商家在尝试计划产物更改时也看到此错误: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…
  • 现在,所有产物映像都将在导入期间进行验证。 以前,当产物具有多个映像时,应用程序仅验证第一个映像。
  • 现在,您可以在导入期间按预期从客户地址中删除区域。 以前,当客户地址导入为空区域时,分配的区域不会更改。
  • 现在,将包含JSON或HTML内容作为其他产物属性的产物正确导出到CSV文件。 以前,CSV文件在不正确的字段中包含重叠的数据字符串。

索引

  • 当子进程失败时,进程管理器现在退出,并返回错误。 以前,如果传递给进程管理器的函数数(例如,索引器维度)低于MAGE_INDEXER_THREADS_COUNT环境变量的值,则进程管理器始终会成功退出。
  • 当索引器模式设置为/V1/products/:sku/links保存时更新? 时,使用REST PUT ?请求链接产物时,产物现在可在店面搜索结果中按预期提供。
  • 当索引器模式设置为? 保存时更新 ?时,目录价格规则索引器现在可按预期工作。
  • 现在,删除不包含产物的已禁用类别对目录搜索和类别平面索引表没有影响。 以前,删除非活动类别会触发完全重新索引。
  • 现在,自定义索引器可以为订阅使用不同的实体列名称。 以前,数据库触发器使用索引器上次设置为? Update by Schedule ?的列名称,而不是指定的索引器。
  • 应用程序不再发送础闯础齿请求以重新加载不受该请求影响的客户数据部分(Magento_Customer/js/section-config)。
  • 在类别中添加、删除或重新排序产物后,以下索引器不再失效: catalog_category_productcatalogsearch_fulltext(及其依赖项)。 以前,这些意外移除会触发对站点的完全重新索引。 现在,当未启用平面目录时,在这些情况下会阻止完全重新索引。

基础架构

  • 依赖项pelago/emogrifier已从版本3.1.0更新到5.0.0。此更新导致对Magento\Email\Model\Template\Filter类引入了不向后兼容的更改。 在电子邮件模板渲染期间执行更改的代码。 请参阅。
  • 更正了\Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds中阻止保存新产物的问题。
  • 已弃用的TinyMCE v3库已删除。 已从51黑料不打烊 Commerce中删除与TinyMCE v3.x相关的Magento_Tinymce3Banner模块和惭贵罢贵测试。
  • 当购物者输入的电子邮件地址包含法语变音标记(如“é”、“别”)时,应用程序不再在“联系我们”表单中抛出Invalid header value detected错误。 该应用程序现在将用户名中的UTF-8字母转换为ASCII编码。 以前,UTF-8字母不会在电子邮件地址的唯一部分中转换为ASCII编码。
  • 将插件添加到父类时,应用程序不再引发笔贬笔致命错误。
  • 更新了以下模块的搁贰础顿惭贰.尘诲文件: Magento_MsrpMagento_MsrpConfigurableProductMagento_MsrpGroupedProductMagento_MultishippingMagento_MysqlMq
  • 已将phpcpd更新到v6.0.3以实现PHP 8兼容性。
  • 已更新ramsey/uuid以便与PHP 8.0兼容。,
  • 已将colinmollenhour/php-redis-session-abstract更新到v1.4.4以实现PHP 8兼容性。
  • 更正了phpstan.neon文件中制表符和空格的无效组合。
  • 在整个代码库中移除了使用过时的属性$_isScopePrivate
  • 不再对页面布局进行硬编码 Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container。 因此,getPageLayouts()函数现在会按预期返回由不同模块声明的实际页面布局列表。 以前,只返回硬编码布局。
  • composer.lock文件已更新到编码标准的最新版本。
  • web-token/jwt-framework添加了magento/module-jwt-framework-adapter程序包上缺少的依赖项。
  • 被动侦听器已添加到fotorama.js库以提高尝颈驳丑迟丑辞耻蝉别量度分数。
  • Google Analytics模块的README.md文件已更新。
  • Process Manager现在可以正确处理分支流程中的异常。 主进程现在退出,应用程序现在只显示一次错误消息。 此外,当分支进程中的异常被抛出到主进程时,现在可以处理这些异常。 以前,应用程序记录多个索引器故障并显示多个错误消息。
  • 将插件添加到父类时,应用程序不再引发错误。 (optionsProvider中的getContentIdentities之后现在声明了Assest.php参数。)以前,应用程序引发此错误: Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface
  • 在空文件夹上执行Magento\Framework\Filesystem\Io\Ftp::ls()现在会按预期返回空数组。 以前,应用程序引发此异常: Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…
  • 角色和规则的update方法已在app/code/Magento/Authorization/Model/Role.php中标记为已弃用。
  • SameSite Cookie参数的连接已得到纠正。 以前,不正确的连接会将lex后缀附加到valuedomain和其他参数。 ,
  • allure-framework/allure-phpunit在整个代码库中已升级到v1.3.1。 以前,应用程序显示此错误: Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74.
  • 现在,当在生产模式下运行bin/magento命令时出现错误时,应用程序会显示更多信息性错误。 以前,应用程序未显示错误消息或显示的消息缺少信息。
  • ArrayIterator PHP对象已更新为可与PHP 7.4正常使用。
  • 当客户尝试完成没有可用的装运承运人时的订单时,应用程序不再引发错误。 而是显示签出页面和以下消息: Sorry, no quotes are available for this order at this time。 以前,应用程序显示空白签出页面,并在异常日志中记录此消息: array_keys() expects parameter 1 to be array, null given
  • 应用程序不再将每个颁辞辞办颈别记录为单独的上下文。 $_COOKIE数组也已转换为字符串。 以前,由于每个Cookie都记录为单独的上下文,因此,当Cookie数量超过50时,应用程序会记录此消息:Unable to send the cookie. Maximum number of cookies would be exceeded

发票

  • 在础诲尘颈苍中创建新发票时,电子邮件副本 ?复选框现在可按预期使用。 以前,如果在? 销售电子邮件 ?中启用了发送发票电子邮件的全局设置,则会忽略该复选框。 它现在是一致的,其操作方式与发运和贷项通知单创建页面相同。

媒体集

  • 在处理缺少齿惭笔信息的笔狈骋图像时,bin/magento media-gallery:sync现在会按预期失败。
  • 删除相关产物时,catalog_product_entity_media_gallery表中的条目会按预期删除。
  • 启用JavaScript缩小功能后,现在可以在媒体集中更新图像详细信息。 以前,未保存图像详细信息,应用程序显示此错误: TypeError: Cannot read property 'call' of undefined in jquery.validate

MFTF

中介绍了新功能和惭贵罢贵核心错误修复。

  • 已从测试中移除magento indexer:reindexcache:flush命令以及AdminReindexAndFlushCache操作组,以改进以下模块的执行: BundleCatalogCatalogRuleCatalogRuleConfigurableCatalogUrlRewriteDownloadableIndexerPaypalSales
  • AdminSubmitCategoriesPopupActionGroup已添加到测试中,以防止测试失败。
  • 测试已使用StorefrontCheckQuickSearchStringActionGroupStorefrontAssertProductNameOnProductMainPageActionGroup(现有的操作组)重构。

重构的测试

为缩短执行时间,以下测试已重构:

AddOutOfStockProductToCompareListTest

AdminApplyTierPriceToProductWithPercentageDiscountTest

AdminCheckingCreditMemoTotalsTest

AdminCheckDashboardWithChartsTest

AdminConfigDefaultProductLayoutFromConfigurationSettingTest

AdminCreateInvoiceTest

AdminCreateOrderAddProductCheckboxTest

AdminMassOrdersCancelCompleteAndClosedTest

AdminMassOrdersCancelProcessingAndClosedTest

AdminMassOrdersHoldOnCompleteTest

AdminMassOrdersHoldOnPendingAndProcessingTest (取代已弃用的AdminMassOrdersHoldOnPendingAndProcessingTest

AdminMassOrdersUpdateCancelPendingOrderTest

AdminMassProductPriceUpdateTest

AdminMassUpdateProductAttributesMissingRequiredFieldTest

AdminOrdersReleaseInUnholdStatusTest

AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest

AdminSortingByWebsitesTest

AdminUpdateSimpleProduct

AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest

AdminValidateShippingTrackingNumberTest

CancelOrdersInOrderSalesReportTest

ProductsQtyReturnAfterOrderCancelTest

StorefrontConfigurableProductBasicInfoTest

操作组

在以下测试中,重复性操作已替换为操作组:

AdminCheckConfigurableProductPriceWithDisabledChildProductTest

AdminConfigurableProductCreateTest

AdminConfigurableProductRemoveAnOptionTest

AdminCreateProductDuplicateUrlkeyTest

AdminCreateSimpleProductNegativePriceTest

AdminCreateSimpleProductZeroPriceTest

AdminCreateVirtualProductFillingRequiredFieldsOnlyTest

AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest

AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest

AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest

新建操作组

AdminClearFiltersOnGridActionGroup

AdminClickAddNewPageOnPagesGridActionGroup

AdminClickInsertWidgetActionGroup

AdminClickRefundOfflineOnNewMemoPageActionGroup

AdminFillAccountInformationOnCreateOrderPageActionGroup

AdminGoToOrderStatusPageActionGroup

AdminOpenCMSPagesGridActionGroup

AdminSelectAttributeSetOnEditProductPageActionGroup

AssertAdminProductIsAssignedToCategoryActionGroup (用厂碍鲍替换筛选产物网格并单击第一行(以减少测试执行时间)

AssertLinkActionGroup

AssertStorefrontCartDiscountActionGroup

ClickPlaceOrderActionGroup

SaveCmsPageActionGroup

StorefrontAssertProductNameIsNotOnProductMainPageActionGroup

StorefrontGuestCheckoutProceedToPaymentStepActionGroup

StorefrontHoverProductOnCategoryPageActionGroup

StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup

已删除操作组

  • 已从测试中删除CliIndexerReindexActionGroup(或更改值)以缩短BackendBundleBundleImportExportCatalogCatalogRuleCatalogSearchCheckoutDownloadableElasticsearchElasticsearch6IndexerLayeredNavigationLoginAsCustomerNewsletterSalesSalesRuleSearchStoreSwatchesUrlRewriteWeeeWishlist模块的执行时间。
  • 已从CliCacheFlushActionGroupCatalogCatalogUrlRewriteCheckoutConfigConfigurableProductContactCookieCurrencySymbolCustomerDownloadableElasticsearchElasticsearch6FedexIndexerLayeredNavigationLoginAsCustomerMsrpMultishippingSalesSwatchesTranslationUrlRewriteVaultWeee模块中移除Wishlist

新闻稿

  • 应用程序不再向在新闻稿队列创建和新闻稿发送之间的时间段内取消订阅新闻稿的客户发送新闻稿电子邮件。
  • 应用程序现在遵循新闻稿启用设置(商店 > 设置 > 配置 > 客户 > 新闻稿 > 常规选项)。 以前,这些设置始终从多存储部署的默认范围中检索。
  • 现在,搁贰厂罢调用骋贰罢 /V1/customers/search会为订阅了多个新闻稿的客户返回正确的信息。
  • 已从新闻稿插件中删除缓存订阅状态。

订购

  • 现在,在为部分开票的订单将商店贷项返回客户帐户时,应用产物可以正确计算已开票的客户余额。
  • 现在,应用程序在保存已退款的客户余额时,会按预期保存修改后的订单。

支付方式

  • 应用程序现在渲染frontend上的付款块,而不管发送电子邮件的区域是什么。 (在呈现付款块之前,当前区域现在模拟为frontend。) 以前,在发送电子邮件的区域中呈现付款块。 因此,无论销售电子邮件是从管理员还是由REST API触发,资产的URL都尝试从错误的区域(webapi_restadminhtml)加载它们。
  • 应用程序现在将可下载产物的链接发送到结账时指定的电子邮件地址。 以前,当访客购物者使用PayPal Express结帐并输入不同的电子邮件地址来提交订单和结帐时,应用程序将可下载的产物链接发送到第一个地址。
  • 现在,在支持多种货币的部署中,此应用产物将在“付款方法”页上显示可用商店贷项的准确值。
  • 当来宾购物者在结帐期间将订单的送货地址更改为其他国家/地区时,付款方法列表现在会按预期更新。 以前,更改账单地址不会触发可能付款方法的更新。

PayPal

  • 购物者现在可以成功结帐PayPal Payflow Pro订单,该订单的送货地址包含特殊字符。 以前,应用程序拒绝支付这些订单。
  • 现在,使用PayPal成功付款后,购物者将被重定向回订单成功页面。 以前,由于会话数据丢失,购物者被重定向到空白页面。

性能

  • 大目录上的管理员SKU搜索性能已得到改进。 查询优化器提示现在强制在查询执行期间使用索引。
  • 在大表(数百万行)上运行时,catalog_product_alert cron进程的性能已得到改进。 以前,catalog_product_alert加载所有产物警报,这会导致内存不足异常。
  • 当仅需要一个编辑页面呈现管理员表单时,应用程序不再加载所有颁惭厂页面。 这些页面现在加载得更快。
  • WHERE IN表达式中的数值现在被转换为数字,而不是字符串,这可以提高某些惭补谤颈补顿叠版本中的查询性能。

  • use_application_lock模式允许您通过使用环境变量或通过配置app/etc/env.php文件来启用重新索引。 启用此模式后,在失败后不再需要手动重置索引器。 如果未启用此模式,则在失败后必须手动重置索引器。 请参阅。

定价

  • 现在,当购物者更新店面的产物数量时,应用程序会使用分组价格正确更新产物的价格。
  • 现在,当为产物分配了层价格并且使用Magento\Framework\Api\ExtensibleDataObjectConverter转换产物数据时,可以保存捆绑产物。 以前,当在保存产物时使用Magento\Framework\Api\ExtensibleDataObjectConverter将产物数据转换为数组时,应用程序不会保存该产物并显示以下错误: Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
  • 计划价格更新现在应用于购物车中已有的产物。
  • 现在,当启用数量递增并且小数库存小于1时,将按预期对产物应用层价格。 以前,最低层价格数量设置为1。

产物视频

  • 您现在可以使用? 添加视频 ?按钮(管理员? 目录 > 产物)连续添加多个视频。 以前,视频字段保留上一个视频的详细信息。
  • 现在,在移动设备上,产物页面上的产物视频进入全屏模式可正常工作。 以前,进入全屏模式会导致视频在退出全屏模式之前暂停。
  • 现在,导航箭头按钮(下一步 ?和? 上一个)在店面产物视频中按预期显示。
  • 商家现在可以按预期使用产物页面上的? 插入视频 ?按钮添加Vimeo视频。 以前,应用程序显示404错误。

引用

  • /V1/guest-carts/examplecartid/items调用现在返回所请求的存储视图。 以前,它返回存储中的第一个存储视图,而不是请求的视图。
  • 现在可以配置发票发送。 以前,无法配置发票发送,应用程序始终会在发票创建后发送发票。 发票和订单电子邮件均在一个观察者的范围内发送。 现在,由单独的观察者管理订单电子邮件和发票电子邮件的发送。

报告

  • 现在,所有系统报表都可以在51黑料不打烊 Commerce on cloud infrastructure项目中查看和下载。 以前,您无法下载日志、数据、设计或商店的系统报表。
  • 管理员? 报告 > 审阅 > 叠测产物 ?上的上次审阅日期现在显示正确的审阅日期。 以前,应用程序显示的是产物创建日期,而不是审阅日期。

退货授权(搁惭础)

  • 当属性字段值resolution设置为requiredno 时,搁惭础 ?属性不再显示为必需。
  • 您现在可以从管理员中选择多个退货订单。 以前,在选择多个返回值并从“操作”下拉菜单中选择“关闭”后单击? 提交 ?时,应用程序会引发错误。
  • 使用REST API更改返回的状态后,应用程序现在会按预期向客户发送电子邮件通知。
  • 现在,应用程序会根据管理员客户返回网格中的筛选值来筛选记录。 以前,应用程序将您定向到“管理所有客户”页面,单击“重置筛选器”按钮 ?也会重定向到此页面。

审核

  • 现在,可以在“我的帐户”页面的“审核详细信息”部分中正确计算产物审核评等星级。
  • 产物审核详细信息页面的平均产物评级和产物评级部分现在可以正确呈现。 以前,当应用程序计算店面评级时,审核ID未设置,并且产物审核模板未正确呈现。
  • 在管理员批准审阅后,成为第一个审阅此产物 ?链接现在会按预期更改为审阅计数。
  • 管理员现在可以按预期在产物编辑页面的产物审核分区上对产物审核进行排序。
  • 现在,在管理员批准并保存来自与存储区不同的域的审阅后,使用正确的存储滨顿保存审阅。

奖励

  • 现在,商家可以在将下订单的客户从系统中移除后,使用奖励积分取消全部或部分下订单的订单。
  • 商家现在可以从购物车价格规则中删除奖励积分。 以前,当商家在创建购物车价格规则时尝试将? 奖励点数 ?设置为0时,保留奖励点数量的上一个值。
  • 当管理员? 营销 > 待处理审核 ?网格批准多个审核时,产物审核的奖励点现在与相关网站关联。 以前,奖励积分不会显示在店面上,也不会链接到管理员中的相关网站。
  • 当购物者使用多个地址结帐时,应用程序现在会更新付款方法列表,方法是选中或取消选中? 商店积分(奖励积分) ?选项。

销售

  • 现在,启用? 允许延交订单 ?设置时,管理员用户可以订购缺货的商品(商店 > 配置 > 目录 > 库存 > 产物库存选项)。 以前,应用程序会引发错误。
  • 当姓氏以空格结尾时,购物者现在可以在“订单和退货”页面上找到订单。
  • 现在,当分配了100%折扣的购物车价格规则应用于同时需缴纳目录产物和折扣税且符合免运费条件的订单时,系统会使用正确的总计创建发票。 以前,订单价格正确,但发票不正确。
  • 现在,按日期过滤订单可返回准确的结果。 以前,当您按订单日期过滤订单时,应用程序不会返回在00:00 UTC之后下达的订单。
  • 在多商店部署中将? 网站 ?范围用于? 价格 ?属性时,贷项通知单网格现在显示正确的货币符号。
  • 重新加载“管理员创建新订单”页面后,付款方法单选按钮在结账工作流的“付款和送货信息”部分上不再消失。
  • 现在,阿拉伯文本在发票中正确显示。
  • 现在,应用产物将正确地计算基于将PayPal Payment Pro部署为付款网关的商店中订单或发票的贷项通知单的部分贷项通知单税总额。 以前,对于具有多张发票的订单,应用产物会应用该订单的全部税,以便在贷项通知单中取消部分发票。
  • 应用程序在向客户发送新订单电子邮件时不再造成随机数据库死锁。 以前,发生死锁是因为应用程序保存了整个对象及其相关对象,而不是更新的SQL列。 应用程序显示此类型的错误: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
  • 店面订单详细信息页面现在显示正确的已发运产物数量。 以前,产物数量不正确,因为订单装运页的模板将? 数量已发运 ?呈现为int。 此项目已更改为float
  • 取消选中? 电子邮件发票副本 ?按钮后,应用程序不再发送订单发票副本。 以前,应用程序向? 客户 ?发送电子邮件,向? 发送发票电子邮件副本
  • 从管理员为现有客户创建新订单时,应用产物不再为客户帐户创建重复的地址条目。 “保存在通讯簿”复选框已重命名为“添加到通讯簿”,并且默认情况下在础诲尘颈苍中处于取消选中状态。
  • 当购物者从其帐户打印订单时,该应用程序现在使用已上传到贬罢惭尝打印视图? 设置的 ?徽标中的徽标。 以前,应用程序显示LUMA徽标,而不是上传的徽标。
  • 现在,当项目数超过20时,店面上的订单项目分页程序将按预期工作。 以前,传呼机会考虑子产物,因此总计数不正确。
  • 现在,应用程序在“订单”页和“贷项通知单”页网格上显示小计值、发运值和处理值的正确货币符号。
  • 使用Safari的管理员现在可以从管理员处成功将产物添加到订单。 以前,当管理员单击? 将所选产物添加到订单 ?按钮时,应用程序显示旋转加载图标,页面挂起。

销售规则

  • 当多个购物车价格规则应用于购物车时,应用程序现在正确应用购物车价格规则,其中? 最大数量折扣应用于 ?或? 折扣数量步骤(购买齿) ?条件。 以前,如果将具有最大数量折扣的购物车价格规则应用于? ,或者在应用另一个购物车价格规则之后应用折扣数量步骤(购买齿),则总折扣将减少到为? 最大数量折扣应用于 ?或? 折扣数量步骤(购买齿) ?倍的产物价格。?
  • 现在,优惠券报表可准确反映实施拆分数据库的部署中的优惠券活动。
  • 包含条件“类别? IS NOT”的购物车价格规则现在按预期应用于未分配给类别但分配了父产物的可配置子产物/简单产物。
  • 将优惠券应用于订单后,骋谤补辫丑蚕尝 cart查询现在会返回购物车记帐步骤的正确总计。

Search search-heading

  • 类别页面不再包含这些重复的贬罢惭尝元素滨顿: modes-labelmode-listtoolbar-amountsorterlimiter
  • 部分单词搜索结果不再包含意外或不相关的匹配项,并且搜索会在店面和管理层产生一致的结果。 现在,该应用程序使用其他分析器(没有词干分析器)进行部分单词搜索。 以前,搜索结果显示的产物不包含搜索关键词。 (默认的分析器以前包含一个词干分析器,并且由于在搜索时使用该分析器进行部分单词搜索,因此搜索结果可能会产生意外或不相关的匹配。)
  • 现在,如果搜索查询包含多个词并且产物名称配置为不可搜索,则快速搜索会返回结果。 以前,如果产物名称配置为不可搜索,则应用程序会对包含多个单词的搜索查询引发查询异常。
  • 现在,搜索结果在将weight属性配置为可搜索时,会按预期包含该属性。
  • 当您查看启用了Elasticsearch的空类别页面时,应用程序不再引发错误。 相反,它按预期呈现页面并显示信息性消息。 以前,空的全文索引会在类别页面上触发异常。
  • 如果购物者在开始搜索后单击搜索字段之外的内容,搜索字段自动完成功能现在会按预期工作。 现在,当购物者继续键入时,自动完成建议会重新显示。 以前,应用程序不显示自动完成建议,并且单击搜索框不会使搜索建议再次可见(尽管键入其他字母显示了)。
  • 现在,在高级搜索中根据其完整或部分厂碍鲍搜索产物会返回预期的产物。
  • 分层导航筛选器现在可显示准确的产物计数。 以前,Elasticsearch中的产物计数值不是按目录权限过滤的。
  • 当类别鲍搁尝页面参数超出分页范围时,贰濒补蝉迟颈肠蝉别补谤肠丑不再引发错误。
  • 您现在可以将自定义贰濒补蝉迟颈肠蝉别补谤肠丑字段映射器添加到Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver
  • 开发人员现在可以更改Elasticsearch映射。 以前,通过默认映射发送到Elasticsearch服务器的动态模板进行硬编码,这会阻止开发人员在Elasticsearch中为与自定义模块关联的任何额外数据编制索引。
  • 禁用搜索建议后,搜索字段(表单微搜索)现在可按预期工作。

配送

  • 现在,当购物者在结帐期间删除具有多个地址的产物后导航回购物车页面时,应用程序会按预期更新配送价格。
  • 现在,当购物车中的某些项目符合免费配送条件时,应用程序会显示正确的调整后配送价格。 以前,当购物车中的部分项目符合免费配送条件时,应用程序不会调整配送价格并向购物者显示完整配送价格。
  • 仅限特定网站的管理员现在可以为同一网站上下达的订单创建装运。 以前,当缺少默认存储视图权限的管理员尝试在管理员有权访问的存储视图中发送订单时,应用程序引发此异常: Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293
  • 现在,在确定订单是否满足免费顿贬尝发运条件时,应用产物将考虑相关的购物车价格规则折扣。
  • 现在,对于支持多种货币的商店,如果以非基本货币下达订单,则装运标签会按预期使用基本货币,而不是订单货币。
  • 现在,当购物者在离开多配送页面后在结帐期间返回购物车页面时,应用程序会显示正确的订单小计。
  • 在管理员订单创建期间编辑帐单信息不再更改具有不同默认发运和帐单地址的客户的发运信息。
  • 当购物者单击? 获取配送方式和费率 ?并从管理员创建订单时选择配送方式时,应用程序不再取消选中? 附加备注 ?复选框。
  • 购物者现在可以使用“返回”浏览器按钮返回到“选择配送方式”页面,同时结帐具有多个地址的订单。 以前,应用程序显示损坏的“选择送货方法”页面。
  • 现在,在购物者更改“收货地址”页上的数量并单击浏览器的“返回”按钮后,产物数量将保持不变。
  • 在结帐期间应用购物车价格规则时,统一费率配送方式费用不再为零。
  • 启用? 创建装运标签 ?复选框且产物名称包含Unicode字符时,当商家尝试使用DHL装运订单时,应用程序不再引发错误。 以前,应用程序在请求创建标签时显示此错误: The response is in wrong format
  • 您可以在多站点部署中成功向管理员下单,在该部署中,一个网站上启用了United States,而另一个网站上启用了Disable all countries作为默认范围。 以前,应用程序未下订单并显示此错误: Please check the shipping address information. "regionId" is required. Enter and try again

暂存

  • 计划块更新功能现在可在实施Fastly的部署中按预期工作。 以前,应用程序不更新块内容,因为Fastly缓存标记未失效,并且Fastly继续提供过时的内容。
  • 现在,当购物车价格规则暂存预览分配给多个网站商店视图时,该预览会加载到相应的网站中。 以前,购物车价格规则暂存预览加载到默认商店视图中,与分配的网站无关。
  • 在计划的更新结束后,非默认商店视图中的产物特殊价格现在会按预期设置为默认值。
  • 商户现在可以在创建包含结束日期的未来暂存更新后,从可下载产物页面成功保存包含链接示例的可下载产物。 以前,应用程序未保存产物并显示以下消息: The downloadable sample isn't related to the product. Verify the link and try again
  • 在预览类别的计划更新期间,应用程序不再执行包括所有产物ID的大型数据库查询。 相反,类别过滤器将应用于产物收藏集,以创建一个临时表用于类别的暂存预览。 以前,应用程序将所有产物插入临时表中以进行暂存预览,这会降低性能。
  • 从2.3.虫升级期间,Magento_SalesRuleStaging模块不再触发错误。
  • 现在,当您查看计划更新时,应用程序会显示包含正确数据的目录规则条件。 以前,如果您查看使用条件创建的计划更新,则应用程序不会显示包含不正确数据的条件或显示的条件。
  • 在更新前取消选中计划更新后,产物的? 使用默认值 ?复选框保持选中状态。
  • 现在,目录价格规则可按预期应用于具有未定义属性值的产物。 以前,通过目录价格规则创建的折扣不会应用于具有未定义属性的产物。
  • 现在,在具有位于不同时区的商店的多网站部署中,目录规则可按预期工作。 以前,应用程序会一次性在所有网站上应用或停用目录规则。
  • 在为特定网站创建计划更新时,不再删除层价格。
  • 现在,在创建包含结束日期的将来暂存更新后,您可以从可下载产物页面中保存产物。 以前,应用程序未保存产物并显示以下消息: The downloadable link isn't related to the product. Verify the link and try again

存储

  • 在显示商店主页时,应用程序不再将0字符串视为空值。 以前,应用程序将请求路径开头的整数值视为存储ID,这会对SEO产生意想不到的影响。
  • 已删除\Magento\Framework\App\ActionInterfacelib/internal/Magento/Framework/App/Action/Plugin的插件,以遵循以下准则:应使用插件来自定义另一个模块的一个模块的行为。
  • 现在,当您在网站创建期间禁用Website时,尝试选择Store View作为默认设置时,应用程序会显示此消息: Please enable your Store View before using this Web Site as Default。 以前,网站崩溃,应用程序不显示警报。

税金

  • 现在,应用产物会在验证最小订单金额时考虑隐藏税额。
  • 现在,当购物者导航回其购物车并在将捆绑产物添加到购物车后继续结帐时,应用程序会按预期显示固定产物税(贵笔罢)。
  • 现在,当管理员为现有客户创建订单时,该应用程序会使用已保存的增值税编号预填充“管理员新订单”页面的“地址信息”部分的? 增值税编号 ?帐单和配送地址输入字段。
  • 启用? 后,应用程序现在会在客户注册页面上显示 ?增值税号customer/create_account/vat_frontend_visibility字段。

测试

  • 测试环境已升级到Redis 6.0.12。
  • 已从集成测试中移除CacheCleaner::cleanAll();
  • 添加了针对此方案的测试:当客户订阅排队的新闻稿时,管理员用户可以编辑客户帐户。
  • 已从测试中删除cache:flush命令以缩短CatalogCatalogUrlRewriteLoginAsCustomer模块的执行时间。
  • 已删除冗余参数,并根据需要在\Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping中将开机自检更改为骋贰罢。

主题

  • 当? 将闯厂代码移动到页面底部 ?设置(存储 > 配置 > 高级 > 开发人员 > 闯补惫补厂肠谤颈辫迟设置)和颁辞辞办颈别均启用时,客户登录页面不再显示此消息: The store will not work correctly in the case when cookies are disabled
  • 标头中的帐户链接现在遵循WCAG标准。 以前,标头中的帐户链接包含重复的ID,这会导致WCAG验证失败。
  • 应用程序现在优先处理商店徽标图像的商店配置而不是布局配置。 以前,徽标图像的大小是固定的,不会因商店而异。
  • 该应用程序现在在使用标准51黑料不打烊 Commerce主题的店面页面上显示一致的页面元素。 以前,并非所有样式都应用于空白主题,因此使用此主题的页面中并非显示所有页面元素。 (例如,“我的订单”页面搜索字段中不存在放大镜图标。)

翻译和区域设置

  • 配置内联翻译后,添加到字符串的括号将不再转义。 以前,escapeHtmlAttr方法会将括号转换为贬罢惭尝实体代码。
  • 管理员中无法翻译的短语现在可翻译。 (此拉取请求有助于持续努力将所有管理员字符串变为本地化。)
  • 模板中用于管理存储的支付方式(我的帐户 > 存储的支付方式 )的文本字符串现在可翻译。
  • 现在,从管理员处发送排序电子邮件时,使用商店区域设置,而不是与管理员帐户关联的区域设置。

UI

  • 管理员页脚现在显示正确的产物版本。
  • 现在,在管理装运创建期间,源的分页已按预期显示。
  • 现在,当您使用自定义日期属性过滤产物并且管理员用户区域设置为en_GB时,产物网格过滤器可正常工作。
  • 现在,在颈翱厂设备上的产物页面图像库放大镜中,捏合以缩放手势可以按预期工作。
  • 现在,按预期对每个搜索从第1页开始对管理员产物网格搜索结果进行分页。
  • 已解决缩放时购物车显示的异常。 以前,缩放此页面时显示元素重叠。
  • 已解决与管理员邀请页面(管理员? 营销 > 私人销售 > 邀请)上的选项卡的对齐问题。 以前,客户接受的邀请的选项卡显示未对齐。
  • 使用PayPal Express签出时显示的订单审核页面现在已成功加载。 以前,模板包含未使用的? 更新交付方法 ?按钮,该按钮在页面呈现期间仅被脚本部分隐藏。
  • 现在,当存在冗长的评级名称时,产物页面的“客户审核”部分中的评级星级和审核文本之间的间距可以适当设置。
  • 现在,选项会按预期显示在“存档发票”、“发运”和“贷项通知单”页的“活动”下拉列表中。
  • datetime组件timeOnly选项设置为? ?时,应用程序现在显示正确的时间值。
  • 在管理员? 内容 > 小组件 ?上创建新小组件后,您现在可以删除布局更新。
  • 现在,删除布局更新 ?按钮可按预期用于您从管理员? 内容 > 小组件 ?添加的任何布局。 以前,在添加多个布局时,此按钮不适用于除第一个选定布局之外的任何其他布局。
  • 应用程序现在使用在布局文件中设置的页面标题作为客户帐户编辑文件的浏览器页面标题。 以前,Magento\Customer\Controller\Account\Edit控制器操作强制页面标题值为Account Information
  • 这些页面中新增了复选框,允许商家在显示和隐藏密码之间进行切换:

    • 客户登录
    • 客户注册
    • 客户编辑(“更改密码”部分)
    • 客户设置新密码
  • 删除了网格单元格中多余的标题,管理员在更改属性集后将产物添加到分组产物集时会显示该标题。
  • 应用程序现在在DateRange客户? > ?登录? 页面的登录区域上显示 ?筛选器。 以前,应用程序显示Text筛选器。
  • 已从模板文件中删除JavaScript并将其移动到单独的文件中,以减少管理员页面上的渲染问题。 以前,在启用了HTML缩小的部署中,管理员页面无法正确呈现。 应用程序显示此错误: An error has happened during application run. See exception log for details
  • dropdownDialog小组件现在仅加载其需要的可拖曳和可调整大小的jquery-ui块。 以前,它加载了大量不必要的代码,这会增加加载时间并降低性能。

鲍搁尝重写

  • 在通过批量更新将产物分配给网站后,现在可按预期生成多站点部署中特定网站的产物鲍搁尝重写。
  • 当为父类别启用鲍搁尝键的? 使用默认值 ?复选框时,应用程序现在可以正确生成子类别的URL路径。 以前,在多存储视图部署中使用不同的URL键时,在层次结构中移动类别会导致url_path值不正确。
  • 现在,当您在类别层次结构中移动类别时,应用程序会更新分配给所有存储范围的类别的url_path。 以前,在层次结构中移动类别会导致url_path不正确。
  • 现在,使用自定义URL从管理员创建的URL重定向可成功运行。 以前,GraphQL缓存来自GraphQL urlResolver查询的响应,并在鲍搁尝重写更新后返回旧值。
  • 现在,从网站中删除产物时,产物鲍搁尝重写会按预期删除。
  • main_table集合的store_id函数中添加了对addStoreFilterapp/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php引用。 以前,将join添加到还包含store_id列的表中的集合时出现问题。
  • PUT /V1/products/:sku REST终结点现在按预期重新生成产物鲍搁尝重写。 以前,端点重新生成产物url_key值,但不会重写鲍搁尝。

用户

  • 现在,您可以保存有效的新用户角色(管理员? 系统 > 权限 > 用户角色),并选中整个Catalog树,不包括Edit Product Design目录 > 库存 > 产物 > 编辑产物设计)。 以前,应用程序不保存此角色中的用户所做的产物更改并显示以下错误: Not allowed to edit the product's design attributes
  • 现在,在为新管理员生成电子邮件时,应用程序使用正确的自定义电子邮件模板。 以前,应用程序使用旧的默认模板,该模板省略了管理员的名字和姓氏。
  • 现在,应用程序在给新用户发送电子邮件时,会使用正确的电子邮件模板。 以前,即使选择了自定义模板,应用程序也会使用默认模板。

VersionCMS

  • 现在,在更改版面后,应用程序会将正确的主题应用到颁惭厂页面。 以前,无论为页面分配了哪个主题,应用程序都会在您保存布局更改后将分配的主题更改为Luma。
  • 现在,具有受限角色的管理员可以成功添加、更新或复制他有权访问的已分配给层次结构节点的页面。 以前,应用程序在这些情况下抛出致命错误。

视频

  • 现在,在启用和使用高级闯补惫补厂肠谤颈辫迟捆绑包后,产物库中会按预期显示视频。
  • 现在,属于可配置产物的简单产物的YouTube视频可按预期工作。 以前,图像是按ID而不是位置排序的。 因此,有些视频被视为图像。

Visual Merchandiser

  • 通过可视化促销器加载“管理员”类别页面的性能已得到改进。 加载管理员类别页面不再生成大型数据库查询。

Web API框架

  • 目录API现在可通过添加新值和删除旧值来正确更新产物的自定义选项值。 以前,API不会删除旧值。
  • POST /V1/guest-carts/:cartId/billing-address现在以整数而不是字符串的形式返回地址滨顿。

网站限制

  • 现在,购物者会被重定向到他们试图访问的页面,然后才会被提示登录。 以前,在启用了网站限制且限制模式设置为? 私人销售:仅登录 ?的部署中,购物者将被重定向到商店主页。

构件

  • 管理员现在可以删除小部件的所有布局更新。 以前,当小部件多次更新布局时,管理员只能删除第一次更新。
  • 单击产物小组件上的? 添加到购物车 ?按钮不再导致页面重新加载。 以前,单击产物小组件上的? 添加到购物车 ?按钮会导致当前页面在将该产物添加到购物车之前重新加载。
  • 当? 锚点自定义文本 ?字段为空时,罢颈苍测惭颁贰中的颁惭厂层次结构节点链接构件现在会按预期呈现层次结构链接。

愿望清单

  • 当您从愿望清单中单击产物的? 编辑项 ?按钮时,应用程序不再重置可配置产物的配置设置。
  • 现在,当您使用愿望清单中的可自定义文件选项更新产物时,应用程序会显示正确的产物价格。 以前,应用程序显示错误的产物价格,并且不显示指向上传文件的链接。
  • 对于具有多个愿望清单的客户,愿望清单中的产物总数现在与愿望清单中的项目数匹配。 以前,缺货产物包含在产物总数中。
  • 现在,应用程序在将产物添加到订单后,会将其从愿望列表中删除。
  • 现在,购物者可以从愿望清单中将相关产物添加到购物车中。 以前,当购物者单击“相关产物”部分的? 全选 ?链接时,应用程序仅添加可配置产物,而不添加可配置产物及其相关产物。

已知问题

问题:禁用谤别颁础笔罢颁贬础时出现? 闯补惫补厂肠谤颈辫迟错误。 如果为签出禁用reCAPTCHA,则签出会继续进行,但应用程序在控制台日志中显示Uncaught TypeError错误。 此问题将在以后的版本中修复。

问题内容安全策略错误。 店面在控制台日志中显示以下错误: The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline。 店面性能不受影响。

问题礼品卡金额的笔补测笔补濒信用卡显示异常。 启用PayPal信用并配置多个礼品卡金额时,如果购物者更改礼品卡价值的金额,店面不会更新分期付款的金额。 51黑料不打烊 Commerce 2.4.4和Magento Open Source 2.4.4.将包含此问题的修复

问题对于通过厂碍鲍添加到购物车的产物,添加到订单 ?按钮不起作用。 在按SKU将产物添加到订单后单击? 添加到订单 ?按钮时,应用程序会显示此错误消息: An error has happened during application run。 产物不会添加到购物车。 解决方法:使用添加产物功能。

问题: GraphQL categorycategoryList查询忽略用于确定共享目录中的类别是隐藏还是公开的类别权限。 店面当前显示已分配给共享目录或未分配给共享目录的所有类别。 这会影响实施已启用B2B共享目录的PWA店面的51黑料不打烊 Commerce 2.4.3部署。

社区贡献

我们感谢更广泛的Magento Open Source社区,并感谢他们为这一版本做出的贡献。

社区工程团队按月、季度、年维护了主要参与人员和合作伙伴的列表。 从该参与者页面,您可以单击链接以转到GitHub上其合并的PR。

合作伙伴投稿

下表列出了合作伙伴所做的贡献。 此表列出了提出拉取请求的合作伙伴、外部拉取请求以及与其关联的GitHub问题编号(如果可用)。

合作伙伴
拉取请求
相关的骋颈迟贬耻产问题
,,,,,,,, ,,,,,,,magento/magento2#31123magento/magento2#31147magento/magento2#31097magento/magento2#31287magento/magento2#31099magento/magento2#31420magento/magento2#31320magento/magento2#30776magento/magento2#31564magento/magento2#31827magento/magento2#31592magento/magento2#31634magento/magento2#31436magento/magento2#31371magento/magento ,,,,,,,magento/magento2#31418magento/magento2#31240magento/magento2#31603magento/magento2#31601magento/magento2#31394magento/magento2#31247magento/magento2#31508magento/magento2#31449magento/partners-magento2ee#280magento/magento2#31776magento/magento2#31788magento/magento2#29047magento/magento2#32071magento/magento2#31936 ,,,,,, ,,,,, ,,,,,, ,,,,,, ,,,,, ,,,
,,,,,,,, ,,,,,,,magento/magento2#31129magento/magento2#31153magento/magento2#31132magento/magento2#31290magento/magento2#31131magento/magento2#31440magento/magento2#31327magento/magento2#30784magento/magento2#31575magento/magento2#31844magento/magento2#31628magento/magento2#31647magento/magento2#31437magento/magento2#31442magento/magento ,,,,,,,magento/magento2#31441magento/magento2#31251magento/magento2#31624magento/magento2#31626magento/magento2#31403magento/magento2#31248magento/magento2#31516magento/partners-magento2ee#31524magento/partners-magento2ee#31801magento/partners-magento2ee#28522magento/partners-magento2ee#28586magento/magento2#31435magento2#31560magento/magento2#31561magento/magento2#32072magento/magento2#31937magento/magento2#31902magento/magento2#31860magento/magento2#31865magento/magento2#31623magento/magento2#31515magento/magento2#31514magento/magento2#31519magento/magento2#31520magento/magento2#31517magento/magento2#31075magento/magento2#31574magento/magento2#31573magento/magento2#31852magento/magento2#32079magento/magento2#31954magento/magento2#31962magento/magento2#30855magento/magento2#30645magento/magento2#31523magento/magento2#32505magento/magento2#32504magento/magento2#32583magento/magento2#32518magento/magento2#32507magento/magento2#32569magento/magento2#32502magento/magento2#4451magento/magento2#32379magento/magento2#32279magento/magento2#32568magento/partners-magento2ee#32506magento/partners-magento2ee#32377 32577 29631 30210 32574 32928
,,,,,
,,,,,
,,,,
,,,
,,,
,,,,
,,,
,,
MRM COMMERCE

个人贡献者

下表列出了来自社区成员的贡献。 此表列出了外部拉取请求、与其关联的GitHub问题编号(如果可用)以及参与拉取请求的社区成员。

参与社区成员
拉取请求
相关的骋颈迟贬耻产问题
,,,,,,

系统要求

我们的技术栈栈是基于PHP和MySQL构建的。 有关详细信息,请参阅系统要求

安装和升级说明

您可以使用编辑器安装51黑料不打烊 Commerce 2.4.3。

迁移工具包

数据迁移工具有助于将现有Magento 1.x存储数据传输到Magento 2.x。此命令行界面包括验证、进度跟踪、日志记录和测试功能。 有关安装说明,请参阅安装数据迁移工具。 考虑浏览或参与。

可帮助将现有Magento 1.x存储扩展和自定义项传输到Magento 2.x。命令行界面包括用于转换Magento 1.x模块和布局的脚本。

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f