Notas de la versión de Adobe Commerce 2.4.3

Adobe Commerce 2.4.3 incorpora mejoras en el rendimiento y la seguridad, además de mejoras significativas en la plataforma. Las mejoras de seguridad incluyen la expansión de la cobertura de reCAPTCHA y la inclusión de una limitación de velocidad integrada. Las dependencias del compositor principal y las bibliotecas de terceros se han actualizado a las últimas versiones compatibles con PHP 8.x.

Esta versión incluye más de 370 nuevas correcciones del código principal y 33 mejoras de seguridad. Todos los problemas conocidos identificados en las notas de la versión 2.4.2 de Adobe Commerce se han corregido en esta versión.

NOTE
Las versiones de Adobe Commerce pueden contener cambios incompatibles con versiones anteriores (BIC). Para revisar los cambios incompatibles con versiones anteriores, consulte Referencia BIC. Los principales problemas incompatibles con versiones anteriores se describen en Puntos destacados de BIC. No todas las versiones introducen BIC importantes.

Consulte Notas de la versión de Adobe Commerce 2.4.2-p2 para obtener información sobre Adobe Commerce 2.4.2-p2.

Otra información de la versión

Aunque el código de estas funciones está empaquetado con versiones trimestrales , varios de estos proyectos (por ejemplo, B2B, Page Builder y Progressive Web Application (PWA) Studio) también se publican de forma independiente. Las correcciones de errores para estos proyectos se documentan en la información de versión independiente y específica del proyecto que está disponible en la documentación de cada proyecto.

Aplique MC-43048__set_rate_limits__2.4.3.patch para solucionar el problema de limitación de velocidad de API

Esta revisión proporciona una solución para el problema en el que las API web no pueden procesar solicitudes que contengan más de 20 elementos en una matriz. Este problema afecta a las implementaciones que ejecutan el Magento Open Source 2.4.3, Adobe Commerce 2.4.3 o 2.3.7-p1. Se ha añadido una limitación de velocidad integrada a estas versiones para evitar ataques de denegación de servicio (DoS), y el máximo predeterminado se estableció en 20. Este parche revierte el límite predeterminado a un valor más alto. Si sospecha que su tienda está experimentando un ataque de denegación de servicio, Adobe recomienda reducir los límites de entrada predeterminados a un valor más bajo para restringir el número de recursos que se pueden solicitar. Consulte la La API web no puede procesar solicitudes con más de 20 elementos en la matriz Artículo de la Base de conocimiento.

Aplique AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch para solucionar el error grave de PHP en la actualización

Durante la actualización a Adobe Commerce 2.4.3 puede producirse el siguiente error grave:

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

Este error se debe al uso de str_contains función, que es una función PHP 8.x. Adobe Commerce 2.4.3 no admite PHP 8.x. Este hotfix reemplaza esta función con una función compatible con PHP 7.x. Consulte la Adobe Commerce actualización 2.4.3, 2.3.7-p1 PHP Error fatal revisión Artículo de la Base de conocimiento.

Aplicar AC-3022.patch para seguir ofreciendo DHL como transportista

DHL ha introducido la versión de esquema 6.2 y dejará de utilizar la versión de esquema 6.0 en un futuro próximo. Adobe Commerce 2.4.4 y las versiones anteriores compatibles con la integración de DHL solo admiten la versión 6.0. Los comerciantes que implementen estas versiones deben aplicar AC-3022.patch lo antes posible para seguir ofreciendo DHL como transportista. Consulte la Aplicar un parche para seguir ofreciendo DHL como transportista Artículo de Knowledge Base para obtener información sobre cómo descargar e instalar el parche.

Características destacadas

Busque los siguientes aspectos destacados en esta versión.

Mejoras sustanciales de seguridad

Esta versión incluye 33 correcciones de seguridad y mejoras de seguridad de la plataforma. Muchas de estas correcciones de seguridad se han trasladado a 2.4.2-p2 y 2.3.7-p1.

Treinta y tres mejoras de seguridad que ayudan a cerrar las vulnerabilidades de ejecución de código remoto (RCE) y ejecución de scripts en sitios múltiples (XSS)

Hasta la fecha no se han producido ataques confirmados relacionados con estos problemas. Sin embargo, es posible que se aprovechen ciertas vulnerabilidades para acceder a la información de los clientes o hacerse cargo de las sesiones de administrador. La mayoría de estos problemas requieren que un atacante obtenga acceso primero al administrador. Como resultado, le recordamos que tome todas las medidas necesarias para proteger a su administrador, incluidas, entre otras, las siguientes medidas: inclusión en la lista de permitidos de IP, autenticación de doble factor, el uso de una VPN, el uso de una ubicación única en lugar de /adminy una buena higiene de las contraseñas. Consulte Boletín de seguridad del Adobe para una discusión de estos problemas fijos.

Mejoras de seguridad adicionales

Las mejoras de seguridad para esta versión mejoran el cumplimiento de las prácticas recomendadas de seguridad más recientes, que incluyen:

  • A nuevo complemento de Composer ayuda a evitar la confusión de dependencias e identifica paquetes malintencionados con los mismos nombres que los paquetes internos en el repositorio de paquetes públicos. Consulte la Adobe lanza un nuevo complemento de Compositor con la versión 2.4.3 publicación de blog.

  • La limitación de velocidad ahora está integrada en las API para evitar ataques de denegación de servicio (DoS). Las API web ahora imponen restricciones en el tamaño o el número de recursos (el máximo predeterminado se establece en 20 y se puede configurar en un valor diferente según las necesidades comerciales) que un cliente puede solicitar. Consulte Limitación de velocidad para obtener información sobre cómo configurar estas restricciones.

  • Se ha ampliado la cobertura de ReCAPTCHA para incluir:

    • Las API web que tienen páginas de HTML correspondientes se tratan mediante ReCAPTCHA. (Esto excluye las API web a las que se accede mediante integraciones). La cobertura ReCAPTCHA protege los puntos finales de ataques de spam. Cuando un servicio de integración de terceros que utiliza OAuth accede a las API web, ReCAPTCHA se desactiva.

    • La página de tienda Realizar pedido y las API web relacionadas con pagos. La protección ReCAPTCHA para estas páginas está desactivada de forma predeterminada y se puede activar desde el Administrador. Esta cobertura agrega un mecanismo de fuerza anti-bruta para proteger las tiendas de ataques de carding.

NOTE
A partir de la versión 2.3.2 de, asignaremos y publicaremos números de Vulnerabilidades comunes y exposiciones (CVE) indexados con cada error de seguridad que nos comuniquen partes externas. Esto permite a los usuarios identificar con mayor facilidad las vulnerabilidades sin solucionar en su implementación. Puede obtener más información sobre los identificadores CVE en CVE.

Mejoras de infraestructura

Esta versión incluye mejoras que mejoran la calidad del marco de trabajo y las siguientes áreas funcionales:

  • Cuenta del cliente

  • Catálogo

  • CMS

  • OMS

  • Importar/Exportar

  • Promociones y direccionamiento

  • Carro y cierre de compra

  • B2B

  • Ensayo y previsualización

Ahora se admite PayPal más tarde en implementaciones que incluyen PayPal. Esta función permite a los compradores pagar un pedido en cuotas quincenales en lugar de pagar el importe completo en el momento de la compra.

Nuevo use_application_lock modo de indexación. El use_application_lock El modo permite activar la reindexación mediante el uso de variables de entorno o configurando el app/etc/env.php archivo. Ya no es necesario restablecer manualmente el indexador después de un error con este modo habilitado. Consulte Uso del modo de bloqueo de aplicación para procesos de reindexación.

Mejoras de Platform

La versión 2.4.3 aún no es compatible con PHP 8.x, pero las siguientes actualizaciones de la plataforma nos acercan a la futura compatibilidad con PHP 8.x.

  • Las dependencias del Compositor principal y las bibliotecas de terceros se han actualizado a las últimas versiones compatibles con PHP 8.x.

  • La biblioteca KnockoutJS se ha actualizado a la versión 3.5.1 (la versión más reciente).

  • Se ha eliminado la biblioteca obsoleta TinyMCE v3. El Magento_Tinymce3Banner Las pruebas de módulo y MFTF relacionadas con TinyMCE v3.x se han eliminado de Adobe Commerce.

  • La versión 2.4.3 se ha probado y confirmado que es compatible con Redis 6.0.12. (la versión 2.4.x sigue siendo compatible con Redis 5.x.)

  • Las dependencias de la biblioteca Laminas se han actualizado a versiones compatibles con PHP 8.x. Algunas dependencias redundantes se han eliminado del composer.json archivo. Adobe Commerce 2.4.3 utiliza Laminas 3.4.0.

Mejoras de rendimiento

Esta versión incluye mejoras que reducen el tiempo de indexación de los indexadores Precio del producto y Regla de catálogo. Los comerciantes ahora pueden excluir un sitio web de un grupo de clientes o un catálogo compartido, lo que reduce el número de registros para la indexación y mejora los tiempos de indexación.

Live Search equipado con Adobe Sensei ofrece una experiencia de búsqueda intuitiva mediante el uso de inteligencia artificial y algoritmos de aprendizaje automático para realizar un análisis profundo de los datos agregados del visitante. Consulte Notas de la versión de Live Search.

GraphQL

Esta versión agrega compatibilidad con GraphQL para las siguientes funciones:

Consulte la Guía para desarrolladores de GraphQL para obtener más información sobre estas mejoras.

B2B

La versión 2.4.3 presenta B2B v1.3.2. Esta versión incluye varias correcciones de errores. Consulte Notas de la versión B2B.

Page Builder

Page Builder ya está disponible como extensión agrupada en Magento Open Source. Ahora es la herramienta de edición de contenido predeterminada para Adobe Commerce 2.4.3 y Magento Open Source 2.4.3. Puede reemplazar el editor WYSIWG con cualquier módulo de terceros.

Page Builder reemplaza el editor TinyMCE en las siguientes áreas de administración:

  • Página de CMS
  • Bloque CMS
  • Descripción de categoría
  • Descripción del producto

Todo el contenido creado en TinyMCE se ha migrado a Page Builder como HTML.

PWA Studio

Para obtener información sobre mejoras y correcciones de errores, consulte Versiones del PWA Studio. Consulte compatibilidad para obtener una lista de versiones de PWA Studio y sus versiones compatibles.

Actualizar herramienta de compatibilidad

El ámbito de la Actualizar herramienta de compatibilidad se ha ampliado en función de los comentarios de la comunidad. Únase a nuestros #upgrade-compatibility-tool Canal de Slack para obtener asistencia del equipo de productos de Adobe y de la comunidad, así como para guiar la dirección futura de la herramienta.

Actualizaciones de Cloud Managed Services

Esta versión incluye mejoras en nuestra compatibilidad con Amazon Simple Storage Service (AWS S3) y los servicios administrados en la nube de Amazon Aurora. Proporciona compatibilidad certificada con AWS ElastiCache, AWS Elasticsearch y AWS Managed Queues (Rabbit MQ). (Hemos probado la funcionalidad, el rendimiento y la integración de estos servicios con Adobe Commerce).

Integración de Adobe Stock

Esta versión incluye Adobe Stock Integration v2.1.1.

Extensiones desarrolladas por el proveedor

Consulte los siguientes temas para obtener actualizaciones sobre las funciones y los cambios de esta versión:

Problemas solucionados

Hemos corregido cientos de problemas en el código principal 2.4.3.

Instalación, actualización e implementación

  • El bin/magento setup:db:status El comando ahora devuelve un mensaje que indica que todo está actualizado después de una actualización correcta. Anteriormente, la aplicación mostraba este error: Declarative Schema is not up to date.
  • Los valores de configuración ahora se conservan en la recarga del formulario cuando falla la creación de un nuevo producto configurable. Anteriormente, los valores se perdían durante la recarga del formulario y la aplicación mostraba este error: The value specified in the URL Key field would generate a URL that already exists. GitHub-32102
  • La aplicación ya no genera una excepción cuando se ejecuta bin/magento setup:upgrade para actualizar desde una implementación de Magento Open Source con Redis a Adobe Commerce.
  • Las reglas de precios de carro de compras creadas anteriormente ahora se muestran en la página del panel Ensayo de contenido después de actualizar una implementación de Magento Open Source a Adobe Commerce.
  • Las implementaciones que se ejecutan en Galera Cluster ahora admiten más clientes. GitHub-31038
  • Los administradores ahora pueden iniciar sesión correctamente en una implementación cuando la aplicación se ha instalado con el —use-rewrites=0 opción o con web/seo/use_rewrites establecer en 0 pda core_config_data_table. GitHub-32100
  • Actualizado sortOrder cargar para AsyncCssPlugin. La aplicación ahora se carga AsyncCssPlugin antes JsFooterPlugin. GitHub-30882
  • Magento\Config\Model\Config\PathValidator ahora comprueba la ruta de visualización para determinar si existe un elemento y, si tiene una ruta de configuración, utiliza el config.xml ruta en lugar de validación. GitHub-27678
  • La compilación de archivos Less con Grunt o por compilación del lado del servidor ahora produce los mismos resultados. Anteriormente. .abs- styles, que amplía otras .abs- styles in _extends.less, no se emitían correctamente cuando se compilaba con Grunt. Esto resultaba en diferencias entre las implementaciones de producción y desarrollo. GitHub-7231

AdminGWS

  • Administrador ahora utiliza GWS int valores para website_id Condición SQL en las colecciones de administración para administradores con permisos personalizados.

Integración de Adobe Stock

  • La aplicación ahora muestra un mensaje informativo y un vínculo al administrador Tiendas > Configuración > Avanzadas > Sistema en la página Buscar Adobe Stock cuando Clave de API (ID de cliente) y Secreto del cliente no están configuradas. Anteriormente, la aplicación mostraba este error: We couldn't find any records y sin vínculo.

Servidor

  • Los administradores con acceso restringido (por ejemplo, a los que se les asigna acceso a un solo sitio web) ya no pueden editar las categorías configuradas como Ámbito global.
  • El informe del sistema generado (Sistema > Asistencia > Informe del sistema) ahora se representa correctamente. Anteriormente, el contenido del informe estaba desalineado.
  • La aplicación ahora desactiva la validación en Precio como se espera cuando el campo Precio dinámico la configuración está habilitada durante la creación del producto del paquete. Anteriormente, la aplicación arrojaba un error de validación cuando se eliminaba un valor de Precio cuando la variable Precio dinámico se ha habilitado la configuración. GitHub-26214
  • Las redirecciones infinitas ya no se producen cuando la URL del administrador difiere de la URL del sitio web predeterminado en implementaciones en las que la aplicación está configurada para ser accesible desde dos direcciones URL.

Paquete de productos

  • Ahora puede utilizar la variable addProductsToCart mutación para añadir un producto agrupado con más de una opción de casilla de verificación a un carro de compras.
  • La indexación de precios de los productos agrupados ahora se ejecuta mediante tablas temporales, lo que evita el bloqueo de tablas de base de datos. Anteriormente, la aplicación utilizaba tablas físicas, lo que resultaba en tablas bloqueadas.
  • Ahora, el precio de un paquete de artículos se puede establecer en 0,00. Anteriormente, cuando se volvía a la página de edición después de establecer el precio en 0,00, el precio volvía a su valor predeterminado. GitHub-32383
  • Los detalles del pedido para pedidos que contienen productos agrupados ahora muestran el precio correcto para los productos agrupados si el precio se cambió antes de realizar el pedido.
  • El estado de stock del producto agrupado ahora se actualiza en función del estado de stock de sus productos secundarios. Anteriormente, los productos agrupados se mostraban como agotados cuando se eliminaba una opción del producto y el producto agrupado tenía dos opciones con el mismo SKU.
  • Un administrador ahora puede cambiar el valor de la variable de un producto del paquete Shipment Type después de que se haya movido a un grupo de atributos diferente. Anteriormente, este atributo siempre se guardaba con una Together valor si se movió a un grupo de atributos distinto del predeterminado en el conjunto de atributos.
  • El GraphQL setGuestEmailOnCart mutation ahora actualiza correctamente el correo electrónico de invitado. Anteriormente, las tablas de direcciones de presupuesto y presupuesto no se actualizaban.
  • Añadir, eliminar o actualizar un producto secundario a un producto del paquete a través de llamadas a la API de REST ahora déclencheur la reindexación según lo esperado. Anteriormente, estas acciones no tenían déclencheur para volver a indexar y, como resultado, el producto del paquete no cambiaba su estado de stock hasta que se realizaba una reindexación manual.
  • La aplicación ahora muestra el rango de precios correcto para los productos agrupados con precios de nivel. GitHub-30284
  • La aplicación ahora muestra el mismo precio total que se espera en la página del carro de compras y en la etapa de envío del flujo de trabajo de cierre de compra después de que haya cambiado el precio de una opción de paquete.
  • Ahora puede configurar correctamente un producto agrupado accediendo a él desde un carro de compras del cliente. Anteriormente, la página Configurar producto nunca se cargaba completamente y no se podía guardar la configuración.
  • Los comerciantes ahora pueden asignar un precio único para un paquete de productos en cada vista de tienda de una implementación de varias tiendas. Los precios específicos del sitio web se guardan en la catalog_product_bundle_selection_price tabla. Anteriormente, la aplicación no basaba el precio de un producto agrupado en el ámbito del sitio web ni siquiera cuando Tiendas > Configuración > Catálogo > Catálogo > Precio > Precios de catálogo se estableció en Website. No se han guardado precios específicos de sitios web en catalog_product_bundle_selection_price. GitHub-12584
  • Las facturas de productos agrupados ahora muestran la cantidad correcta para los productos simples asociados cuando Precios dinámicos está deshabilitada. Anteriormente, los productos simples asociados con el producto agrupado tenían la cantidad del producto principal, no el producto agrupado). GitHub-30802
  • El updateProductsInWishlist La mutación de ahora actualiza correctamente los elementos que pertenecen a un paquete de productos en una lista de artículos deseados. Anteriormente, en lugar de actualizar el elemento de la lista de artículos deseados, esta mutación eliminaba el elemento y creaba uno nuevo, que cambiaba el ID del elemento.
  • Ahora puede establecer la variable required_options y has_options atributos de paquete como se espera al crear o actualizar un producto de paquete mediante POST /V1/product/:sku punto final. Anteriormente, estos atributos personalizados se establecían en 0 (cero) a pesar de los esfuerzos por establecerlo en 1 (uno).
  • Los datos de producto del paquete que faltaban anteriormente ahora se incluyen en el proceso de ensayo. Esto resuelve las incoherencias en el comportamiento del producto cuando los compradores compraron un producto agrupado desde la página de lista de productos en lugar de agregarlo directamente desde una página de producto.

Caché

  • El varnish6.vcl se ha actualizado el archivo para omitir el almacenamiento en caché de la página del cliente.

CAPTCHA

  • CAPTCHA ahora valida correctamente los datos proporcionados por un comprador, y los campos CAPTCHA ahora se muestran como se espera después de los múltiples intentos fallidos de un comprador para pagar con PayPal Payflow Pro.
  • La validación CAPTCHA ya no falla aleatoriamente en la página de pago del flujo de trabajo de cierre de compra.
  • La aplicación ahora muestra los campos CAPTCHA como se espera después de superar el número de intentos de finalización fallidos. Anteriormente, aunque la aplicación le pedía que intentara volver a intentar el desafío CAPTCHA, no mostraba los campos CAPTCHA.
  • CAPTCHA ahora funciona como se espera en la página de cierre de compra. Anteriormente, después de que un comprador respondiera correctamente a un desafío CAPTCHA, el cargador de la página de cierre de compra nunca se completaba y la aplicación mostraba este error: captchaData[formId] is undefined. (Este error solo se producía cuando el comprador utilizaba el mismo explorador desde el que había accedido anteriormente a una implementación que ejecutaba 2.3.5-p1.)
  • _.isEmpty() comprobaciones en el defaultCaptcha.js el archivo ahora se completó correctamente. Anteriormente, estas comprobaciones no se completaban y, como resultado, la página de cierre de compra no se cargaba después de la actualización. GitHub-31641

Carro y cierre de compra

  • La aplicación ahora tiene en cuenta las ubicaciones decimales específicas de la configuración regional al convertir y actualizar la cantidad de productos en el carro de compras.
  • Los pedidos ya no omiten un nombre de cliente proporcionado con una dirección de envío. Anteriormente, los nombres se omitían porque la variable same_as_billing el indicador no se ha guardado en la base de datos.
  • Los vínculos a los registros de regalos ahora persisten como se espera cuando edita un producto en el carro de compras. Anteriormente, estos vínculos desaparecían al hacer clic en Actualizar carro botón.
  • Todos los mensajes en cola para el consumidor quoteItemCleaner ahora cambian su estado a complete como se espera después de la eliminación de varios productos. Anteriormente, solo un mensaje para este consumidor cambiaba su estado a completey el resto cambió de estado a in progress.
  • La aplicación ahora muestra el mensaje de validación de los Términos y condiciones en el bloque correspondiente solo cuando un comprador hace clic en Realizar pedido botón. Anteriormente, la aplicación mostraba este mensaje en el bloque Aplicar código de descuento cada vez que un comprador cambiaba el método de pago en el flujo de trabajo de cierre de compra: The order wasn't placed. First, agree to the terms and conditions, then try placing your order again.
  • Ahora se le redirigirá a la página de cierre de compra como se espera después de agregar un producto agrupado al carro de compras desde una vista previa de Programar actualización y hacer clic en el carro de compras. GitHub-447
  • La aplicación ahora descarta los cambios realizados en el formulario de dirección de facturación en el paso de pago de cierre de compra si el comprador no hace clic en Actualizar y volvió a la etapa de envío.
  • La aplicación ahora muestra un mensaje de error informativo y no actualiza la cantidad del producto cuando un comprador añade una cantidad de producto no válida y hace clic en Actualizar artículos y cantidades en la página Administrar carro de compras. Anteriormente, la aplicación actualizaba la cantidad de productos y no mostraba un mensaje de error. GitHub-459
  • Productos con una opción personalizable (File) ahora, incluya los vínculos activos esperados durante el proceso de cierre de compra de envío múltiple. Anteriormente, faltaba este vínculo. GitHub-31095
  • El carro de compras Administrador ahora muestra los precios de los productos en las monedas correctas para las tiendas que admiten varias monedas. Anteriormente, los precios se convertían a la moneda especificada más de una vez: primero, cuando se agregaban productos al carro de compras desde la tienda y, después, cuando el pedido se procesaba posteriormente en el administrador.
  • La aplicación ahora vacía el carro de compras como se espera después de que un administrador complete un pedido del administrador creado por un comprador en la tienda. Anteriormente, cuando el cliente volvía a iniciar sesión después de que el administrador completara el pedido, el carro de la tienda seguía conteniendo contenido del pedido. GitHub-30262
  • Los compradores ahora pueden agregar un producto al carro de compras cuyo precio mínimo anunciado (MAP) exceda su precio normal del producto.
  • Los compradores ahora pueden cambiar correctamente su dirección de facturación del flujo de trabajo de cierre de compra al realizar el cierre de compra con varias direcciones.
  • Todas las transacciones de pago creadas por los invitados ahora se guardan en la base de datos y son visibles en el Administrador según lo esperado. Anteriormente, solo se guardaba un pequeño subconjunto de pedidos simultáneos en la base de datos y la mayoría de los pedidos se perdían debido a los tiempos de espera resultantes de los bloqueos de la base de datos. GitHub-25862
  • La aplicación ahora muestra correctamente los mensajes de bienvenida en línea que contienen caracteres especiales cuando un invitado coloca un producto en el minicarrito. Anteriormente, la aplicación no agregaba el producto al minicarrito ni mostraba el mensaje de bienvenida. GitHub-32250
  • La página de envío del flujo de trabajo de cierre de compra ahora se carga correctamente cuando la entrega en tienda está activada. Anteriormente, la aplicación arrojaba un error de JavaScript y la página de cierre de envío no se representaba completamente.
  • Se ha añadido la itemResolvers argumento al catálogo di.xml archivo. Como resultado, el cierre de compra ya no se interrumpe si los módulos de producto configurables y agrupados están desactivados. GitHub-30860
  • La aplicación ahora muestra los botones de opción en la Información de pago y envío como se espera durante el flujo de trabajo de reorganización de administradores. GitHub-30257
  • La aplicación ahora aplica correctamente las reglas de precio del carro de compras con un descuento fijo de nivel de carro de compras cuando el carro de compras contiene un producto agrupado con varias opciones. Anteriormente, la regla de precio del carro de compras no se aplicaba completamente al pedido. GitHub-30952
  • El Añadir al carro de compras ahora, el botón de la vista de lista de categorías funciona según lo esperado. GitHub-32232
  • Ahora puede utilizar el POST /V1/carts/mine/items para agregar una cantidad personalizada de productos agrupados a un carro de compras. GitHub-26909
  • La aplicación ya no rellena el área de la dirección de facturación del flujo de trabajo de cierre de compra con la dirección de envío. Anteriormente, cuando Estado/Provincia el campo de la dirección de facturación estaba vacío y las direcciones de envío y facturación diferían, la aplicación rellenaba la dirección de facturación Estado/Provincia con información de la dirección de envío. GitHub-31608
  • Actualización masiva de Activar incrementos de cantidad y Incrementos de cantidad ahora funcionan según lo esperado. GitHub-29544
  • Ahora puede duplicar correctamente un catálogo compartido que contenga SKU solo numéricas. Anteriormente, la aplicación arrojaba un error cuando intentaba duplicar un catálogo compartido porque la variable \Magento\Catalog\Model\ProductIdLocator La clase no funcionaba correctamente con SKU solo numéricas.
  • La aplicación ya no genera un error de JavaScript después de habilitar la sincronización de productos recientes con el administrador. Anteriormente, la aplicación mostraba este error de JavaScript: Cannot read property 'status' of undefined.
  • Las actualizaciones del diseño del tema personalizado ahora se aplican según lo esperado. Anteriormente, las actualizaciones de diseño de temas personalizados se omitían.
  • La caché de categorías de productos ahora se borra según lo esperado por cron durante indexer_update_all_views ejecución. Anteriormente, los recuentos de productos en la página Categoría después de la reindexación eran incorrectos.
  • Los valores de atributo ahora permanecen inalterados cuando no se especifica un atributo en una solicitud de API de REST de actualización de producto para una vista de tienda. Anteriormente, si no se especificaba un atributo, la aplicación restablecía el valor del atributo a su valor de ámbito predeterminado.
  • La cuadrícula de productos de administración (Administrador) Catálogo > Productos) ahora muestra el recuento de productos correcto cuando los productos se filtran por SKU.
  • La aplicación ahora muestra un estado de stock preciso cuando se agrega un producto a una página de CMS cuando los permisos de categoría están habilitados y evita la visualización del precio para el grupo del cliente especificado. Anteriormente, todos los productos se mostraban agotados, independientemente del estado real de las existencias.
  • El campo de entrada de precio del bloque de precios del grupo de clientes de precios avanzados ahora tiene una anchura mínima de cinco dígitos. Anteriormente, solo se veían dos símbolos en este campo en pantallas de baja resolución.
  • La aplicación ahora elimina correctamente una imagen multimedia del producto después de eliminar un producto. Anteriormente, la imagen multimedia del producto permanecía en la carpeta después de eliminar correctamente el producto.
  • El diseño de la página ahora se actualiza según lo esperado al crear o editar un producto en el Administrador y, a continuación, crear una actualización de diseño de programación. GitHub-32007
  • Ahora, un atributo de producto personalizado con un valor de cero se puede guardar correctamente como en blanco. Anteriormente, la aplicación no actualizaba este valor a en blanco.
  • Los archivos de actualización de diseño de categoría personalizada ahora se aplican a los productos según lo esperado. Anteriormente, el identificador del archivo de actualización (catalog_category_view_*) no coincide con el identificador del producto. GitHub-27285
  • Se ha deshabilitado la ordenación para la columna Impuesto de producto fijo (FPT) de la lista Productos de administración. Anteriormente, la página Productos no se podía volver a cargar después de ordenar la columna FTP.
  • La vista previa del widget de productos de Page Builder ahora funciona como se espera en una implementación de varios sitios web cuando los productos coincidentes tienen un precio diferente en cada sitio web.
  • Clasificación por posición en la búsqueda de productos mediante GET /rest/V1/products/?searchCriteria[filterGroups] ahora funciona según lo esperado. Anteriormente, la colección de productos no tenía ningún campo position valor para ordenar. GitHub-31591
  • Los usuarios administradores ahora pueden ver espacios dobles en la Nombre y SKU campos en la cuadrícula de producto. Anteriormente, la aplicación contraía varios espacios en uno solo.
  • Los productos ahora aparecen como agotados en la tienda cuando la cantidad vendible en el administrador es 0. Anteriormente, estos productos aparecían como disponibles en la tienda y la aplicación mostraba un activo Añadir al carro de compras botón. GitHub-31117
  • Los administradores ahora pueden agregar productos con opciones personalizables (File) a la cuadrícula Artículos pedidos desde la sección Carro de compras (columna Actividades del cliente) de la página Administrador del cliente. Anteriormente, la aplicación no agregaba el elemento a la lista porque el valor no tenía el formato correcto antes de insertarse en \Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions.
  • La aplicación ya no pide a los compradores que seleccionen una opción de producto para un producto agrupado que solo tiene una opción.
  • La aplicación ahora muestra todas las subcategorías en las actualizaciones de diseño (categorías de anclaje y no anclaje) durante la creación de un nuevo widget.
  • El product query ya no sobrescribe los valores predeterminados de todas las vistas de tienda en una implementación de varias tiendas cuando se actualiza un nombre de producto solo para una vista de tienda. GitHub-31083
  • Adobe Commerce actualiza el recuento total de páginas según lo esperado cuando cambia el valor por página de la lista Productos relacionados con el administrador, Aumentar ventas y Realizar ventas cruzadas. GitHub-31059
  • Los administradores ahora pueden agregar productos con dos o más opciones personalizables (File) a un pedido por SKU.
  • La aplicación ya no genera un error cuando un administrador con permisos restringidos agrega un widget de producto a una página de CMS en el Administrador. Anteriormente, la aplicación arrojaba este error cuando el administrador hacía clic en Guardar botón: We are sorry, an error has occurred while generating the content.
  • Las páginas de detalles del producto ahora se abren con la opción personalizable de fecha rellenada con la fecha del pedido anterior en que Usar calendario JavaScript está activada. El solucionador de valores de la opción de fecha personalizada ahora vuelve a un formato alternativo si el valor no tiene un formato basado en la configuración actual. Anteriormente, el valor de la opción de fecha personalizada estaba vacío.
  • La aplicación ahora solo muestra un error en el carro de compras cuando el producto está agotado. Anteriormente, la aplicación mostraba mensajes redundantes. GitHub-27469
  • Los administradores ahora pueden añadir un producto con una opción personalizable (File) a un pedido por SKU. GitHub-30285
  • Ahora puede guardar un producto y un precio sin especificar type_id. GitHub-13639
  • Los productos de grupo ahora están disponibles en la tienda como se espera cuando se produce un REST PUT /V1/products/:sku/links La solicitud se utiliza para asociar un nuevo producto secundario con un nuevo producto de grupo. Anteriormente, los productos no se indexaban correctamente después de ejecutar bin/magento cron:run.
  • Ya no puede crear un producto con una NULL Valor de SKU. Anteriormente, se podía crear un producto sin un valor de SKU a través de un importador personalizado o directamente en la base de datos, pero cuando se intentaba editarlo desde el administrador, la aplicación arrojaba un error. GitHub-27411, GitHub-32525
  • Al añadir las opciones personalizadas necesarias a un producto simple, ya no se eliminará de los productos compuestos principales sin previo aviso. La aplicación ahora muestra una advertencia informativa y no guarda el producto. Anteriormente, la aplicación guardaba los cambios del producto y no mostraba una advertencia. GitHub-30492
  • El products La consulta ahora devuelve los valores actuales cuando se aplica una regla de precios de catálogo a un artículo. GitHub-26738
  • Tablas temporales que comienzan con catalogrule_product__temp ahora se eliminan según lo esperado cuando la reindexación falla después de que caduque un carro de compras o una regla de catálogo, esté deshabilitada o quede inactiva. GitHub-22273
  • Ahora, las zonas horarias se aplican del mismo modo en \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById y \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds. GitHub-29549

Contenido de CMS

  • Las imágenes grandes ahora cambian de tamaño según lo esperado durante la carga cuando el Habilitar redimensionado de front-end La opción de configuración está habilitada.
  • Se ha corregido el control de errores del controlador de guardado de páginas de CMS. Anteriormente, cuando una Error se ha lanzado un objeto en cms_page_prepare_save , la aplicación pasó este objeto al addExceptionMessage función, rompiendo su contrato porque esta función espera un Exception. Esto se resolvió añadiendo un mensaje de error con la variable addErrorMessage función. GitHub-30149
  • Ahora puede asignar una nueva página a varios nodos desde la pestaña CMS Editar jerarquía de página. Anteriormente, se producía una infracción de restricción única al intentar asignar la página a un nodo. GitHub-363

Productos configurables

  • La aplicación ya no duplica miniaturas de productos en la galería de imágenes de un producto cuando hace clic en las opciones configurables de un producto.
  • La ventana emergente de configuración que muestra la aplicación cuando está editando un producto configurable desde una lista de artículos deseados ahora se cierra como se espera cuando hace clic en el botón OK botón.
  • La aplicación ahora genera correctamente facturas para pedidos que contienen solo un producto configurable. GitHub-31143
  • Los compradores ahora pueden agregar productos configurables al carro de compras desde una vista de tienda no predeterminada. Anteriormente, cuando el comprador de una vista de tienda no predeterminada intentaba agregar un producto configurable, la aplicación mostraba este error: Could not add item to cart. Please check required options and try again. GitHub-31660

Política de seguridad de contenido (CSP)

  • La Política de seguridad de contenido ahora admite la carga de imágenes y fuentes codificadas en Base64 mediante data: scheme.

cron

  • Las consultas de limpieza de Cron se han refactorizado para reducir o eliminar los siguientes problemas de rendimiento: cron trabajos que permanecen atascados en un estado pendiente, consultas MySQL cada vez más lentas y un aumento en el uso de la CPU. GitHub-26507
  • cronjobs que han estado en estado running durante más de 24 horas ahora se cambian automáticamente al estado error. Como resultado, se puede volver a ejecutar una nueva instancia de ese trabajo y no es necesario cambiar manualmente el estado del trabajo cuando un trabajo permanece establecido incorrectamente en el estado running. Anteriormente, si cronjob se quedaron atascados en el estado runningSin embargo, la aplicación impedía que se iniciaran nuevas instancias del mismo trabajo y tenía que cambiar manualmente el estado del trabajo. GitHub-8933
  • cron los trabajos ahora se completan según lo esperado y ya no arrojan este error de serialización: [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'). GitHub-18409
  • indexer_update_all_views los trabajos cron ahora se ejecutan como se espera después de un error anterior. La ejecución fallida se marca como un error en el cron_schedule schedule, y la ejecución posterior no falla automáticamente. Anteriormente, la variable cron_schedule tabla rellenada con trabajos pendientes y indexer_update_all_views el trabajo cron no se ha ejecutado. GitHub-23054
  • cron los interbloqueos ya no se producen como resultado de cron intentando bloquear implementaciones grandes en las que los grupos se superponían. GitHub-8933
  • cron los interbloqueos ya no se producen en cron_schedule después de unos pocos cron se han ejecutado los trabajos. GitHub-22438

Atributos del cliente personalizados

  • El Estado El campo de la libreta de direcciones de la cuenta del cliente de la tienda ahora se carga como y sigue siendo un elemento de página desplegable. El Enviar ahora está desactivado hasta que todos los elementos de la página se hayan cargado completamente. Anteriormente, la aplicación cargaba este campo como un cuadro de texto antes de procesarlo como un elemento desplegable y los compradores podían introducir y guardar valores en el campo de texto, lo que posteriormente provocaba un error durante la desprotección.
  • La aplicación ahora muestra correctamente los atributos de dirección del cliente personalizados en las páginas de la tienda y del pedido del administrador. Anteriormente, la opción seleccionada del atributo desplegable no aparecía en la sección Información de dirección y el valor del atributo de entrada contenía el código de atributo. GitHub-508
  • La aplicación ya no genera un error cuando se guarda un atributo de dirección del cliente con un archivo adjunto en el campo Dirección del cliente del administrador al cargar archivos. Esto se produjo debido a la falta de una instrucción return en la acción del controlador. Anteriormente, la aplicación arrojaba este error: Something went wrong while saving the file.
  • Las llamadas a la API del carro de GET de REST ahora devuelven valores de atributo personalizados correctos para las direcciones de facturación y envío. Anteriormente, los atributos de direcciones personalizadas se mostraban incorrectamente en la página de detalles de pedidos de la página Mi tienda de cuentas y en el Administrador.
  • La aplicación ahora administra correctamente archivos que contienen atributos de dirección de cliente con tipo de entrada file (attachment). Anteriormente, la aplicación arrojaba este error durante la carga del archivo adjunto: Something went wrong while saving the file.

Cliente

  • El correo electrónico de crédito de almacenamiento ahora tiene en cuenta el ámbito seleccionado y se envía desde la dirección de correo electrónico correcta.
  • El filtrado por fecha de creación de cuenta ahora produce resultados que cumplen con la configuración de zona horaria configurada y que capturan todas las cuentas creadas relevantes.
  • El filtro de cuadrícula de cliente ahora utiliza una opción de sitio web correcta para un usuario restringido si los datos se almacenaron en caché anteriormente. Anteriormente, el filtro de cuadrícula del cliente recuperaba parámetros de sitio web de la caché e incluía datos incorrectos para usuarios restringidos.
  • La aplicación ya no genera una excepción en la página Admin Customers cuando se elimina un sitio web en una implementación de varios sitios web. Anteriormente, cuando un administrador intentaba acceder a la lista completa de clientes, la aplicación no mostraba todos los clientes y mostraba este error: The website with id 2 that was requested wasn't found. Verify the website and try again.
  • Los administradores con permiso ahora pueden reasignar clientes a distintos sitios web desde la pestaña Información de la cuenta del cliente.
  • Ahora puede cargar un archivo correctamente al crear un atributo de dirección del cliente con un tipo de entrada de (File). Anteriormente, al intentar cargar y guardar un archivo, la aplicación arrojaba este error: Something went wrong while saving the file.

Segmento de cliente

  • La aplicación ahora muestra productos relacionados basados en segmentos de clientes en la tienda, según lo esperado. Anteriormente, la aplicación no mostraba esta sección cuando se creaba una regla de productos relacionada para segmentos de clientes específicos.
  • Los bloques dinámicos ahora se muestran para los clientes registrados en sus carros de compras cuando el segmento de clientes correspondiente se aplica tanto a los invitados como a los clientes registrados. Anteriormente, la aplicación solo mostraba el bloque para invitados.
  • Los segmentos de clientes ahora se actualizan automáticamente después de realizar un pedido desde el administrador. Anteriormente, después de crear un pedido de administrador, el usuario administrador tenía que actualizar manualmente los datos de segmentos relacionados navegando a segmentos de clientes relacionados y haciendo clic en Actualizar datos del segmento botón.
  • La aplicación ahora muestra bloques dinámicos en el carro de compras para todos los clientes en los segmentos de clientes relevantes. Anteriormente, los invitados no veían un bloque incluso cuando el segmento de clientes incluía clientes y clientes registrados.
  • Problemas de rendimiento de la base de datos resultantes de reglas de segmentación de clientes que utilizan el Product was Ordered se han resuelto las condiciones.
  • Se ha añadido un observador de eventos de segmentos de clientes para la API de REST/SOAP. Como resultado, los segmentos de clientes ahora se actualizan automáticamente según lo esperado si los criterios definidos en los segmentos coinciden cuando los pedidos se realizan a través de la API REST/SOAP.
  • Se ha agregado un procesador de eventos de segmentos de clientes para las solicitudes de GraphQL. Anteriormente, los descuentos de regla de precios de carro de compras no se aplicaban al carro de compras cuando se usaba un segmento de cliente en una condición de regla de precios de carro de compras. GitHub-371

Directorio

  • La aplicación ya no genera una excepción cuando un comprador introduce un código postal no válido durante la sección de envío del flujo de trabajo de cierre de compra. GitHub-23371

Descargable

  • La aplicación ahora muestra vínculos a productos descargables en el correo electrónico Nuevo pedido cuando el pedido contiene un producto descargable y un producto configurable con una opción descargable. Anteriormente, la aplicación mostraba el vínculo al producto descargable independiente, pero no el vínculo al producto configurable con una opción descargable.

Bloque dinámico (anteriormente banner)

  • Los bloques dinámicos ahora solo se muestran en la página especificada. Anteriormente, la aplicación mostraba todos los titulares asignados al widget en todas las páginas si no se especificaba ningún bloque dinámico.
  • Ahora puede guardar bloques dinámicos con contenido vacío.

EAV

  • Los valores de fecha de atributo de dirección del cliente ahora se guardan en formato de cuatro dígitos en lugar de formato de dos dígitos.

Correo electrónico

  • El vínculo para restablecer la contraseña en la página de restablecimiento de contraseña de administrador ahora funciona según lo esperado. Anteriormente, cuando se utilizaba una plantilla personalizada para la página restablecer contraseña de administrador, la aplicación mostraba este mensaje cuando un administrador hacía clic en el vínculo dentro del correo electrónico: Your password reset link has expired. Esto ocurría porque la plantilla de correo electrónico personalizada contenía la variable incorrecta para el ID de usuario.
  • El envío de correos electrónicos de clientes desde el administrador ahora funciona correctamente cuando se habilita en el nivel de vista de tienda. Anteriormente, la aplicación no enviaba correos electrónicos a los clientes cuando la configuración de las notificaciones por correo electrónico se habilitaba en el nivel de vista de tienda, pero no en el nivel global.
  • La aplicación ahora envía correos electrónicos como se espera en implementaciones de varios sitios en las que no todos los sitios web han habilitado el envío asincrónico de correos electrónicos. Anteriormente, si al menos un sitio web tenía esta configuración deshabilitada, no se enviaba correo electrónico desde ningún sitio web, incluso cuando estaba habilitada. Los correos electrónicos de factura, envío y nota de abono tenían problemas similares. Sin embargo, los correos electrónicos Comentarios sobre pedidos, Comentarios sobre facturas, Comentarios sobre envíos y Comentarios sobre notas de abono se han enviado correctamente. GitHub-31950
  • El mensaje de correo electrónico que envía la aplicación cuando comparte un registro de regalos del administrador contiene ahora un vínculo válido a la ubicación del registro. Anteriormente, este vínculo provocaba un error 404. GitHub-504
  • Las facturas y los PDF de facturas ahora incluyen los mismos precios para los productos agrupados que se espera. Anteriormente, los PDF de facturas incluían el precio incorrecto de los productos agrupados. GitHub-12856
  • La conversión de cadenas se ha agregado al método de filtro de la plantilla de correo electrónico para garantizar que el valor devuelto sea un string. Anteriormente, cuando se detectaba una excepción sin estar en modo de desarrollador, la aplicación devolvía un phrase objeto. Esto, a su vez, desencadenó un error fatal Uncaught TypeError. GitHub-32671
  • Los correos electrónicos de confirmación de pedido ahora se envían según lo esperado cuando el envío asincrónico está habilitado (Tiendas > Configuración > Ventas > Correos electrónicos de ventas > Configuración general > Envío asincrónico) en un sitio web en una implementación de varios sitios. GitHub-31950
  • La aplicación ahora registra un error como se espera cuando se produce una excepción cuando un cliente intenta enviar un correo electrónico desde el formulario de contacto. GitHub-23645

Marcos

  • Ahora se comprueba la existencia de anotaciones docblock en las clases principales del administrador junto con la clase original y las interfaces heredadas. Anteriormente, como las clases principales no se comprobaban, la realización de cualquier acción relacionada con el cliente en el Administrador que activaba un evento provocaba un error. La aplicación registró este error en el registro de excepciones: report.CRITICAL: Method's return type must be specified using @return annotation..
  • La aplicación ya no genera un error grave cuando el servidor Redis se detiene en una implementación en la que el almacenamiento en caché de páginas Redis está habilitado.
  • La aplicación ahora respeta el Excluir carpeta de medios de la copia de seguridad configuración cuando la copia de seguridad está habilitada con bin/magento config:set system/backup/functionality_enabled 1. Anteriormente, se hacía una copia de seguridad de la carpeta de medios a pesar de esta configuración porque la ruta a /magento se formó incorrectamente con un doble //.
  • La aplicación ahora traduce todas las cadenas traducibles como se espera para la página del carro de administración. Anteriormente, la carga de traducción se producía demasiado tarde y omitía todos los observadores suscritos a la acción de controlador antes del envío. GitHub-31849
  • La validación del formulario en la página Crear nueva cuenta de cliente ahora funciona correctamente cuando la variable Iniciar sesión como cliente habilitar extensión está deshabilitada. Anteriormente, la aplicación arrojaba un error de JavaScript.
  • Uso de bin/magento setup:db-schema:split-sales para mover tablas de base de datos ahora funciona según lo esperado. Ahora, las tablas se crean y rellenan correctamente con datos. Anteriormente, como la comprobación de la existencia de la tabla era incorrecta, la aplicación arrojaba SQLSTATE errores al ejecutar bin/magento setup:db-schema:split-sales.
  • Tratamiento de excepciones para procesos secundarios bifurcados por ProcessManager se ha mejorado. Cuando ahora se produce una excepción, se sale del proceso principal y se muestra un mensaje de error solo una vez. Anteriormente, se registraban varios errores de indizador y se mostraban varios mensajes. GitHub-30622
  • Complementos globales de Adobe Commerce (por ejemplo, webapi_rest y graphql ) ya no se activan para un nuevo tipo de área personalizada cuando di.xml de este archivo de área no contiene complementos registrados.
  • Las excepciones que se producen durante la inicialización ya no se almacenan en caché y ahora almacenan en déclencheur un código de respuesta 500.
  • Los comerciantes ahora pueden asignar o eliminar una imagen desde y hacia un evento de catálogo según la vista de la tienda. Anteriormente, cuando se cambiaba la vista de la tienda al editar un evento de catálogo, la variable Eliminar imagen La casilla de verificación no estaba activa y la aplicación mostraba este error: Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick. GitHub-364
  • El último controlador se combinó en una communication.xml ya no reemplaza todos los controladores creados anteriormente. GitHub-29528

Correcciones generales

  • La aplicación ahora muestra el número correcto de estrellas en la página Mis críticas de producto y en la página Mi cuenta revisiones recientes. Anteriormente, la aplicación solo aplicaba las estrellas de revisión a la primera revisión y dejaba sin protagonizar las demás revisiones de la página.
  • Los vínculos de cuenta en los encabezados ahora siguen los estándares WCAG. Anteriormente, los vínculos de cuenta en los encabezados contenían ID duplicados, lo que provocaba que fallara la validación de WCAG.
  • La aplicación ahora guarda las fechas de los eventos del catálogo en las zonas horarias UTC. Anteriormente, la aplicación guardaba las fechas de eventos de catálogo en el huso horario del usuario.
  • La aplicación ya no genera errores generados por el registro del sistema cuando un comprador invitado utiliza una dirección no válida. Anteriormente, la aplicación mostraba este error de forma intermitente en lugar de procesar la página: No such entity with addressId. GitHub-15115
  • El proceso de cambio de tamaño de la imagen ya no se detiene para las imágenes en formato no compatible. Anteriormente, cuando catalog:images:resize ha encontrado un formato de imagen no compatible, el proceso se ha detenido y la aplicación ha mostrado este error: bin/magento catalog:images:resize Unsupported image format.
  • Se ha agregado compatibilidad con WEBP y AVIF para imágenes de logotipo al administrador. GitHub-32495
  • Ya no puede cambiar el ámbito del media_gallery atributo. Anteriormente, cuando se cambiaba el ámbito del media_gallery volver a atribuir a global, la aplicación ha devuelto un error.
  • Los productos relacionados que se agregaron como una actualización programada ya no se muestran en la página de productos de una tienda después de la fecha de finalización de la actualización. GitHub-469
  • La aplicación ahora muestra un mensaje informativo y preciso al hacer clic en Administrar elementos en la página Registro de regalos de Mi cuenta y los productos del Registro no están disponibles. Anteriormente, la aplicación arrojaba este error: Error: Call to a member function getId() …. GitHub-490
  • Ahora puede agregar una página de CMS desde la página Agregar nueva página a la jerarquía raíz del sitio web según lo esperado.
  • El filtrado ahora funciona como se espera en la lista de exportaciones programadas cuando se selecciona el tipo de entidad. Anteriormente, el filtro no funcionaba y la aplicación arrojaba un error de JavaScript. GitHub-361
  • Las imágenes de categoría ahora se copian según lo esperado del catalog/tmp/category al directorio catalog/category cuando las categorías se guardan mediante el método de almacenamiento de la base de datos. La fila de la imagen en media_storage_file_storage ahora, la tabla también tiene el directory_id. GitHub-11995
  • Ahora se notifica a los comerciantes sobre las cachés invalidadas según lo esperado después de enviar cambios a la jerarquía de CMS. Anteriormente, la aplicación no invalidaba las cachés al guardar la jerarquía de CMS.
  • AJAX Se han reducido las solicitudes de redundantes a la sección del carro de compras. Anteriormente, la aplicación no cargaba correctamente el subtotal del carro de compras, lo que activaba la recarga de nuevo.
  • En implementaciones que ejecutan PHP 7.4, la aplicación devuelve ahora un error 404 cuando la variable Generar reescrituras de URL de "categoría/producto" se establece en No y un comprador intenta acceder a una ruta de categoría inexistente. Anteriormente, la aplicación devolvía un error 500 que indicaba: Trying to access array offset on value of type bool. GitHub-31984
  • Ahora puede editar correctamente un producto que se haya creado con un conjunto de atributos desde el que Grupo De Diseño Y Programar Actualización De Diseño grupos se han eliminado. Anteriormente, al intentar editar un producto creado a partir de ese conjunto de atributos, la aplicación arrojaba un error grave. GitHub-44
  • nowdoc ha reemplazado heredoc en el Magento_Backend cambiador de tienda. GitHub-32262
  • Ahora se redirige directamente a los administradores a la página de administración solicitada después de iniciar sesión. Anteriormente, cuando un administrador iniciaba sesión, se le redirigía al tablero de administración (o a cualquier página configurada como página de inicio) y tenía que desplazarse manualmente a su destino. GitHub-31042
  • Se agregaron las regiones de Argentina, Bolivia, Chile, Ecuador, Guyana, Paraguay, Perú, Surinam y Venezuela a la directory_country_region tabla. GitHub-31169
  • Se agregaron Albania, Dinamarca, Grecia, Islandia, Portugal y Suecia a las regiones de directory_country_region tabla. GitHub-31040
  • Los mensajes ahora se marcan como errores en la cola de mensajes de MysqlMQ cuando se producen excepciones. GitHub-18140
  • La aplicación ahora hace referencia al objeto de clase correcto al cargar la información de impuestos para las páginas de nota de abono de administrador y factura. GitHub-31197
  • La integración de Royal Mail Click & Drop ahora funciona según lo esperado. Anteriormente, la aplicación arrojaba este error cuando intentaba activar esta integración: Sorry! Something went wrong. Please try again later. GitHub-28996
  • La aplicación ahora muestra un mensaje de error informativo cuando se pasa un envío, una nota de abono o un ID de factura incorrectos en una dirección URL. Anteriormente, la aplicación arrojaba un error grave. GitHub-30424
  • Se ha eliminado la recursión en la ubicación de los archivos estáticos. La aplicación ahora muestra una página 404 en lugar de un error 500. Anteriormente, un error en la configuración predeterminada de NGINX provocaba una recursión infinita. GitHub-31530
  • El nombre del cms_index_noroute.xml el archivo se ha corregido a cms_noroute_index.xml. GitHub-31300
  • El .editorconfig se ha refactorizado para corregir el formato automático de db_schema_whitelist.json archivos. GitHub-31171
  • El cambio de tamaño de una ventana del explorador ya no almacena en déclencheur los eventos de lupa de enlace duplicados. GitHub-30788
  • La aplicación ya no emite una excepción SQL al filtrar Magento\Users\Model\ResourceModel\Users\Collection por user_id. GitHub-31216

Tarjetas de regalo

  • Los cargos por pago pendiente ahora se eliminan de una tarjeta regalo como se espera cuando se cancela una tarjeta regalo. Anteriormente, la aplicación arrojaba un error cuando cron se ejecutó después de eliminar la tarjeta regalo.
  • Los compradores ahora pueden retirar tarjetas de regalo de un pedido en la página Revisar pedido al realizar el registro con varias direcciones. Anteriormente, la aplicación no quitaba la tarjeta regalo del pedido cuando el comprador seleccionaba la tarjeta y luego hacía clic en Eliminar.
  • La aplicación ahora muestra el nuevo precio de una tarjeta de regalo en el carro de compras cuando cambia el valor de la tarjeta después de agregarla al carro de compras.
  • Se ha añadido la lógica de validación de intervalo de precios a la página de creación de tarjetas regalo. Anteriormente, un administrador podía crear una tarjeta con un valor mínimo que superara el valor máximo. GitHub-493
  • El addRequisitionListItemsToCart La consulta ahora devuelve la cantidad de una tarjeta regalo personalizada como se espera cuando la solicitud no contiene un valor para allow_open_amount.

Mensaje de regalo

  • El setGiftOptionsOnCart La mutación ahora crea correctamente mensajes de regalo. GitHub-388

Registro de regalos

  • Fecha del evento Los valores de ahora son los mismos en la tienda y en el Administrador durante la creación o edición del registro de regalos. Anteriormente, cada vez que editaba y guardaba el registro de regalos, la aplicación ajustaba el Fecha del evento un día hacia atrás tanto en la tienda como en el administrador. GitHub-466
  • La aplicación ya no muestra los productos desactivados en los registros de regalos. Anteriormente, si un producto se deshabilitaba después de agregarse a un registro de regalos, la aplicación mostraba este mensaje cuando un comprador accedía al registro: Error: Call to a member function getId() …. GitHub-510

Envoltorio para regalos

  • La traducción de las etiquetas de los envoltorios para regalos para las vistas de la tienda ahora funciona según lo esperado.
  • El envoltorio para regalos ahora se aplica como se espera a los pedidos que se envían a varias direcciones.
  • La aplicación ahora elimina los cargos por envoltorio para regalos del carro de compras cuando se han eliminado todos los productos.
  • Los totales de nota de abono ahora son correctos cuando la nota de abono contiene envoltorio para regalos y cargos configurables por productos. Anteriormente, el importe de impuestos del envoltorio para regalos no siempre se incluía en el total de la nota de abono. GitHub-34

Google Analytics

  • La aplicación ya no genera un error cuando un administrador intenta cargar una página en la tienda cuando los Google Analytics están activados. Una entrada CSP para connect-src AJAX se ha agregado para permitir solicitudes de to www.google-analytics.com. GitHub-30880

Google Tag Manager

  • El componente IU para la dirección de facturación en la página de pago del flujo de trabajo de cierre de compra ahora utiliza correctamente la dirección de oferta cuando Google Tag Manager está habilitado. Anteriormente, se producía un error de JavaScript en la página de pago.

GraphQL

  • El GraphQL products query ahora devuelve opciones de atributo que se ordenan en el mismo orden utilizado en la página de edición de atributos.
  • La respuesta a la { category(id: 2){ children { name children { name } } } } La solicitud de GraphQL ahora incluye un árbol de categorías ordenado correctamente.
  • El CartItemPrices ahora contiene el nuevo campo de GraphQL fixed_product_taxes, que devuelve una matriz de impuestos de productos fijos que se aplican a un elemento del carro de compras. Anteriormente, los impuestos de producto fijos aplicados a un elemento del carro de compras no se incluían en la consulta del carro de compras.
  • Las solicitudes vacías a GraphQL ahora emiten el código de respuesta 200 en lugar de 500. Anteriormente, el analizador de GraphQL arrojaba una excepción antes de que se generara el resultado de la consulta.
  • El applyRewardPointsToCart la mutación ahora actualiza el total general de un carro de compras para reflejar con precisión el valor de los puntos de recompensa deducidos. GitHub-486
  • Los productos desactivados ya no se incluyen en la respuesta de GraphQL cuando GraphQL se utiliza para vincular productos de ampliación de venta.
  • Los comerciantes ahora pueden utilizar GraphQL setShippingAddressesOnCart método para establecer las direcciones de facturación y envío del carro de compras de un comprador cuando el cierre de compra de un invitado está deshabilitado.
  • El categoryList La consulta ya no genera una excepción cuando contiene varios fragmentos en CategoryTree objeto. GitHub-31086
  • El GraphQL product query ahora devuelve los precios correctos del grupo de clientes.
  • El GraphQL products la respuesta de consulta ahora ordena las agregaciones según la posición del atributo del producto.
  • La aplicación ya no emite errores de tipo durante las consultas de GraphQL cuando los sufijos de URL de productos y categorías contienen valores nulos. GitHub-30909
  • El CustomizableDateValue ahora contiene el objeto type atributo. Su valor es una enumeración que se puede establecer en DATE, DATE_TIME o TIME.
  • El dynamicBlocks query devuelve el contenido de bloques dinámicos que coinciden con los filtros especificados.
  • El POST V1/products/special-price-delete La solicitud ahora elimina solo el precio con un especificado store_id como se esperaba. Anteriormente, la llamada eliminaba todos los precios especiales para el SKU especificado de todas las tiendas. GitHub-25907
  • Se ha corregido un error con country_code en el createGiftRegistry mutación.
  • Se han corregido problemas con giftRegistryUid atributo del updateGiftRegistryItems mutación.
  • Se ha añadido una comprobación adicional para evitar que updateGiftRegistryRegistrants mutación de ser utilizada para agregar personas aleatorias como inscritos a un registro de regalos.
  • El addConfigurableProductsToCart La mutación ahora devuelve la miniatura correcta del producto especificado. Anteriormente, devolvía la miniatura del producto principal.
  • El products La consulta ya no expone el precio especial de un producto cuando el período de precio especial se establece para una fecha futura. GitHub-30210, GitHub-29631
  • El customer La respuesta de consulta ahora incluye el total_giftcard como parte de la variable OrderTotal objeto.
  • Se ha corregido un problema que provocaba lo siguiente products consulta para devolver información errónea acerca de los niveles de precios de los artículos que no tienen establecidos precios de nivel. GitHub-32279

Imagen

  • Ahora puede establecer los atributos del paquete required_options y has_options como se espera al crear o actualizar un producto del paquete con el POST /V1/product/:sku punto final. Anteriormente, estos atributos personalizados se establecían en 0 (cero) a pesar de los esfuerzos por establecerlo en 1 (uno).

Importar/exportar

  • El filtro ID de categoría para entidades de producto en la cuadrícula Exportar atributos de entidad de la página ahora funciona según lo esperado.
  • El estado de existencias de productos agrupados ahora se actualiza, según lo esperado, cuando todos los productos secundarios están agotados. GitHub-32647
  • El estado de stock de producto configurable ahora se actualiza automáticamente según lo esperado cuando el estado de stock de producto secundario se actualiza mediante la importación. Anteriormente, el estado de existencias del producto no se actualizaba automáticamente cuando el estado de existencias del producto secundario se actualizaba mediante la importación.
  • Ahora puede guardar valores vacíos en una exportación programada. Anteriormente, la aplicación actualizaba los valores de filtro vacíos después de crear o guardar la exportación. Ambos no y not specified Los valores se representaban con cero en la base de datos y un valor de not selected se ha anulado con no.
  • El proceso de exportación ahora tiene en cuenta el ámbito de la función del usuario al exportar productos, fuentes de stock y entidades del cliente. Anteriormente, el proceso de exportación ignoraba el ámbito de la función de usuario, que permitía la exportación de entidades de exportación de función de usuario privadas.
  • La aplicación ahora establece la clase de impuestos del producto en None si un producto se importa con tax_class_name values None o 0. Anteriormente, si product tax_class_name era None en el archivo CSV, la aplicación ha creado una nueva clase de impuestos None, que duplicaba la clase de impuestos existente. If product tax_class_name fueron 0 en el archivo CSV, la aplicación omitió ese valor y la clase de impuestos del producto no cambió después de la importación.
  • Los administradores ahora pueden cambiar correctamente la name de un paquete de productos bundle_values del administrador. Anteriormente, la aplicación mostraba el producto agotado en la tienda después de cambiar el nombre del administrador. Los productos también se combinaron con el mismo SKU en una sola sección de opción de paquete.
  • La aplicación ahora tiene en cuenta el ámbito del usuario al exportar los datos del cliente. Anteriormente, al intentar exportar clientes, la aplicación exportaba datos de clientes de todos los sitios web.
  • La aplicación ahora elimina las relaciones de producto entre las ventas ascendentes, las ventas cruzadas y los productos relacionados durante la importación del archivo CSV, tal como se espera cuando __EMPTY__VALUE__ se especifica en el archivo CSV.
  • Exportación de datos de direcciones personalizadas para muchos clientes (Administrador) Sistema > Exportar) ya no provoca un error de memoria de forma rutinaria. Anteriormente, al exportar los datos de direcciones personalizadas, la aplicación intentaba cargar todos los datos del cliente, lo que provocaba un agotamiento de la memoria, y la aplicación arrojaba un error de no asignación de memoria.
  • Los precios de nivel duplicados ya no se importan durante el proceso de importación CSV predeterminado. Anteriormente, faltaba validación para evitar la importación de precios de nivel duplicados y, cuando se producían precios de nivel duplicados, los comerciantes no podían guardar los productos. Los comerciantes también vieron este error cuando intentaron programar un cambio de producto: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry….
  • Todas las imágenes de productos se validan durante la importación. Anteriormente, la aplicación solo validaba la primera imagen cuando un producto tenía varias imágenes. GitHub-28236
  • Ahora puede eliminar una región de una dirección de cliente como se espera durante la importación. Anteriormente, la región asignada no cambiaba cuando se importaba una dirección de cliente con una región vacía.
  • Los productos con contenido JSON o de HTML como atributos de producto adicionales ahora se exportan correctamente a un archivo CSV. Anteriormente, el archivo CSV contenía cadenas de datos superpuestas en campos incorrectos.

Índice

  • Process Manager ahora se cierra con un error cuando falla un proceso secundario. Anteriormente, Process Manager siempre se cerraba correctamente si el número de funciones que se le pasaban (por ejemplo, dimensiones del indexador) era inferior al valor de MAGE_INDEXER_THREADS_COUNT variable de entorno. GitHub-30964
  • Los productos ahora están disponibles como se espera en los resultados de búsqueda de la tienda al vincular productos mediante un PUT REST /V1/products/:sku/links solicitar cuando el modo de indizador está configurado en Actualizar al guardar.
  • El indexador de reglas de precios de catálogo ahora funciona como se espera cuando el modo de indexador está configurado en Actualizar al guardar. GitHub-370
  • La eliminación de una categoría deshabilitada que no incluye un producto ahora no afecta a la búsqueda en el catálogo ni a las tablas de índice plano de categorías. Anteriormente, al eliminar una categoría inactiva se activaba un reindexado completo. GitHub-23297
  • Los indexadores personalizados ahora pueden utilizar nombres de columna de entidad diferentes para las suscripciones. Anteriormente, el déclencheur de la base de datos utilizaba el nombre de columna del último indizador establecido en Actualizar según lo programado en lugar del indizador designado. GitHub-21853
  • AJAX La aplicación ya no envía solicitudes de para volver a cargar las secciones de datos del cliente (Magento_Customer/js/section-config) que no se vean afectados por la solicitud. GitHub-31948
  • Los siguientes indexadores ya no se invalidan después de agregar, quitar o reordenar productos en una categoría: catalog_category_product y catalogsearch_fulltext (y sus dependientes). Anteriormente, estas eliminaciones involuntarias desencadenaban una reindexación completa de los sitios. Ahora se impide una reindexación completa en estas condiciones cuando el catálogo plano no está habilitado.

Infraestructura

  • La dependencia pelago/emogrifier se ha actualizado de la versión 3.1.0 a la 5.0.0. Esta actualización resultó en la introducción de cambios incompatibles con versiones anteriores en la Magento\Email\Model\Template\Filter clase. El código modificado se ejecuta durante el procesamiento de las plantillas de correo electrónico. Consulte Referencia BIC.
  • Se ha corregido un problema con \Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds que impedía guardar un nuevo producto.
  • Se ha eliminado la biblioteca obsoleta TinyMCE v3. El Magento_Tinymce3Banner Las pruebas de módulo y MFTF relacionadas con TinyMCE v3.x se han eliminado de Adobe Commerce.
  • La aplicación ya no emite un Invalid header value detected error en el formulario Contáctenos cuando un comprador introduce una dirección de correo electrónico que contiene marcas diacríticas francesas (como "é", "è"). La aplicación ahora convierte letras UTF-8 en el nombre de usuario a codificación ASCII. Anteriormente, las letras UTF-8 no se convertían a codificación ASCII en la sección única de la dirección de correo electrónico.
  • La aplicación ya no genera un error grave de PHP cuando se añade un complemento a una clase principal. GitHub-31291
  • Se han actualizado los archivos README.md para estos módulos: Magento_Msrp, Magento_MsrpConfigurableProduct, Magento_MsrpGroupedProduct, Magento_Multishipping, Magento_MysqlMq. GitHub-32577
  • phpcpd se ha actualizado a la versión 6.0.3 para mantener la compatibilidad con PHP 8.
  • colinmollenhour/php-redis-session-abstract se ha actualizado a la versión 1.4.4 para mantener la compatibilidad con PHP 8. GitHub-32709
  • Se ha corregido una combinación no válida de tabulaciones y espacios en phpstan.neon archivo. GitHub-31239
  • Se ha eliminado el uso de una propiedad obsoleta $_isScopePrivate en toda la base de código. GitHub-30506
  • Los diseños de página ya no están codificados en Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container. Como resultado, la variable getPageLayouts() ahora devuelve la lista real de diseños de página declarados por los diferentes módulos según lo esperado. Anteriormente, solo devolvía diseños codificados. GitHub-31168
  • El composer.lock se ha actualizado a la última versión del estándar de codificación. GitHub-31152
  • Se ha añadido una dependencia que falta en web-token/jwt-framework paquete en el magento/module-jwt-framework-adapter. GitHub-32578
  • Se han agregado oyentes pasivos al fotorama.js para mejorar la puntuación de las métricas de lighthouse. GitHub-31140
  • Se ha actualizado el archivo README.md para el módulo Google Analytics. GitHub-32616
  • El Administrador de procesos ahora gestiona las excepciones correctamente en los procesos bifurcados. El proceso principal ahora se cierra y la aplicación muestra un mensaje de error solo una vez. Además, las excepciones de los procesos bifurcados ahora se gestionan cuando se inician en el proceso principal. Anteriormente, la aplicación registraba varios errores de indizador y mostraba varios mensajes de error. GitHub-30622
  • La aplicación ya no emite un error cuando se añade un complemento a una clase principal. (La optionsProvider El parámetro ahora se declara después de getContentIdentities in Assest.php.) Anteriormente, la aplicación arrojaba este error: Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface. GitHub-31291
  • Ejecutando Magento\Framework\Filesystem\Io\Ftp::ls() en una carpeta vacía ahora devuelve una matriz vacía como se espera. Anteriormente, la aplicación arrojaba esta excepción: Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…. GitHub-31288
  • El update El método para la función y las reglas se ha marcado como obsoleto en app/code/Magento/Authorization/Model/Role.php. GitHub-30756
  • Se ha corregido la concatenación de los parámetros de cookie de SameSite. Anteriormente, una concatenación incorrecta adjuntaba el lex sufijo a value, domainy otros parámetros. GitHub-26377, GitHub-32440
  • allure-framework/allure-phpunit se ha actualizado a la versión 1.3.1 en toda la base de código. Anteriormente, la aplicación mostraba este error: 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. GitHub-24635
  • La aplicación ahora muestra más errores informativos cuando se producen errores en ejecución bin/magento comandos en el modo de producción. Anteriormente, la aplicación no mostraba mensajes de error o mostraba mensajes sin información. GitHub-32786
  • El ArrayIterator El objeto PHP se ha actualizado para funcionar según lo esperado con PHP 7.4. GitHub-32088
  • La aplicación ya no genera un error cuando un cliente intenta completar un pedido cuando no hay transportistas disponibles. En su lugar, muestra la página de pago y este mensaje: Sorry, no quotes are available for this order at this time. Anteriormente, la aplicación mostraba una página de cierre de compra en blanco y registraba este mensaje en el registro de excepciones: array_keys() expects parameter 1 to be array, null given. GitHub-30830
  • La aplicación ya no registra cada cookie como un contexto independiente. El $_COOKIE La matriz también se ha convertido en una cadena. Anteriormente, como cada cookie se registraba como un contexto independiente, cuando el número de cookies superaba las 50, la aplicación registraba este mensaje: Unable to send the cookie. Maximum number of cookies would be exceeded. GitHub-31334

Factura

  • Al crear nuevas facturas en el Administrador, la variable Copia de correo electrónico de La casilla de verificación de ahora funciona según lo esperado. Anteriormente, la casilla de verificación se ignoraba si la configuración global para enviar correos electrónicos de factura estaba habilitada en Correos electrónicos de ventas. Ahora es coherente y funciona del mismo modo que las páginas de creación de envío y nota de abono. GitHub-28511

Galería de medios

  • bin/magento media-gallery:sync XMP ahora falla como se espera al procesar imágenes PNG que carecen de información sobre el tipo de datos que se muestra a continuación.
  • Entradas en la catalog_product_entity_media_gallery se eliminan según lo esperado cuando se eliminan productos relacionados. GitHub-17727
  • Los detalles de la imagen ahora se pueden actualizar en la Galería multimedia cuando la minificación de JavaScript está habilitada. Anteriormente, los detalles de la imagen no se guardaban y la aplicación mostraba este error: TypeError: Cannot read property 'call' of undefined in jquery.validate. GitHub-31633

MFTF

Las nuevas funciones y correcciones de errores principales de MTF se describen en la Registro de cambios del marco de prueba funcional.

  • El magento indexer:reindex y cache:flush comandos y el AdminReindexAndFlushCache Los grupos de acción de se han eliminado de las pruebas para mejorar la ejecución de los siguientes módulos: Bundle, Catalog, CatalogRule, CatalogRuleConfigurable, CatalogUrlRewrite, Downloadable, Indexer, Paypal, y Sales. GitHub-31031
  • AdminSubmitCategoriesPopupActionGroup se ha agregado a las pruebas para evitar errores en las pruebas. GitHub-31251
  • Las pruebas se han refactorizado con StorefrontCheckQuickSearchStringActionGroup y StorefrontAssertProductNameOnProductMainPageActionGroup (grupos de acción existentes). GitHub-31251

Pruebas refactorizadas

Las siguientes pruebas se han refactorizado para mejorar el tiempo de ejecución:

AddOutOfStockProductToCompareListTest

AdminApplyTierPriceToProductWithPercentageDiscountTest

AdminCheckingCreditMemoTotalsTest

AdminCheckDashboardWithChartsTest

AdminConfigDefaultProductLayoutFromConfigurationSettingTest

AdminCreateInvoiceTest

AdminCreateOrderAddProductCheckboxTest

AdminMassOrdersCancelCompleteAndClosedTest

AdminMassOrdersCancelProcessingAndClosedTest

AdminMassOrdersHoldOnCompleteTest

AdminMassOrdersHoldOnPendingAndProcessingTest (reemplazo de obsoleto) AdminMassOrdersHoldOnPendingAndProcessingTest)

AdminMassOrdersUpdateCancelPendingOrderTest

AdminMassProductPriceUpdateTest

AdminMassUpdateProductAttributesMissingRequiredFieldTest

AdminOrdersReleaseInUnholdStatusTest

AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest

AdminSortingByWebsitesTest

AdminUpdateSimpleProduct

AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest

AdminValidateShippingTrackingNumberTest

CancelOrdersInOrderSalesReportTest

ProductsQtyReturnAfterOrderCancelTest

StorefrontConfigurableProductBasicInfoTest

Grupos de acción

Las acciones repetitivas se han sustituido por grupos de acciones en estas pruebas:

AdminCheckConfigurableProductPriceWithDisabledChildProductTest

AdminConfigurableProductCreateTest

AdminConfigurableProductRemoveAnOptionTest

AdminCreateProductDuplicateUrlkeyTest

AdminCreateSimpleProductNegativePriceTest

AdminCreateSimpleProductZeroPriceTest

AdminCreateVirtualProductFillingRequiredFieldsOnlyTest

AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest

AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest

AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest

Nuevos grupos de acción

AdminClearFiltersOnGridActionGroup

AdminClickAddNewPageOnPagesGridActionGroup

AdminClickInsertWidgetActionGroup

AdminClickRefundOfflineOnNewMemoPageActionGroup

AdminFillAccountInformationOnCreateOrderPageActionGroup

AdminGoToOrderStatusPageActionGroup

AdminOpenCMSPagesGridActionGroup

AdminSelectAttributeSetOnEditProductPageActionGroup

AssertAdminProductIsAssignedToCategoryActionGroup (reemplaza la cuadrícula de productos de filtrado por SKU y hace clic en la primera fila (para reducir el tiempo de ejecución de la prueba)

AssertLinkActionGroup

AssertStorefrontCartDiscountActionGroup

ClickPlaceOrderActionGroup

SaveCmsPageActionGroup

StorefrontAssertProductNameIsNotOnProductMainPageActionGroup

StorefrontGuestCheckoutProceedToPaymentStepActionGroup

StorefrontHoverProductOnCategoryPageActionGroup

StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup

Grupos de acciones eliminados

  • Eliminado CliIndexerReindexActionGroup (o valor modificado) de las pruebas para mejorar el tiempo de ejecución del Backend, Bundle, BundleImportExport, Catalog, CatalogRule, CatalogSearch, Checkout, Downloadable, Elasticsearch, Elasticsearch6, Indexer, LayeredNavigation, LoginAsCustomer, Newsletter, Sales, SalesRule, Search, Store, Swatches, UrlRewrite, Weee, y Wishlistmódulos.
  • Eliminado CliCacheFlushActionGroup de Catalog, CatalogUrlRewrite, Checkout, Config, ConfigurableProduct,Contact, Cookie, CurrencySymbol, Customer, Downloadable, Elasticsearch, Elasticsearch6, Fedex, Indexer, LayeredNavigation,LoginAsCustomer, Msrp, Multishipping, Sales, Swatches, Translation, UrlRewrite, Vault, Weee, y Wishlist módulos.

Newsletter

  • La aplicación ya no envía correos electrónicos de newsletter a un cliente que se ha dado de baja de la newsletter en el periodo de tiempo entre la creación de la cola de la newsletter y el envío de la newsletter. GitHub-32116
  • La aplicación ahora respeta la configuración de habilitación de la newsletter (Tiendas > Configuración > Configuración > Clientes > Newsletter > Opciones generales). Anteriormente, esta configuración siempre se recuperaba del ámbito predeterminado en implementaciones de varias tiendas. GitHub-31188
  • La GET de llamada REST /V1/customers/search ahora devuelve la información correcta para los clientes suscritos a varios boletines. GitHub-31168
  • El estado de suscripción de almacenamiento en caché se ha eliminado del complemento de newsletter. GitHub-19345

Pedido

  • La aplicación ahora calcula correctamente un saldo de cliente facturado al devolver el crédito de tienda a una cuenta de cliente para un pedido parcialmente facturado.
  • La aplicación guarda ahora un pedido modificado como se espera cuando guarda un saldo de cliente reembolsado. GitHub-393

Métodos de pago

  • La aplicación ahora procesa bloques de pago en frontend independientemente del área desde la que se envió el correo electrónico. (El área actual ahora se emula como frontend antes de procesar el bloque de pago). Anteriormente, los bloques de pago se representaban en el área desde la que se enviaba el correo electrónico. Como resultado, tanto si el correo electrónico de ventas se activó desde el administrador como desde la API de REST, las direcciones URL de los recursos intentaron cargarlos desde un área incorrecta (webapi_rest o adminhtml).
  • La aplicación ahora envía el vínculo de un producto descargable a la dirección de correo electrónico especificada durante el cierre de compra. Anteriormente, cuando un comprador invitado utilizaba el Pago y envío de PayPal Express e introducía diferentes direcciones de correo electrónico para enviar el pedido y para pagar, la aplicación enviaba el vínculo de producto descargable a la primera dirección.
  • La aplicación ahora muestra un valor preciso para el crédito de tienda disponible en la página Método de pago en implementaciones que admiten varias monedas.
  • La lista de métodos de pago ahora se actualiza según lo esperado cuando un comprador invitado cambia la dirección de envío de un pedido a un país diferente durante el cierre de compra. Anteriormente, el cambio de la dirección de facturación no almacenaba en déclencheur una actualización de los posibles métodos de pago.

PayPal

  • Los compradores ahora pueden realizar correctamente un pedido de PayPal Payflow Pro con una dirección de envío que contenga caracteres especiales. Anteriormente, la aplicación rechazaba el pago de estos pedidos.
  • Ahora se redirige a los compradores a la página de éxito del pedido después de un pago realizado correctamente con PayPal. Anteriormente, se redirigía a los compradores a una página en blanco porque se perdían datos de sesión.

Rendimiento

  • Se ha mejorado el rendimiento de la búsqueda de SKU de administrador en catálogos grandes. Las sugerencias del optimizador de consultas ahora fuerzan el uso del índice durante la ejecución de la consulta.
  • El rendimiento de la catalog_product_alert cron Se ha mejorado el proceso al ejecutarse en tablas grandes (varios millones de filas). Anteriormente, catalog_product_alert cargó todas las alertas de producto, lo que provocó una excepción de falta de memoria.
  • La aplicación ya no carga todas las páginas de CMS cuando solo se necesita una página de edición para procesar un formulario de administrador. Estas páginas ahora se cargan más rápido. GitHub-30936
  • Valores numéricos en WHERE IN Las expresiones ahora se convierten en números, no en cadenas, lo que mejora el rendimiento de las consultas en algunas versiones de MariaDB. GitHub-31135

  • El use_application_lock El modo permite activar la reindexación mediante el uso de variables de entorno o configurando el app/etc/env.php archivo. Ya no es necesario restablecer manualmente el indexador después de un error con este modo habilitado. Cuando este modo no está habilitado, debe restablecer manualmente el indexador tras producirse un error. Consulte Uso del modo de bloqueo de aplicación para procesos de reindexación.

Precio

  • La aplicación ahora actualiza correctamente el precio de un producto con precios agrupados cuando un comprador actualiza la cantidad del producto en la tienda. GitHub-32669
  • Ahora, los productos agrupados se pueden guardar cuando se asigna a los productos un precio de nivel y Magento\Framework\Api\ExtensibleDataObjectConverter se utiliza para convertir datos de productos. Anteriormente, cuando Magento\Framework\Api\ExtensibleDataObjectConverter se utilizó para convertir datos de producto en una matriz cuando se guardó un producto, la aplicación no guardó el producto y mostró este error: Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
  • Las actualizaciones de precios programadas ahora se aplican a productos que ya están en el carro de compras de un comprador. GitHub-356
  • El precio de nivel ahora se aplica a un producto como se espera cuando los incrementos de cantidad están activados y el inventario decimal es inferior a 1. Anteriormente, la cantidad mínima de precio de nivel se establecía en 1.

Vídeo del producto

  • Ahora puede utilizar la variable Añadir vídeo botón (Administración) Catálogo > Productos) para añadir varios vídeos de forma consecutiva. Anteriormente, los campos de vídeo conservaban los detalles del vídeo anterior.
  • La introducción del modo de pantalla completa para un vídeo de producto en una página de producto ahora funciona como se espera en dispositivos móviles. Anteriormente, al entrar en modo de pantalla completa, el vídeo se pausaba antes de salir del modo de pantalla completa.
  • Los botones de la flecha de navegación (Siguiente y Anterior) ahora están visibles como se espera en los vídeos de productos de tienda.
  • Los comerciantes ahora pueden añadir vídeos de Vimeo usando el Insertar vídeo en la página del producto según lo esperado. Anteriormente, la aplicación mostraba un error 404. GitHub-31753

Cita

  • El /V1/guest-carts/examplecartid/items La llamada de ahora devuelve la vista de tienda solicitada. Anteriormente, devolvía la primera vista de tienda de la tienda, no la solicitada.
  • El envío de facturas ahora se puede configurar. Anteriormente, el envío de facturas no se podía configurar y la aplicación siempre enviaba una factura después de crearla. Los correos electrónicos de factura y pedido se enviaron en el ámbito de un observador. Los observadores independientes ahora rigen el envío del correo electrónico de pedido y el correo electrónico de factura. GitHub-27656

Informes

  • Ahora, todos los informes del sistema se pueden ver y descargar desde el proyecto de infraestructura de Adobe Commerce en la nube. Anteriormente, no se podían descargar informes del sistema para Registros, Datos, Diseño o Tiendas.
  • Fecha de la última revisión del administrador Informes > Críticas > Por productos ahora muestra la fecha de revisión correcta. Anteriormente, la aplicación mostraba la fecha de creación del producto en lugar de la fecha de revisión.

Autorizaciones de devolución de mercancía (RMA)

  • La RMA resolution ya no se muestra el atributo como obligatorio cuando el valor del campo de atributo es required se establece en no.
  • Ahora puede seleccionar varios pedidos para la devolución desde el administrador. Anteriormente, la aplicación arrojaba un error al hacer clic en Enviar después de seleccionar varias devoluciones y seleccionar Cierre en el menú desplegable Acciones.
  • La aplicación ahora envía notificaciones por correo electrónico a los clientes según lo esperado después de cambiar el estado de una devolución mediante la API de REST.
  • La aplicación ahora filtra los registros según los valores de filtro en la cuadrícula Administrador que devuelve el cliente. Anteriormente, la aplicación le dirigía a la página Administrar todos los clientes y hacía clic en Restablecer filtro también se redirige a esta página. GitHub-436

Críticas

  • Las estrellas de clasificación de revisión de productos ahora se calculan correctamente en la sección Detalles de revisión de la página Mi cuenta.
  • Las secciones Clasificación promedio del producto y Clasificación del producto de la página de detalles de revisión del producto ahora se representan correctamente. Anteriormente, el ID de revisión no se establecía cuando la aplicación calculaba la clasificación de tiendas y la plantilla de revisión de producto no se representaba correctamente.
  • El Sea el primero en opinar sobre este producto El vínculo ahora cambia según lo esperado a un recuento de revisión después de que un administrador apruebe una revisión.
  • Los administradores ahora pueden ordenar las revisiones de producto en la sección Revisiones de producto de la página de edición de productos según lo esperado. GitHub-30270
  • Las revisiones ahora se guardan con el ID de almacén correcto después de que un administrador apruebe y guarde la revisión desde un dominio diferente al del almacén. GitHub-17510

Recompensas

  • Los comerciantes ahora pueden cancelar un pedido que se haya realizado total o parcialmente con puntos de recompensa después de que el cliente que ha realizado el pedido se haya eliminado del sistema.
  • Los comerciantes ahora pueden eliminar los puntos de recompensa de las reglas de precios del carro de compras. Anteriormente, cuando un comerciante intentaba establecer Puntos de recompensa a 0 al crear una regla de precio de carro de compras, el valor anterior de la cantidad de puntos de recompensa persistió.
  • Los puntos de recompensa por críticas de productos ahora están asociados con el sitio web correspondiente cuando se aprueban múltiples críticas desde el administrador Marketing > Revisiones pendientes rejilla. Anteriormente, los puntos de recompensa no se mostraban en la tienda y no estaban vinculados al sitio web correspondiente en el Administrador.
  • La aplicación ahora actualiza la lista de métodos de pago cuando un comprador que realiza una compra con varias direcciones comprueba o desmarca la Crédito de tienda (puntos de recompensa) opción.

Ventas

  • Los usuarios administradores ahora pueden realizar pedidos de artículos sin existencias cuando la variable Se permiten pedidos pendientes La configuración está habilitada (Tiendas > Configuración > Catálogo > Inventario > Opciones de stock de productos). Anteriormente, la aplicación arrojaba un error.
  • Los compradores ahora pueden encontrar un pedido en la página Pedidos y devoluciones cuando el apellido termina en un espacio en blanco.
  • Las facturas ahora se crean con el total general correcto cuando se aplica una regla de precio del carro de compras que asigna un descuento del 100% a un pedido que también está sujeto a impuestos de descuento y productos del catálogo y que cumple los requisitos para el envío gratuito. Anteriormente, el pedido tenía el precio correcto, pero la factura no. GitHub-30853
  • Filtrar los pedidos por fecha ahora devuelve resultados precisos. Anteriormente, la aplicación no devolvía un pedido realizado después de las 00:00 UTC cuando se filtraban los pedidos por fecha de pedido.
  • La cuadrícula de notas de crédito ahora muestra el símbolo de moneda correcto cuando Sitio web se utiliza un ámbito para un Precio en una implementación de varias tiendas.
  • Los botones de opción Métodos de pago ya no desaparecen en la sección Información de pago y envío del flujo de trabajo de cierre de compra después de volver a cargar la página Crear nuevo pedido del administrador. GitHub-32106
  • El texto en árabe ahora se muestra correctamente en las facturas.
  • La aplicación ahora calcula correctamente los totales de impuestos de la nota de abono parcial para las notas de abono que se basan en un pedido o en una factura en tiendas que implementan PayPal Payment Pro como pasarela de pago. Anteriormente, para pedidos con varias facturas, la aplicación aplicaba todo el impuesto de ese pedido para la cancelación parcial de la factura en la nota de abono.
  • La aplicación ya no crea interbloqueos de base de datos aleatorios al enviar nuevos correos electrónicos de pedido a los clientes. Anteriormente, se producían interbloqueos porque la aplicación guardaba todo el objeto y sus objetos relacionados en lugar de columnas SQL actualizadas. La aplicación mostraba este tipo de error: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. GitHub-31090
  • La página de detalles de pedido de tienda ahora muestra la cantidad de producto enviada correctamente. Anteriormente, las cantidades de productos eran incorrectas porque se mostraba la plantilla de la página Envío de pedidos Cantidad Enviada como un int. Esto se ha cambiado a float.
  • La aplicación ya no envía por correo electrónico copias de una factura de pedido cuando el Copia de correo electrónico de la factura El botón está desmarcado. Anteriormente, la aplicación enviaba un correo electrónico a Cliente y Enviar copia de correo electrónico de factura a. GitHub-28511
  • La aplicación ya no crea entradas de direcciones duplicadas para una cuenta de cliente al crear un nuevo pedido desde el administrador para un cliente existente. El Guardar en Libreta de direcciones se ha cambiado el nombre de la casilla a Agregar a Libreta de direcciones y ahora está desmarcada en el Administrador de forma predeterminada.
  • La aplicación ahora utiliza el logotipo que se ha cargado en el Logotipo para vista de impresión de HTML configuración cuando los compradores imprimen un pedido desde su cuenta. Anteriormente, la aplicación mostraba el logotipo de LUMA en lugar del logotipo cargado.
  • El localizador de artículos de la tienda ahora funciona como se espera cuando el número de artículos supera los 20. Anteriormente, el localizador tenía en cuenta productos secundarios y el recuento total era incorrecto.
  • La aplicación muestra ahora los símbolos de divisa correctos para los valores de subtotal y envío y gestión en las cuadrículas de la página Pedido y de la página Nota de Abono. GitHub-22662
  • Los administradores que utilizan Safari ahora pueden añadir correctamente un producto a un pedido del administrador. Anteriormente, cuando el administrador hacía clic en Añadir los productos seleccionados al pedido , la aplicación mostraba el icono de carga giratoria y la página colgaba. GitHub-30265

Regla de ventas

  • La aplicación ahora aplica reglas de precios del carro de compras con El descuento de cantidad máxima se aplica a o Etapa de cantidad de descuento (comprar X) condiciona correctamente cuando se aplican varias reglas de precio al carro de compras. Anteriormente, si una regla de precio del carro de compras con El descuento de cantidad máxima se aplica a o Etapa de cantidad de descuento (comprar X) se aplicó después de otra regla de precio del carro de compras, el descuento total se redujo al valor configurado para El descuento de cantidad máxima se aplica a o Etapa de cantidad de descuento (comprar X) multiplicado por el precio del producto.
  • El informe Coupon ahora refleja con precisión la actividad de los cupones en implementaciones en las que se implementa una base de datos dividida.
  • Reglas de precio del carro de compras que contienen la condición Categoría NO ES ahora se aplican tal como se espera a productos simples o secundarios configurables que no están asignados a una categoría, pero cuyos productos principales están asignados.
  • El GraphQL cart query ahora devuelve el total general correcto para el paso de facturación de un carro de compras cuando se aplica un cupón al pedido.

Buscar search-heading

  • La página de categoría ya no contiene estos ID de elemento de HTML duplicados: modes-label, mode-list, toolbar-amount, sorter, limiter.
  • Los resultados parciales de búsqueda de palabras ya no incluyen coincidencias inesperadas o irrelevantes, y las búsquedas producen resultados coherentes tanto en la tienda como en el administrador. La aplicación ahora utiliza un analizador diferente sin un simulador para las búsquedas parciales de palabras. Anteriormente, los resultados de búsqueda mostraban productos que no incluían palabras clave de búsqueda. (Anteriormente, el analizador predeterminado incluía un analizador y, como se utilizó el mismo analizador en el momento de la búsqueda para la búsqueda de palabras parciales, el resultado de la búsqueda podría producir coincidencias inesperadas o irrelevantes).
  • La búsqueda rápida ahora devuelve resultados si la consulta de búsqueda tiene varias palabras y el nombre del producto está configurado como no se puede buscar. Anteriormente, si el nombre del producto estaba configurado como no se puede buscar, la aplicación arrojaba una excepción de consulta en consultas de búsqueda con varias palabras.
  • Los resultados de la búsqueda ahora incluyen weight como se espera cuando se configura como algo en lo que se puede buscar.
  • La aplicación ya no genera un error cuando se ve una página de categoría vacía con el Elasticsearch habilitado. En su lugar, procesa la página según lo esperado y muestra un mensaje informativo. Anteriormente, un índice de texto completo vacío activaba una excepción en una página de categoría.
  • La función de autocompletar el campo de búsqueda ahora funciona como se espera si un comprador hace clic fuera del campo de búsqueda después de comenzar su búsqueda. Las sugerencias de autocompletar ahora vuelven a aparecer cuando el comprador reanuda la escritura. Anteriormente, la aplicación no mostraba sugerencias de autocompletar y al hacer clic en el cuadro de búsqueda no se volvían a ver las sugerencias de búsqueda (aunque sí se volvían a escribir cartas adicionales).
  • Al buscar un producto en función de su SKU total o parcial en Búsqueda avanzada, ahora se devuelve el producto esperado.
  • Los filtros de navegación por capas ahora muestran recuentos de productos precisos. Anteriormente, los valores de recuento de productos del Elasticsearch no se filtraban con permisos de catálogo.
  • El Elasticsearch ya no genera un error cuando el parámetro de página de URL de categoría supera la paginación. GitHub-23843
  • Ahora puede agregar un asignador de campos de Elasticsearch personalizado a Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver. GitHub-24350
  • Los desarrolladores ahora pueden cambiar las asignaciones de Elasticsearch. Anteriormente, las plantillas dinámicas enviadas al servidor de Elasticsearch en las asignaciones predeterminadas estaban codificadas, lo que impedía a los desarrolladores indexar en Elasticsearch cualquier dato adicional asociado a un módulo personalizado. GitHub-24363
  • Los campos de búsqueda (minibúsqueda de formularios) ahora funcionan según lo esperado cuando las sugerencias de búsqueda están desactivadas. GitHub-30584

Envío

  • La aplicación ahora actualiza el precio de envío como se espera cuando un comprador vuelve a la página del carro de compras después de eliminar un producto durante el cierre de compra con varias direcciones.
  • La solicitud ahora muestra el precio de envío ajustado correcto cuando algunos artículos del carro cumplen los requisitos para el envío gratuito. Anteriormente, cuando un subconjunto de artículos del carro de compras cumplía los requisitos para el envío gratuito, la aplicación no ajustaba el precio de envío y mostraba el precio de envío completo al comprador.
  • Los administradores restringidos a un sitio web específico ahora pueden crear un envío para un pedido realizado en el mismo sitio web. Anteriormente, la aplicación arrojaba esta excepción cuando un administrador que no tenía permiso para acceder a la vista de tienda predeterminada intentaba enviar un pedido colocado en una vista de tienda a la que el administrador tenía acceso: Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293.
  • La aplicación ahora tiene en cuenta los descuentos pertinentes en la regla de precio de carro de compras al determinar si un pedido cumple las condiciones para el envío gratuito de DHL.
  • Las etiquetas de envío ahora utilizan la divisa base como se espera en lugar de la divisa de pedido en tiendas que admiten varias divisas cuando se realiza un pedido en una divisa no base. GitHub-31891
  • La aplicación ahora muestra el subtotal de pedido correcto cuando un comprador vuelve a la página del carro de compras durante el cierre de compra después de salir de la página de envío múltiple. GitHub-31889
  • La edición de la información de facturación durante la creación del pedido de administración ya no cambia la información de envío para los clientes con diferentes direcciones de envío y facturación predeterminadas. GitHub-31786
  • La aplicación ya no desmarca la Anexar comentarios casilla de verificación cuando un comprador haga clic en Obtener métodos y tarifas de envío y selecciona un método de envío al crear un pedido desde el administrador. GitHub-30256
  • Los compradores ahora pueden usar el botón Atrás del navegador para volver a la página Seleccionar método de envío mientras retiran un pedido con varias direcciones. Anteriormente, la aplicación mostraba una página Seleccionar método de envío dañada. GitHub-30268
  • La cantidad de productos ahora permanece sin cambios según lo esperado después de que un comprador cambie la cantidad en la página Enviar a varias direcciones y haga clic en el botón Atrás del explorador. GitHub-31956
  • Los cargos por método de envío de tarifa única ya no se convierten en cero cuando se aplica una regla de precio de carro de compras durante el cierre de compra. GitHub-21832
  • La aplicación ya no genera un error cuando un comerciante intenta enviar un pedido utilizando DHL cuando el Crear etiqueta de envío la casilla de verificación está activada y el nombre del producto contiene caracteres unicode. Anteriormente, la aplicación mostraba este error al solicitar la creación de la etiqueta: The response is in wrong format. GitHub-31032
  • Puede realizar correctamente un pedido del administrador en una implementación de varios sitios en la que United States está habilitado en un sitio web yDisable all countries está habilitado como ámbito predeterminado en el otro sitio web. Anteriormente, la aplicación no realizaba el pedido y mostraba este error: Please check the shipping address information. "regionId" is required. Enter and try again. GitHub-30577

Ensayo

  • La función Programar actualización de bloques ahora funciona según lo esperado en implementaciones que implementan Fastly. Anteriormente, la aplicación no actualizaba el contenido del bloque porque las etiquetas de caché de Fastly no se invalidaban y Fastly seguía ofreciendo contenido obsoleto.
  • La previsualización de ensayo de la regla de precio del carro de compras ahora se carga en el sitio web adecuado cuando se asigna a varias vistas de tienda de sitios web. Anteriormente, la previsualización de ensayo de la regla de precios del carro de compras se cargaba en la vista de tienda predeterminada independientemente de los sitios web asignados.
  • Los precios especiales de los productos en la vista de tienda no predeterminada ahora se establecen en el valor predeterminado como se espera después de que haya finalizado una actualización programada.
  • Los comerciantes ahora pueden guardar correctamente un producto descargable con una muestra vinculada de la página de producto descargable después de crear una actualización de ensayo futura con una fecha de finalización. Anteriormente, la aplicación no guardaba el producto y mostraba este mensaje: The downloadable sample isn't related to the product. Verify the link and try again. GitHub-488
  • La aplicación ya no ejecuta consultas de base de datos grandes que incluyen todos los ID de producto durante la vista previa de una actualización de programación de una categoría. En su lugar, el filtro de categoría se aplica a la colección de productos para crear una tabla temporal para las vistas previas de ensayo de la categoría. Anteriormente, la aplicación insertaba todos los productos en una tabla temporal para la vista previa de ensayo, lo que reducía el rendimiento.
  • El Magento_SalesRuleStaging El módulo ya no almacena en déclencheur los errores durante la actualización de 2.3.x.
  • La aplicación ahora muestra las condiciones de regla de catálogo con los datos correctos cuando visualiza una actualización de programación. Anteriormente, si se veía una actualización de programación creada con condiciones, la aplicación no mostraba condiciones ni mostraba condiciones con datos incorrectos.
  • El Usar valor predeterminado La casilla de verificación de un producto permanece marcada después de que una actualización programada esté desmarcada antes de la actualización.
  • Las reglas de precios de catálogo ahora se aplican según lo esperado a los productos con valores de atributo no definidos. Anteriormente, los descuentos creados mediante una regla de precios de catálogo no se aplicaban a productos con atributos no definidos. GitHub-461
  • Las reglas de catálogo ahora funcionan como se espera en implementaciones de varios sitios web con tiendas en diferentes zonas horarias. Anteriormente, la aplicación aplicaba o desactivaba reglas de catálogo en todos los sitios web al mismo tiempo.
  • Los precios de nivel ya no se eliminan cuando se crea una actualización de programación para un sitio web específico.
  • Ahora puede guardar un producto desde la página Producto descargable después de crear una actualización de ensayo futura con una fecha de finalización. Anteriormente, la aplicación no guardaba el producto y mostraba este mensaje: The downloadable link isn't related to the product. Verify the link and try again. GitHub-474

Almacenar

  • La aplicación ya no trata una cadena de 0 como un valor vacío al mostrar una página principal de la tienda. Anteriormente, la aplicación trataba un valor entero al principio de una ruta de solicitud como un ID de almacén, lo que tenía efectos no deseados en la SEO.
  • Complementos para \Magento\Framework\App\ActionInterface bajo lib/internal/Magento/Framework/App/Action/Plugin se han eliminado para seguir la guía de que los complementos deben utilizarse para personalizar el comportamiento de un módulo desde otro. GitHub-28050
  • La aplicación ahora muestra este mensaje cuando intenta seleccionar Website como valor predeterminado cuando Store View se desactiva durante la creación del sitio web: Please enable your Store View before using this Web Site as Default. Anteriormente, el sitio web se bloqueaba y la aplicación no mostraba una alerta.

Impuestos

  • La aplicación ahora tiene en cuenta los impuestos ocultos durante la validación del importe mínimo del pedido.
  • La aplicación ahora muestra Impuestos fijos sobre productos (FPT), tal como se espera cuando un comprador regresa a su carro de compras y continúa con el cierre de compra después de agregar productos agrupados al carro de compras. GitHub-30250
  • La aplicación ahora rellena previamente la variable Número de IVA campos de entrada para las direcciones de facturación y envío de la sección Información de Dirección de la página de Administración de nuevos pedidos con números de IVA guardados cuando un administrador crea un pedido para un cliente existente. GitHub-31846
  • La aplicación ahora muestra un Número de IVA en la página de registro del cliente cuando customer/create_account/vat_frontend_visibility está activada. GitHub-31326

Prueba

  • Los entornos de prueba se han actualizado a Redis 6.0.12.
  • Eliminado CacheCleaner::cleanAll(); de las pruebas de integración. GitHub-31074
  • Se ha añadido una prueba para este escenario: Los usuarios administradores pueden editar una cuenta de cliente cuando el cliente está suscrito a un boletín informativo en cola. GitHub-30645
  • Se ha eliminado el cache:flush comando de pruebas para mejorar el tiempo de ejecución del Catalog, CatalogUrlRewrite, y LoginAsCustomer módulos. GitHub-31056
  • Se han eliminado los parámetros redundantes y el POST se ha cambiado a GET donde es necesario en \Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping.

Tema

  • La página de inicio de sesión del cliente ya no muestra este mensaje cuando Mover el código JS a la parte inferior de la página configuración (Almacenar > Configuraciones > Avanzar > Desarrollador > Configuración de JavaScript) y las cookies están habilitadas: The store will not work correctly in the case when cookies are disabled.
  • Los vínculos de cuenta en los encabezados ahora siguen los estándares WCAG. Anteriormente, los vínculos de cuenta en los encabezados contenían ID duplicados, lo que provocaba que fallara la validación de WCAG.
  • La aplicación ahora prioriza la configuración de la tienda para una imagen de logotipo de tienda sobre la configuración del diseño. Anteriormente, el tamaño de las imágenes de logotipo era fijo y no variaba según el almacén.
  • La aplicación ahora muestra los elementos de página de forma coherente en las páginas de tienda que utilizan temáticas estándar de Adobe Commerce. Anteriormente, no todos los estilos se aplicaban en la temática en blanco, por lo que no todos los elementos de página se mostraban en las páginas que utilizaban esta temática. (Por ejemplo, no había ningún icono de lupa en el campo de búsqueda de la página Mis pedidos).

Traducción y configuraciones regionales

  • Los corchetes que se agregan a las cadenas ya no se escapan cuando se configura la traducción en línea. Anteriormente, la variable escapeHtmlAttr El método convirtió los corchetes en códigos de entidad de HTML. GitHub-32000
  • Las frases que no se pueden traducir en el administrador ahora se pueden traducir. (Esta solicitud de extracción contribuye a los esfuerzos continuos para que todas las cadenas de administrador sean localizables). GitHub-11175
  • Cadenas de texto en la plantilla que se utilizan para administrar métodos de pago almacenados (Mi cuenta > Métodos de pago almacenados ) ahora se pueden traducir. GitHub-31211
  • Solicite los correos electrónicos enviados desde el administrador ahora usan la configuración regional del almacén, no la configuración regional asociada a la cuenta del administrador. GitHub-26521

IU

  • El pie de página del administrador ahora muestra la versión del producto correcta.
  • La paginación para orígenes está ahora presente como se espera durante la creación del envío de administración.
  • El filtro de cuadrícula de producto ahora funciona correctamente cuando se utilizan atributos de fecha personalizados para filtrar productos y la configuración regional del usuario administrador es en_GB.
  • Los gestos de pellizco y zoom ahora funcionan según lo esperado en la lupa de la galería de imágenes de la página de productos en dispositivos iOS.
  • La paginación de los resultados de búsqueda de la cuadrícula de productos de administración ahora comienza en la página uno para cada búsqueda según lo esperado.
  • Se han resuelto las anomalías con la visualización del carro de compras al ampliar o reducir. Anteriormente, los elementos de visualización se superponían al ampliar esta página.
  • Problemas de alineación con las pestañas de la página de invitaciones de administración (Administrador) Marketing > Ventas privadas > Invitaciones) se han resuelto. Anteriormente, la visualización de pestañas para invitaciones aceptadas por un cliente estaba desalineada. GitHub-333
  • La página de revisión de pedidos que se muestra durante el cierre de compra con PayPal Express Checkout ahora se carga correctamente. Anteriormente, la plantilla contenía el sin usar Actualizar método de envío , que el script solo ocultaba parcialmente durante la representación de la página. GitHub-32006
  • Las estrellas de clasificación y el texto de revisión de la sección de revisiones del cliente de la página del producto ahora se separan correctamente cuando hay nombres de clasificación largos. GitHub-31890
  • Las opciones ahora se muestran según lo esperado en la lista desplegable Acciones de las páginas Archivar Facturas, Envíos y Notas de Abono.
  • La aplicación ahora muestra un valor de hora correcto cuando la variable datetime componente timeOnly se establece en yes. GitHub-23157
  • Ahora puede quitar una actualización de diseño después de crear un nuevo widget en Administración Contenido > Widgets. GitHub-29936
  • El Quitar actualización de diseño ahora funciona según lo esperado en cualquier diseño que haya añadido desde el administrador Contenido > Widgets. Anteriormente, este botón no funcionaba en ningún diseño distinto del primero seleccionado al agregar varios diseños. GitHub-30286
  • La aplicación utiliza ahora el título de página definido en el archivo de diseño como título de la página del explorador para el archivo de edición de cuentas de cliente. Anteriormente, la variable Magento\Customer\Controller\Account\Edit la acción del controlador aplicó el valor del título de página a Account Information. GitHub-30724
  • Se han añadido a estas páginas las casillas de verificación que permiten a los comerciantes alternar entre mostrar y ocultar contraseñas:

    • Inicio de sesión del cliente
    • Registro de cliente
    • Edición de clientes (sección Cambio de contraseña)
    • El cliente establece una contraseña nueva GitHub-31557
  • Se ha eliminado un encabezado redundante en las celdas de la cuadrícula que aparecía cuando un administrador añadía un producto a un conjunto de productos agrupado después de cambiar el conjunto de atributos. GitHub-30911
  • La aplicación ahora muestra un DateRange filtro en el área de Logged in de Cliente > Iniciar sesión página. Anteriormente, la aplicación mostraba un Text filtro. GitHub-30328
  • JavaScript se ha eliminado de los archivos de plantilla y se ha movido a archivos independientes para reducir los problemas de procesamiento en las páginas de administración. Anteriormente, las páginas de administración no se representaban correctamente en implementaciones en las que se había habilitado la minificación de HTML. La aplicación mostraba este error: An error has happened during application run. See exception log for details. GitHub-32454
  • El dropdownDialog Ahora, el widget solo carga los elementos arrastrables y redimensionables jquery-ui trozos que necesita. Anteriormente, cargaba grandes cantidades de código innecesario, lo que inflaba el tiempo de carga y reducía el rendimiento. GitHub-32810

Reescrituras de URL

  • Las reescrituras de URL de productos para un sitio web específico en una implementación de varios sitios ahora se generan tal como se espera después de que los productos se asignen a un sitio web mediante una actualización masiva.
  • La aplicación ahora genera correctamente la ruta URL para las categorías secundarias cuando la variable Utilizar valor predeterminado La casilla de verificación de la clave URL está habilitada para la categoría principal. Anteriormente, al mover una categoría en la jerarquía se producía un error url_path cuando se utilizan claves de URL diferentes en una implementación de vista de varias tiendas. GitHub-16202
  • La aplicación ahora actualiza el url_path de la categoría asignada a todo el ámbito de almacén cuando se mueve una categoría en la jerarquía de categorías. Anteriormente, al mover una categoría en la jerarquía se producía un error url_path.
  • Las redirecciones de URL creadas desde el administrador mediante una URL personalizada ahora funcionan correctamente. Anteriormente, GraphQL almacenaba la respuesta en caché de un GraphQL urlResolver y devolvió el valor antiguo después de la actualización de reescritura de URL.
  • Las reescrituras de URL del producto ahora se eliminan según lo esperado cuando se elimina un producto de un sitio web. GitHub-24184
  • Se ha añadido un main_table referencia a la store_id en el addStoreFilter función del app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php colección. Anteriormente, los problemas se producían cuando join se agrega a la colección en una tabla que también contiene un store_id columna. GitHub-31853
  • El PUT /V1/products/:sku El extremo REST ahora vuelve a generar las reescrituras de URL del producto según lo esperado. Anteriormente, el punto de conexión regeneraba el producto url_key valores, pero no reescrituras de URL. GitHub-30316

Usuario

  • Ahora puede guardar una nueva función de usuario efectiva (Administrador) Sistema > Permisos > Funciones del usuario) con todo el Catalog árbol seleccionado excluyendo Edit Product Design ( Catálogo > Inventario > Productos > Editar diseño del producto). Anteriormente, la aplicación no guardaba los cambios de producto realizados por un usuario con esta función y mostraba este error: Not allowed to edit the product's design attributes. GitHub-31973
  • La aplicación ahora utiliza la plantilla de correo electrónico personalizada correcta al generar correos electrónicos para nuevos administradores. Anteriormente, la aplicación utilizaba la plantilla predeterminada antigua, que omitía el nombre y los apellidos del administrador.
  • La aplicación ahora utiliza la plantilla de correo electrónico correcta al enviar correos electrónicos a los nuevos usuarios. Anteriormente, la aplicación utilizaba la plantilla predeterminada incluso cuando se seleccionaba una plantilla personalizada.

VersionCMS

  • La aplicación ahora aplica la temática correcta a una página de CMS después de cambiar su diseño. Anteriormente, la aplicación cambiaba el tema asignado a Luma después de guardar los cambios de diseño, independientemente del tema asignado a la página.
  • Los administradores con funciones restringidas ahora pueden agregar, actualizar o duplicar correctamente las páginas a las que tiene acceso y que están asignadas a un nodo de jerarquía. Anteriormente, la aplicación arrojaba un error grave en estas condiciones.

Vídeo

  • Los vídeos ya están disponibles en la galería de productos como se espera cuando se habilita y utiliza el agrupamiento avanzado de JavaScript. GitHub-32501
  • Los vídeos de YouTube para productos simples que pertenecen a un producto configurable ahora funcionan según lo esperado. Anteriormente, las imágenes se ordenaban por ID en lugar de por posición. En consecuencia, algunos videos fueron tratados como imágenes. GitHub-29690

Visual Merchandiser

  • Se ha mejorado el rendimiento de las cargas de páginas de categorías de administración con Visual Merchandiser. La carga de páginas de categoría Administrador ya no genera consultas de base de datos de gran tamaño.

Marco de API web

  • La API de catálogo ahora actualiza correctamente los valores de opciones personalizadas de un producto añadiendo nuevos valores y eliminando valores antiguos. Anteriormente, la API no eliminaba los valores antiguos.
  • POST /V1/guest-carts/:cartId/billing-address ahora devuelve el ID de dirección como un número entero, no como una cadena.

Restricción de sitio web

  • Ahora se redirige a los compradores a la página a la que intentaban acceder antes de que se les pidiera que iniciaran sesión. Anteriormente, en implementaciones en las que las restricciones de sitios web estaban habilitadas y el modo de restricción estaba establecido en Ventas privadas: Solo inicio de sesión, se redirigió a los compradores a la página principal de la tienda.

Widget

  • Un administrador ahora puede eliminar todas las actualizaciones de diseño de un widget. Anteriormente, cuando un widget tenía varias actualizaciones de diseño, un administrador solo podía eliminar la primera.
  • Haciendo clic en Añadir al carro del widget del producto ya no provoca una recarga de la página. Anteriormente, al hacer clic en Añadir al carro Un botón de un widget de producto provocaba que una página actual se recargara antes de que el producto se agregara al carro de compras.
  • El widget de vínculo de nodo de jerarquía CMS en TinyMCE ahora procesa los vínculos de jerarquía como se espera cuando la variable Anclar texto personalizado el campo está vacío.

Lista de deseos

  • La aplicación ya no restablece los ajustes de configuración de un producto configurable al hacer clic en Editar elemento para el producto de una lista de artículos deseados. GitHub-32119
  • La aplicación ahora muestra el precio de producto correcto cuando actualiza un producto con una opción de archivo personalizable en la lista de deseos. Anteriormente, la aplicación mostraba el precio de producto incorrecto y no mostraba un vínculo al archivo cargado.
  • El recuento total de productos en una lista de artículos deseados para un cliente con varias listas de artículos deseados ahora coincide con el número de artículos en la lista de artículos deseados. Anteriormente, el recuento total de productos incluía productos sin existencias.
  • La aplicación ahora elimina un producto de una lista de artículos deseados después de añadirlo a un pedido. GitHub-30260
  • Los compradores ahora pueden añadir productos relacionados a su carro de compras desde una lista de deseos. Anteriormente, la aplicación solo agregaba el producto configurable, no el producto configurable y sus productos relacionados, cuando un comprador hacía clic en Seleccionar todo de la sección Productos relacionados. GitHub-32274

Problemas conocidos

Problema: Error de JavaScript cuando reCAPTCHA está deshabilitado. Si reCAPTCHA está deshabilitado para el cierre de compra, este se realizará, pero la aplicación mostrará un Uncaught TypeError error en el registro de la consola. Este problema se solucionará en una versión posterior.

Problema: Error de política de seguridad de contenido. La tienda muestra el siguiente error en el registro de la consola: The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline. El rendimiento de la tienda no se ve afectado.

Problema: Anomalías con la visualización de crédito de PayPal de los importes de las tarjetas regalo. Cuando se activa el crédito de PayPal y se configuran varios importes de tarjetas regalo, si un comprador cambia el importe por el valor de una tarjeta regalo, la tienda no actualiza el importe para los pagos a plazos. Se incluirá una corrección para este problema en Adobe Commerce 2.4.4 y Magento Open Source 2.4.4.

Problema: El Añadir a pedido ​El botón no funciona para los productos agregados al carro de compras por SKU. la aplicación muestra este mensaje de error al hacer clic en el icono Añadir a pedido después de añadir productos al pedido por SKU: An error has happened during application run. Los productos no se añaden al carro de compras. Solución: utilice la función Añadir productos.

Problema: GRAPHQL category y categoryList las consultas omiten los permisos de categoría que determinan si las categorías de un catálogo compartido están ocultas o expuestas. En este momento, la tienda muestra todas las categorías que se han asignado o dejado de asignar al catálogo compartido. Esto afecta a las implementaciones de Adobe Commerce 2.4.3 que implementan una tienda de PWA para la que se han habilitado los catálogos compartidos B2B.

Contribuciones comunitarias

Agradecemos a la comunidad Magento Open Source en general y quisiéramos agradecer sus aportaciones a esta versión.

El equipo de ingeniería de la comunidad Colaboradores Magento mantiene una lista de las personas y socios que más contribuyen por mes, trimestre y año. Desde esa página de colaboradores, puede seguir los vínculos a sus PR fusionadas en GitHub.

Contribuciones de socios

En el cuadro siguiente se destacan las contribuciones de los asociados. Esta tabla enumera el socio que contribuyó con la solicitud de extracción, la solicitud de extracción externa y el número de problema de GitHub asociado a ella (si está disponible).

Socio
Solicitudes de extracción
Problemas relacionados con GitHub
Atwix
magento/magento2#31228, magento/magento2#31025, magento/magento2#30996, magento/magento2#31128, magento/magento2#31053, magento/magento2#30837, magento/magento2#31433, magento/magento2#31079, magento/magento2#31013, magento/magento2#31261, magento/magento2#31016, magento/magento2#30986, magento/magento2#31241, magento/magento2#31243, magento/magento2#31221, magento/magento2#31123, magento/magento2#31147, magento/magento2#31097, magento/magento2#31287, magento/magento2#31099, magento/magento2#31420, magento/magento2#31320, magento/magento2#30776, magento/magento2#31564, magento/magento2#31827, magento/magento2#31592, magento/magento2#31634, magento/magento2#31436, magento/magento2#31371, magento/magento2#31323, magento/magento2#31057, magento/magento2#31009, magento/magento2#31595, magento/magento2#31452, magento/magento2#31458, magento/magento2#31487, magento/magento2#31418, magento/magento2#31240, magento/magento2#31603, magento/magento2#31601, magento/magento2#31394, magento/magento2#31247, magento/magento2#31508, magento/magento2#31449, magento/magento2#31776, magento/magento2#31788, magento/magento2#29047, magento/partners-magento2ee#280, magento/magento2#32071, magento/magento2#31936, magento/magento2#31924, magento/magento2#31918, magento/magento2#31859, magento/magento2#31864, magento/magento2#31604, magento/magento2#31510, magento/magento2#31512, magento/magento2#31502, magento/magento2#31488, magento/magento2#31454, magento/magento2#31507, magento/magento2#31164, magento/magento2#31568, magento/magento2#31569, magento/magento2#31851, magento/magento2#32078, magento/magento2#31953, magento/magento2#31961, magento/magento2#30850, magento/magento2#31395, magento/magento2#31390, magento/magento2#31451, magento/magento2#32467, magento/magento2#32477, magento/magento2#32524, magento/magento2#32517, magento/magento2#32463, magento/magento2#32498, magento/magento2#32288, magento/magento2#32353, magento/magento2#32539, magento/magento2#32465, magento/magento2#32295, magento/magento2#32759, magento/magento2#31938, magento/magento2#32356, magento/magento2#30623, magento/partners-magento2ee#539, magento/partners-magento2ee#540
magento/magento2#31233, magento/magento2#31031, magento/magento2#31056, magento/magento2#31130, magento/magento2#31074, magento/magento2#30858, magento/magento2#31438, magento/magento2#31160, magento/magento2#31034, magento/magento2#31168, magento/magento2#31033, magento/magento2#31039, magento/magento2#31250, magento/magento2#31249, magento/magento2#31234, magento/magento2#31129, magento/magento2#31153, magento/magento2#31132, magento/magento2#31290, magento/magento2#31131, magento/magento2#31440, magento/magento2#31327, magento/magento2#30784, magento/magento2#31575, magento/magento2#31844, magento/magento2#31628, magento/magento2#31647, magento/magento2#31437, magento/magento2#31442, magento/magento2#31325, magento/magento2#31073, magento/magento2#31036, magento/magento2#31627, magento/magento2#31632, magento/magento2#31522, magento/magento2#31521, magento/magento2#31441, magento/magento2#31251, magento/magento2#31624, magento/magento2#31626, magento/magento2#31403, magento/magento2#31248, magento/magento2#31516, magento/magento2#31524, magento/magento2#31801, magento/magento2#28522, magento/partners-magento2ee#28586, magento/partners-magento2ee#31435, magento/partners-magento2ee#31560, magento/partners-magento2ee#31561, magento/magento2#32072, magento/magento2#31937, magento/magento2#31902, magento/magento2#31860, magento/magento2#31865, magento/magento2#31623, magento/magento2#31515, magento/magento2#31514, magento/magento2#31519, magento/magento2#31520, magento/magento2#31517, magento/magento2#31075, magento/magento2#31574, magento/magento2#31573, magento/magento2#31852, magento/magento2#32079, magento/magento2#31954, magento/magento2#31962, magento/magento2#30855, magento/magento2#30645, magento/magento2#31523, magento/magento2#32505, magento/magento2#32504, magento/magento2#32583, magento/magento2#32518, magento/magento2#32507, magento/magento2#32569, magento/magento2#32502, magento/magento2#32379, magento/magento2#32279, magento/magento2#32568, magento/magento2#32506, magento/magento2#32377, magento/magento2#4451, magento/magento2#32577, magento/magento2#29631, magento/magento2#30210, magento/partners-magento2ee#32574, magento/partners-magento2ee#32928
Blue Acorn iCi
magento/magento2#31022, magento/magento2#28926, magento/magento2#30992, magento/magento2#30881, magento/magento2#30938, magento/magento2#31621
magento/magento2#30265, magento/magento2#29528, magento/magento2#30286, magento/magento2#30880, magento/magento2#29690, magento/magento2#27678
Cedcommerce
magento/magento2#30410, magento/partners-magento2ee#444, magento/magento2#31736, magento/magento2#31584, magento/partners-magento2ee#449
magento/magento2#30424, magento/partners-magento2ee#31111, magento/magento2#31660, magento/partners-magento2ee#31331
Krish TechnoLabs
magento/magento2#31142, magento/magento2#29991, magento/magento2#31208, magento/magento2#29804
magento/magento2#30911, magento/magento2#29936, magento/magento2#31188, magento/magento2#29365, magento/magento2#29805
EY
magento/magento2#31369, magento/magento2#30615, magento/magento2#31490, magento/partners-magento2ee#445
magento/magento2#4451, magento/magento2#29302, magento/partners-magento2ee#31196
TechDivision
magento/magento2#30943
magento/magento2#30936
AYKO
magento/magento2#32389
magento/magento2#32088
Gato blanco rápido
magento/magento2#31157, magento/magento2#31886
magento/magento2#30724, magento/magento2#30471
Ojo De Peces
magento/magento2#30695
magento/magento2#30788
Vaimo
magento/magento2#30626
magento/magento2#30622
Ziffity
magento/partners-magento2ee#451, magento/magento2#31482
magento/magento2#31557
MRM Commerce
magento/magento2#32612, magento/magento2#32610
magento/magento2#32578, magento/magento2#32658
Asesoría inteligente
magento/magento2#30910
magento/magento2#30909

Contribuciones de colaborador individual

La siguiente tabla identifica las contribuciones de los miembros de nuestra comunidad. En esta tabla se enumeran las solicitudes de extracción externas, el número de problema de GitHub asociado a ellas (si está disponible) y el miembro de la comunidad que contribuyó con la solicitud de extracción.

Miembro de la comunidad colaborador
Solicitudes de extracción
Problemas relacionados con GitHub
marrullero
#31045
sagar1dahiwala
#31101
501
zaximus84
#31022
30265
ihor-sviziev
#31151
31152
AnnaAPak
#31079
31160
AnnaAPak
#31013
31034
aligent-lturner
#30910
30909
thomas-kl1
#30822
30830
gwharton
#30868
28511
central aeroespacial
#30953
30952
pawel-siejba
#30626
30622
Chandresh22
#30477
30270
matiashidalgo
#28926
29528
shawnabramson
#27845
26909
engcom-Golf
#31189
31090
engcom-Echo
#31066
31095
vovayatsyuk
#31275
31291
serie-v
#31228
31233
korovitskyi
#31261
31168
zaximus84
#30881
30880
serie-v
#30996
31056
AnnaAPak
#31016
31033
AnnaAPak
#30986
31039
serie-v
#31025
31031
zaximus84
#30992
30286
linitskyi
#31098
31135
Safaljha
#31142
30911
Safaljha
#29991
29936
AnnaAPak
#31147
31153
serie-v
#31128
31130
DmitryFurs
#31165
31239
AnnaAPak
#31221
31234
AnnaAPak
#31241
31250
AnnaAPak
#31243
31249
AnnaAPak
#31123
31129
Usik2203
#30837
30858
AnnaAPak
#31097
31132
Usik2203
#31053
31074
vpsnak
#31021
31032
mrtuvn
#30634
30584
driskell
#28007
8933, 18409, 22438, 23054, 25634, 26507, 26809
AnnaAPak
#31287
31290
AnnaAPak
#31099
31131
GovindaSharma
#30410
30424
kate-kyzyma
#31433
31438
AnnaAPak
#31420
31440
DmitryFurs
#31166
31171
Bartlomiejsz
#31157
30724
elisei
#31212
31211
nikolalardev
#30959
31040
kandy
#30990
31038
viniciusbordinhao-blueacorn
#30938
29690
engcom-Golf
#31368
30964
SmVladyslav
#31352
30284
SmVladyslav
#31422
30256
mrtuvn
#31330
31445
serie-v
#31320
31327
AnnaAPak
#31436
31437
AnnaAPak
#31371
31442
aleksinoleg
#31334
31471
vovayatsyuk
#31162
31170
sereno
#31198
31197
AnnaAPak
#31323
31325
AnnaAPak
#31057
31073
Usik2203
#30776
30784
Nazar65
#31308
31288
AnnaAPak
#31009
31036
engcom-Golf
#31563
30250
engcom-Golf
#31594
23843
AnnaAPak
#31452
31632
serie-v
#31564
31575
AnnaAPak
#31595
31627
ihor-sviziev
#31542
engcom-Kilo
#31629
31591
engcom-Echo
#31501
26214
engcom-Echo
#31553
22662
AnnaAPak
#31240
31251
chiranjeevi-cj
#31369
AnnaAPak
#31418
31441
AnnaAPak
#31458
31522
AnnaAPak
#31487
31521
AnnaAPak
#31601
31626
AnnaAPak
#31603
31624
AnnaAPak
#31394
31403
vovayatsyuk
#31321
31326
AnnaAPak
#31247
31248
Safaljha
#31208
31188
apokiso
#30950
31042
nikunjkotecha
#21857
21853
engcom-Kilo
#31646
11995
mrtuvn
#31793
7231
navarra
#31621
27678
kate-kyzyma
#31827
31844
serie-v
#31592
31628
serie-v
#31634
31647
mrtuvn
#31754
30506
AnnaAPak
#31508
31516
AnnaAPak
#31449
31524
nikolalardev
#31158
31169
AnnaAPak
#31488
31520
AnnaAPak
#31454
AnnaAPak
#31510
31515
AnnaAPak
#31502
31519
AnnaAPak
#31512
31514
engcom-Charlie
#31485
25907
AnnaAPak
#31604
31623
MellenIO
#31636
31641
AnnaAPak
#31507
31517
serie-v
#31788
31801
serie-v
#31776
mrtuvn
#30871
30882
MuelleW
#31299
31300
larsortig
#30943
30936
edspc
#30883
31530
ravi-chandra3197
#29804
29365, 29805
dineshvb
#30615
29302
victorpetria
#31892
31890
engcom-Echo
#31957
31891
shikhamis11
#31736
31660
SmVladyslav
#32120
32119
victorpetria
#32107
32106
serie-v
#31859
31860
serie-v
#31864
31865
engcom-Charlie
#31875
26521
achatpc
#31815
31853
serie-v
#31936
31937
serie-v
#31924
31902
kate-kyzyma
#31918
engcom-Charlie
#32095
28996
serie-v
#32071
32072
AnnaAPak
#31569
31573
AnnaAPak
#31568
31574
maksymz
#31804
11175, 31873
engcom-Hotel
#31750
30802
dorupétruco
#31205
31216
rain2o
#27315
12584
engcom-Kilo
#32217
27285
engcom-Kilo
#32239
31950
mastiuhin-olexandr
#32002
32000
engcom-Charlie
#32009
30316
serie-v
#32078
32079
engcom-Charlie
#32082
23297
Den4ik
#32187
31608
ihor-sviziev
#32299
32313
fnogatz
#32249
32262
Bartlomiejsz
#31886
30471
serie-v
#31953
31954
ihor-sviziev
#31933
31948
serie-v
#31851
31852
AnnaAPak
#31451
31523
AnnaAPak
#31390
30645
AnnaAPak
#31395
engcom-Charlie
#31645
30492
AnnaAPak
#30850
30855
ajithkumar-maragathavel
#31482
31557
edenduong
#30329
30328
SmVladyslav
#32275
32274
engcom-Kilo
#32301
32232
engcom-Kilo
#32326
31849
engcom-Kilo
#32363
30149
ihor-sviziev
#32462
26377, 32440
gixid192
#32393
30257
gixid192
#32398
31633
engcom-Charlie
#32212
30756
engcom-Charlie
#32186
32116
serie-v
#31961
31962
engcom-Charlie
#32273
17727
mamífero
#32389
32088
fantasma
#30755
30577
AntonEvers
#28973
29549
zakdma
#32580
27656
engcom-Kilo
#32650
31956
mastiuhin-olexandr
#32194
32102
quisse
#27012
22273
sivaschenko
#32710
32709
rehén
#32639
32644
engcom-Foxtrot
#32646
32647
engcom-Charlie
#32254
19345
Estornudo craneal
#32298
32671
kate-kyzyma
#32288
32379
en sesión
#32400
32495
mrtuvn
#32434
32454
ihor-sviziev
#32532
27411, 32525
kate-kyzyma
#32498
32502
kate-kyzyma
#32463
32507, 32569
serie-v
#32517
32518
kate-kyzyma
#32524
32583
kate-kyzyma
#32477
32504
kate-kyzyma
#32467
32505
charles-tychons
#32448
32616
bgorski
#32612
32578
bgorski
#32610
32658
ProkopovVitaliy
#31938
32577, 4451
mrtuvn
#31080
31140
sofocado
#30695
30788
thomas-kl1
#30823
30860
engcom-Kilo
#32730
23645
kate-kyzyma
#32465
32506
ihor-sviziev
#32499
32501
kate-kyzyma
#32539
32568
Usik2203
#32353
32279
vlmed
#32356
martasiewierska
#32802
32810
DmitryTimmbal
#32759
rehén
#32145
32786
engcom-Foxtrot
#32099
32100
erfanimani
#31985
31984
kate-kyzyma
#32295
32377
vidyli
#31296
24635
engcom-Kilo
#32755
24363
ihor-sviziev
#32614
31777, 826
rogyar
#30623
29631, 30210

Requisitos del sistema

Nuestra pila de tecnología está construida sobre PHP y MySQL. Para obtener más información, consulte Requisitos del sistema.

Instrucciones de instalación y actualización

Puede instalar Adobe Commerce 2.4.3 mediante Compositor.

Kits de herramientas de migración

La herramienta de migración de datos ayuda a transferir los datos del almacén de Magento 1.x existente al Magento 2.x. Esta interfaz de línea de comandos incluye funciones de verificación, seguimiento de progreso, registro y prueba. Para obtener instrucciones de instalación, consulte Instalación de la herramienta de migración de datos. Considere la posibilidad de explorar o contribuir al Repositorio de migración de datos.

El Code Migration Toolkit ayuda a transferir las extensiones y personalizaciones de almacén de Magento 1.x existentes a Magento 2.x. La interfaz de línea de comandos incluye secuencias de comandos para convertir módulos y diseños de Magento 1.x.

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