Parche de seguridad disponible

Los comerciantes ahora pueden instalar correcciones de seguridad urgentes sin aplicar los cientos de correcciones y mejoras funcionales que ofrece una versión trimestral completa (por ejemplo, 2.4.0-p1). El parche 2.4.0.1 (Composer package 2.4.0-p1) es un parche de seguridad que proporciona correcciones para vulnerabilidades que se han identificado en nuestra versión trimestral anterior, 2.4.0. Todas las correcciones rápidas aplicadas a la versión 2.4.0 se incluyen en este parche de seguridad. (Una corrección rápida proporciona una corrección de una versión publicada que soluciona un problema o error específico).

Para obtener información general acerca de los parches de seguridad, consulte Presentación de la nueva versión de parches de seguridad. Para obtener instrucciones sobre cómo descargar y aplicar parches de seguridad (incluido el parche 2.3.5-p2), consulte Instalación rápida local. Los parches de seguridad solo incluyen correcciones de errores de seguridad, no las mejoras de seguridad adicionales que se incluyen en el parche completo.

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 el artículo de la base de conocimiento Aplicar un parche para seguir ofreciendo DHL como transportista para obtener información sobre cómo descargar e instalar el parche.

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, 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.

Características destacadas

Busque los siguientes aspectos destacados en esta versión.

Mejoras sustanciales de seguridad

Esta versión incluye más de 15 correcciones de seguridad y mejoras de seguridad de la plataforma. Todas las correcciones de seguridad se han trasladado a 2.4.0-p1 y 2.3.6.

Más de 15 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, entre las que se incluyen, entre otras, las siguientes: inclusión en la lista de permitidos de IP, autenticación de doble factor, uso de una VPN, uso de una ubicación única en lugar de /admin y buena higiene de la contraseña. Consulte Actualizaciones de seguridad disponibles para el Magento para ver una discusión de estos problemas corregidos.

Mejoras de seguridad adicionales

Las mejoras de seguridad para esta versión incluyen:

  • Se ha agregado la protección CAPTCHA a las siguientes áreas de producto:

    • Página de ubicación de la tienda de pedidos y puntos finales de REST y GraphQL
    • Puntos finales de REST y GraphQL relacionados con el pago.

    La protección CAPTCHA para estas páginas adicionales está desactivada de forma predeterminada. Puede habilitarse en el administrador del mismo modo que otras páginas cubiertas por CAPTCHA. Esta protección se ha añadido como mecanismo de fuerza antibruta para proteger las tiendas contra ataques de carding. Ver CAPTCHA.

  • Compatibilidad con el atributo SameSite para las cookies. Para admitir la aplicación Chrome de Google del nuevo sistema de clasificación de cookies, se han actualizado las clases de aplicación que administran cookies para admitir el atributo de cookie SameSite. Este atributo está establecido en Lax de manera predeterminada, pero se puede anular explícitamente.

  • Herramienta de análisis de seguridad mejorada. El Adobe se ha asociado con Sanguine Security, líder en la prevención del robo digital, para integrar su base de datos de más de 8700 firmas de amenazas en el Escáner de seguridad. Esta asociación permitirá a los comerciantes obtener información en tiempo real sobre el estado de seguridad de su sitio a través de la detección proactiva de malware y la reducción de falsos positivos. Los comerciantes pueden registrarse en la herramienta visitando https://account.magento.com/scanner. Para obtener más información, consulta la publicación de blog Proteger tu tienda con la herramienta de análisis de seguridad mejorada.

NOTA
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 en la calidad principal, que mejoran la calidad del marco de trabajo y estas áreas funcionales: Cuenta de cliente, Catálogo, CMS, OMS, Importar/Exportar, Promociones y objetivos, Carro y cierre de compra, y Ensayo y vista previa.

Mejoras de rendimiento

  • Reducción del tamaño de las transferencias de red entre Redis y el Magento. La configuración de la lista de complementos ahora se genera durante la ejecución del comando bin/magento di:compile. Esta información de configuración se escribe en carpetas de metadatos generadas en función del ámbito. Anteriormente, esta información se almacenaba en la caché. Las mejoras de rendimiento resultantes incluyen una disminución en el tamaño de la caché de red y el tiempo de ejecución para muchos escenarios.

  • Rendimiento mejorado del consumidor de la cola de mensajes. Tres nuevos ajustes de configuración admiten una disminución del consumo de CPU en cola de consumo. Estos parámetros opcionales proporcionan un mayor control sobre los consumidores y ahorran recursos de servidor. Consulte Configurar colas de mensajes para obtener una descripción de los parámetros maxIdleTime, sleep y onlySpawnWhenMessageAvailable.

  • Tiempo de ejecución mejorado para bin/magento comandos.

Integración de Adobe Stock

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

Galería de medios nuevos

La Galería de nuevos medios ahora está habilitada de forma predeterminada en el Administrador. Los comerciantes ahora pueden realizar estas acciones en las imágenes de la Galería multimedia:

  • Eliminar imágenes de forma masiva

  • Optimice el almacenamiento de medios identificando imágenes duplicadas e imágenes que no se usan en la tienda

  • Filtre imágenes por el área de tienda en la que se utilizan, incluido el contenido de productos y categorías y los bloques de CMS

  • Trabajo con metadatos de imagen

    • Ver metadatos de las imágenes cargadas en la Galería multimedia
    • Editar metadatos de imagen (título, descripción y palabras clave)
    • Buscar imágenes según sus metadatos

GraphQL

Esta versión añade cobertura de GraphQL para las siguientes funciones:

  • Críticas de productos. Los clientes y los huéspedes pueden escribir comentarios sobre los productos. Los clientes pueden recuperar sus historiales de críticas de productos. Consulte Crear una revisión de producto y productReviewRatingsMetadata query para obtener información sobre cómo recuperar información sobre la infraestructura de revisiones.

  • Opciones de regalo. Todos los clientes e invitados pueden agregar un mensaje de regalo a su pedido. Los clientes también pueden agregar envoltorios para regalos, recibos de regalos y tarjetas impresas al pedido. Ver setGiftOptionsOnCart mutación y updateCartItems mutación

  • Historial de pedidos. Todos los clientes pueden ver los detalles de sus historiales de pedidos, incluidas las facturas, los envíos y los reembolsos.

  • Agregar al carro. La mutación addProductsToCartle permite agregar cualquier tipo de producto al carro de compras activo. Se recomienda usar esta mutación en lugar de mutaciones de un solo propósito como addSimpleProductsToCart. Corrección enviada por Yaroslav Rogoza en la solicitud de extracción 27914. GitHub-28524

  • Métodos de pago almacenados. Los clientes que iniciaron sesión ahora pueden almacenar los datos de pago (incluida la tarjeta de crédito del Braintree y el Braintree con PayPal) en Mi cuenta.

  • Compatibilidad con listas de deseos en el Magento Open Source. Puede agregar elementos a, actualizar elementos en y quitar elementos de una lista de artículos deseados.

  • Se mejoró la administración de cuentas de clientes. Hemos agregado las mutaciones createCustomerV2 y updateCustomerV2 para administrar las cuentas de cliente. Estas nuevas mutaciones requieren objetos de entrada diferentes a las mutaciones createCustomer y updateCustomer. Para cambiar la dirección de correo electrónico de un cliente, use la nueva mutación updateCustomerEmail.

  • Soporte para Payflow Pro Vault. Se ha agregado compatibilidad con GraphQL Vault para el método de pago Payflow Pro Vault. Corrección enviada por Oleh Usik en la solicitud de extracción 28821. GitHub-28520

  • Se ha actualizado la consulta storeConfigde GraphQL para incluir nuevas opciones de configuración de cliente. Corrección enviada por Oleh Usik en la solicitud de extracción 27876. GitHub-28521

  • Se agregó la mutación requestPasswordResetEmail, que almacena en déclencheur el correo electrónico de restablecimiento de contraseña para la dirección de correo electrónico proporcionada. Corrección enviada por Oleh Usik en la solicitud de extracción 27876. GitHub-28521

  • Klarna GraphQL. Se agregaron o actualizaron temas sobre Klarna GraphQL en método de pago de Klarna y createKlarnaPaymentsSession

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

PWA Studio

La versión 8.0.0 de PWA Studio presenta nuevas funciones y mejoras:

  • Actualizaciones de la guía de estilo de Venia que se aplican a tokens de diseño, tipografía, colores, componentes principales y diseños de página.

  • Mejoras en la experiencia del minicarrito de Venia

  • Compatibilidad inicial con varias configuraciones regionales y contenido localizado en la tienda Venia

  • Numerosas mejoras en la experiencia Mi cuenta de la tienda Venia

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

Marco de prueba funcional (MFTF)

MFTF 3.1.0 ya está disponible. Consulte Registro de cambios del marco de prueba funcional.

Extensiones desarrolladas por el proveedor

Consulte los siguientes artículos 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.1.

Instalación, actualización e implementación

  • La instalación con extensiones de terceros que dependen de las API para el módulo Almacenar en comandos CLI ya no falla. Anteriormente, la aplicación mostraba este mensaje de error: The default website isn't defined. Set the website and try again. Este era un problema conocido en 2.4.0.
  • bin/magento setup:di:compile ya no genera un error irrecuperable. Anteriormente, la aplicación generaba un error la primera vez que se ejecutaba este comando, pero la segunda ejecución resultaba en una compilación correcta.
  • La actualización ya no falla cuando se declara un complemento en Magento\Framework\Encryption\Encryptor.
  • La aplicación ahora muestra un mensaje de error informativo cuando algunos temas no se implementan después de ejecutar bin/magento setup:static-content:deploy. Anteriormente, cuando la implementación se completaba correctamente pero no se implementaban todos los paquetes, la aplicación no mostraba un error. Cuando el comando se ejecuta con un procesamiento paralelo habilitado y cada tema requiere más tiempo para implementarse que el tiempo de ejecución máximo especificado, este comando puede finalizar correctamente, aunque los temas no se implementan.
  • La casilla de verificación Usar valor predeterminado para los pagos de Klarna (Tiendas > Configuración > Ventas > Métodos de pago > Klarna) ahora permanece activada como se espera cuando cambia el ámbito del sitio web.
  • La actualización ya no provoca el fallo repentino del clúster de Galera. Anteriormente, el clúster de Galera se cerraba abruptamente tras la reindexación inmediatamente después de la actualización. Durante una actualización, las tablas de índice se modifican y el motor se cambia de MEMORY a InnoDB. En este punto, el contenido de estas tablas se desincronizó entre los nodos del clúster de Galera. GitHub-25334
  • La desactivación del módulo PageBuilder ya no afecta a la representación de la página del producto. Anteriormente, los diseños personalizados de la página de producto desaparecían cuando se deshabilitaba el módulo y la aplicación mostraba una página en blanco.
  • Ahora puede usar bin/magento sampledata:deploy para implementar datos de ejemplo como se espera después de instalar Magento Open Source mediante Composer. Anteriormente, la aplicación arrojó este error: Git installations must deploy sample data from GitHub; see [Clone sample data Git repositories](../../../installation/sample-data/git-repositories.md) for more information. Corrección enviada por Andrii Beziazychnyi en la solicitud de extracción 27481. GitHub-19481
  • El rendimiento de la tienda ha mejorado al eliminar la carga innecesaria del componente Datepicker. Corrección enviada por Mateusz Krzeszowiak en la solicitud de extracción 27860. GitHub-28823
  • Al ejecutar bin/magento setup:upgrade, ya no se muestra información superflua sobre las cachés. Corrección enviada por Sathish Subramanian en la solicitud de extracción 27567. GitHub-27091
  • La ejecución de bin/magento config:show <vendor_module>/general/value ahora devuelve 0 o una cadena vacía como se esperaba. Anteriormente, devolvió Configuration for path: "vendor_module/general/value" doesn't exist. Corrección enviada por Vadim Malesh en la solicitud de extracción 28549. GitHub-23290
  • bin/magento setup:static-content:deploy --language=all ahora implementa todos los idiomas que se usan en la tienda y todos los idiomas configurados por los usuarios administradores cuando no se establece ningún parámetro de idioma. (en_US siempre se implementa de forma predeterminada). Corrección enviada por Anton Evers en la solicitud de extracción 28922. GitHub-29218
  • La aplicación ya no muestra el menú Copia de seguridad cuando la función Copia de seguridad está desactivada. Corrección enviada por Eden Duong en la solicitud de extracción 29222. GitHub-29280
  • La inicialización del asistente de imagen de catálogo ahora utiliza el modelo de producto en lugar de DataObject. Corrección enviada por jmonteros422 en la solicitud de extracción 29435. GitHub-1711
  • Los usuarios administradores ahora pueden guardar un campo vacío de Duración del token del cliente (horas) (Administradores Tiendas > Configuraciones > Servicios > OAuth > Caducidad del token de acceso). GitHub-29502
  • La configuración Crear redireccionamiento permanente para la URL antigua ahora está deshabilitada de manera predeterminada para las categorías. Corrección enviada por Vadim Malesh en la solicitud de extracción 28752. GitHub-24922

Integración de Adobe Stock

  • Las imágenes de la cuadrícula de imágenes de Adobe Stock ahora se alinean correctamente después de borrar los filtros. Corrección enviada por Nazar Klovanych en la solicitud de extracción 28366. GitHub-824, GitHub-972
  • El campo Utilizado en de la página de detalles de imagen de la galería de Adobe Stock ahora identifica con precisión si la imagen está asociada con un producto. Corrección enviada por Nazar Klovanych en la solicitud de extracción 28798. GitHub-1474
  • \Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute ahora elimina los vínculos a las palabras clave que no se especifican en los parámetros e inserta las nuevas al eliminar etiquetas de palabra clave al editar detalles de imagen. Corrección enviada por jmonteros422 en la solicitud de extracción 29207. GitHub-1391
  • El mensaje Login failed que muestra la aplicación cuando un comerciante hace clic en Licencia para una imagen de Adobe Stock guardada anteriormente sin licencia ya no contiene etiquetas de HTML. Corrección enviada por Yolouiese en la solicitud de extracción 29398. GitHub-1684
  • Al hacer clic en los vínculos en la sección Utilizado en de la página Detalles de la imagen, ahora se muestra una cuadrícula que muestra todas las entidades filtradas por la imagen. El filtro de recursos también está configurado y se muestra correctamente. Anteriormente, la aplicación no mostraba el título del recurso en la sección Filtros aplicados. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29367. GitHub-1694
  • La aplicación ya no muestra la sección Used in de la página de detalles de la imagen cuando la imagen no está en uso. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29367. GitHub-1699
  • Se han corregido problemas de visualización al añadir una nueva etiqueta de imagen que supera el número máximo de caracteres. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29367. GitHub-1702
  • Assets ahora se puede comprobar según lo esperado usando el filtro de recursos en la sección Detalles de la imagen Utilizada en. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29367. GitHub-1704
  • La información acerca de las imágenes que utilizan diferentes entidades (por ejemplo, page y category) ahora aparece corregida en la página Detalles de la imagen. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29367. GitHub-1747
  • La aplicación ya no genera una excepción cuando un comerciante intenta guardar un producto con su imagen asociada cuando Media Gallery está desactivada. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29492. GitHub-1750
  • Al hacer clic en los vínculos de la sección Utilizado en para una imagen de la Galería de medios, ahora se abre la cuadrícula de entidades que la imagen filtra según lo esperado. Anteriormente, el título de la imagen no se mostraba en la sección de filtros aplicados de la cuadrícula. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29429. GitHub-1694
  • La aplicación ahora agrega etiquetas correctamente cuando edita varias imágenes sucesivamente en la Galería multimedia. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29429. GitHub-1755
  • La aplicación ahora elimina las etiquetas de las imágenes de Adobe Stock después de que un comerciante las elimine y guarde los detalles de la imagen. Anteriormente, las etiquetas no se eliminaban hasta que se actualizaba la página. Corrección enviada por Honeymay Louiese Ignacio en la solicitud de extracción 29400. GitHub-1703

Amazon Pay

  • Amazon Pay ahora comprueba si un usuario ya ha iniciado sesión antes de procesar las opciones de pago.

  • Se han resuelto los problemas con la autenticación de varios factores y los carros de compras abandonados.

  • Amazon Pay ahora rellena correctamente store name en correos electrónicos y otras ubicaciones mostradas. Si el campo Nombre de tienda en la configuración de Amazon Pay está vacío, la extensión recupera el nombre predeterminado de la tienda (es decir, el nombre que le des a tu tienda en Administración).

  • Se han abordado los problemas de localización y traducción para los escenarios de rechazo. El texto mostrado ya no está siempre en inglés.

Paquete de productos

  • La aplicación ya no genera una excepción cuando intenta crear un producto en una implementación en la que está instalado Inventory pero el módulo Magento_InventoryBundleProduct está deshabilitado.
  • La aplicación ahora calcula correctamente los reembolsos sin conexión para pedidos que contienen productos agrupados.
  • El minicarrito ahora muestra los precios correctos para los productos agrupados cuando los precios de nivel también se asignan para productos simples. GitHub-22807
  • Los comerciantes ahora pueden crear una nota de crédito para los productos agrupados que proporcione un reembolso sin requerir la devolución del producto. Anteriormente, la aplicación arrojaba un error. Corrección enviada por Dzung Nguyen en la solicitud de extracción 27455. GitHub-23440
  • La aplicación ya no muestra mensajes de validación redundantes cuando un comprador agrega un paquete de producto al carro de compras sin seleccionar una opción requerida. Corrección enviada por Dzung Nguyen en la solicitud de extracción 27455. GitHub-23440

Corrección enviada por Michał Derlatka en la solicitud de extracción 29256. GitHub-26110

Caché

  • El almacenamiento de caché local ahora se conserva durante el período de tiempo establecido en Almacenes > Configuración > General > Web > Configuración de cookies predeterminada. Anteriormente, la fecha de caducidad de las cookies estaba codificada en un día, lo que la desincronizaba con esta configuración. Como resultado, los mensajes de bienvenida no conservaban la información del cliente que devolvía durante el tiempo esperado.
  • Se ha reducido el número de llamadas a la caché de página config. Corrección enviada por Lukasz Bajsarowicz en la solicitud de extracción 28992. GitHub-29159
  • Varnish ya no genera un error Connection reset by peer cuando se reindexa un catálogo grande según lo programado. Corrección enviada por Matthew O'Loughlin en la solicitud de extracción 26256. GitHub-8815
  • La caché de la página completa ya no se borra para los productos no relacionados cuando se edita un producto en el Administrador. GitHub-25670

Carro y cierre de compra

  • Las consultas SQL directas se han reemplazado por el proveedor de datos, que ha mejorado el rendimiento de desprotección. Corrección enviada por Lukasz Bajsarowicz en la solicitud de extracción 29376. GitHub-29453
  • Ahora, las listas Productos en la comparación y Productos comparados recientemente funcionan según lo esperado. Anteriormente, cuando se expandía la lista de comparación, la aplicación no mostraba productos, aunque en la sección se indicaba que la lista contenía productos.
  • El botón Eliminar de la sección Agregar al carro de compras por SKU de la página Administrar carro de compras de un cliente ahora funciona como se espera cuando se seleccionan varias filas.
  • La aplicación ya no genera un error cuando intenta solicitar un producto por SKU cuando los dígitos introducidos coinciden con un SKU válido, pero el caso de estos dígitos difiere. Anteriormente, al escribir un SKU en Mi cuenta > Pedido por SKU que no coincidía exactamente con un SKU válido, la aplicación arrojó un error.
  • Ahora, la dirección de envío de un cliente se selecciona de forma predeterminada al cerrar la compra, cuando la dirección se encuentra en el país identificado en la lista Permitir países y esa lista incluye únicamente ese país. Anteriormente, la aplicación no seleccionaba la dirección como predeterminada y mostraba este mensaje de error: Please specify a regionId in shipping address.
  • Los comerciantes ahora pueden habilitar Aplicar al importe de envío en la pestaña Acción de Marketing > Reglas de precio del carro de compras > Agregar nueva regla cuando se aplique Descuento de cantidad fija para todo el carro de compras. GitHub-24422
  • La aplicación ya no genera una excepción cuando un comprador intenta anular la configuración de la cookie de persistencia después de comenzar la compra y luego navegar a la página principal de la tienda. Anteriormente, cuando el comprador hacía clic en ¿No es usted? vínculo en la página principal, la aplicación produjo esta excepción: The shipping address is missing. Set the address and try again. GitHub-24218
  • La aplicación ahora muestra un mensaje de éxito del complemento al carro de compras cuando un cliente agrega un producto agotado al carro de compras. Anteriormente, el producto se agregaba, pero la aplicación no mostraba un mensaje de éxito.
  • Los atributos de dirección personalizados ahora se incluyen según lo esperado en el formulario que se muestra para el paso de pago en el flujo de trabajo de cierre de compra.
  • El cuadro de entrada Estado/Provincia/Región ahora está habilitado como se espera en Mi cuenta > Libreta de direcciones > Agregar nueva dirección.
  • Los descuentos ahora se aplican según lo esperado a los gastos de envío cuando Aplicar al importe de envío está habilitado. Corrección enviada por Andrii Kalinich en la solicitud de extracción 28839. GitHub-26723
  • El código que admite el cierre del minicarrito se ha refactorizado para quitar la función closeSidebar. Se ha agregado el enlace de clic correspondiente al elemento [data-action="close"]. Corrección enviada por lumnn en la solicitud de extracción 28906. GitHub-29161
  • El nuevo botón Mostrar "Borrar carro de compras" en la página del carro de compras proporciona control para mostrar el botón Borrar carro en la página de vista del carro de compras. Esta configuración está deshabilitada de forma predeterminada. Corrección enviada por Pavlo Sydorenko en la solicitud de extracción 27917. GitHub-28705
  • La validación se ha agregado al campo de teléfono del flujo de trabajo de cierre de compra. Corrección enviada por Oleh Usik en la solicitud de extracción 27537. GitHub-28800
  • La desprotección de invitados ahora está deshabilitada como se espera cuando un carro de compras contiene productos descargables cuando la configuración Compartible y Deshabilitar la desprotección de invitados si el carro de compras contiene elementos descargables está deshabilitada. Corrección enviada por Rani Priya en la solicitud de extracción 23972. GitHub-23971
  • El mensaje de éxito que muestra la aplicación cuando un comprador agrega un producto al carro de compras desde la barra lateral de la cuenta del cliente ahora contiene un vínculo al carro de compras del comprador. Corrección enviada por Ajith en la solicitud de extracción 27977. GitHub-29097
  • La aplicación ahora selecciona un valor vacío de forma predeterminada para el menú desplegable de opciones de prefijo del flujo de trabajo de cierre de compra. Corrección enviada por Vadim Malesh en la solicitud de extracción 28238. GitHub-18823
  • El mensaje emergente que la aplicación muestra al eliminar varios elementos de un carro de compras ahora describe con precisión la cantidad y el tipo de entidades que ha seleccionado para la eliminación. Corrección enviada por Nazar Klovanych en la solicitud de extracción 29490. GitHub-1749
  • La aplicación ahora muestra un formulario de registro de cliente cuando un usuario invitado completa el cierre de compra.
  • Los campos de atributos de dirección de cliente personalizados ahora se muestran según lo esperado en el flujo de trabajo de cierre de compra de la tienda.
  • La aplicación ahora recupera el grupo de clientes actual para una oferta activa durante el cierre de compra. Anteriormente, la aplicación utilizaba el grupo de clientes activo cuando el producto se agregaba al carro de compras por primera vez y, si ese grupo de clientes se eliminaba antes del cierre de compra, la aplicación generaba un error. Corrección enviada por Konstantin en la solicitud de extracción 28902. GitHub-29327
  • La aplicación ahora elimina los productos desactivados del carro de compras antes del cierre de compra. Anteriormente, cuando un comprador agregaba un producto al carro que estaba deshabilitado antes de que se completara el cierre de compra, la aplicación eliminaba el producto deshabilitado del carro, pero el producto permanecía en la cotización y el comprador no podía cerrar la compra. GitHub-26680
  • La aplicación clasifica ahora los productos más vendidos según lo esperado. Anteriormente, tanto el recuento de productos como la paginación de los resultados de ordenación eran incorrectos. GitHub-25955
  • Los compradores ahora pueden abrir la página de detalles de un producto haciendo clic en el nombre del producto en la barra lateral de comparación de productos. Corrección enviada por Eduard Chitoraga en la solicitud de extracción 27451. GitHub-21101
  • Los valores de children_count ahora permanecen positivos cuando un administrador elimina categorías. Anteriormente, cuando un administrador eliminaba categorías, el valor de children_count para las categorías restantes era negativo. Corrección enviada por Vitaliy Prokopov en la solicitud de extracción 28044. GitHub-27969
  • La aplicación ahora usa la opción predeterminada (Configuración > Web > Diseños predeterminados > Diseño de producto predeterminado) que seleccionó para el atributo page_layout al crear un nuevo producto. Anteriormente, el valor predeterminado seleccionado no se aplicaba.
  • Ahora puede realizar correctamente acciones masivas en stock de productos de inventario. Anteriormente, cuando se intentaba realizar una acción masiva en el inventario de existencias de productos, la aplicación mostraba una página en blanco. Si realizó esta acción con la aplicación en modo de desarrollador, la aplicación arrojó este error: Notice: Undefined offset: 32000 in /Users/kodithuw/sites/m23inventory/inventory/InventoryCatalogAdminUi/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml on line 24.
  • El recuento total de registros que se muestra al hacer clic en Agregar productos en la ficha Productos al agregar productos a una categoría de catálogo ya no cambia según el criterio de ordenación de productos.
  • La consulta {products(filter: {sku: {eq: "some sku"}}) {…} ahora devuelve valores que se han convertido a la moneda esperada. Anteriormente, price_tiers.final_price.value mostraba precios especiales en la moneda base. Corrección enviada por Petkovski Marjan en la solicitud de extracción 28890. GitHub-26121

Cleanup

  • Se ha corregido la desalineación de la casilla de verificación de cuadrícula Administrador de pedidos de ventas. Corrección enviada por Tu Nguyen en la solicitud de extracción 27642. GitHub-27633
  • Se ha corregido un error ortográfico en el captador de ID de dirección de envío en el controlador de guardado de dirección de pedido de ventas. Corrección enviada por Konstantin en la solicitud de extracción 28810. GitHub-28982
  • Se corrigió el nombre de método getRegionNameExpresion en getRegionNameExpression. Corrección enviada por Pierre Grimaud en la solicitud de extracción 28832. GitHub-28829
  • Se ha quitado un método redundante init de app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.php y app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php. Corrección enviada por Oleh Usik en la solicitud de extracción 28650. GitHub-29009
  • localStorage polyfill se ha movido de base a frontend. Corrección enviada por Ihor Sviziev en la solicitud de extracción 28749. GitHub-28900
  • Se ha actualizado el logotipo de Adobe Commerce y se han eliminado los espacios superfluos del archivo LÉAME principal del repositorio magento/magento2. Corrección enviada por Rafael Corr̻a Gomes en la solicitud de extracción 28891. GitHub-29056
  • La clase overflowed innecesaria se ha eliminado del widget de barra lateral del minicarrito. Corrección enviada por lumnn en la solicitud de extracción 28963. GitHub-29160
  • Se ha corregido un selector CSS incorrecto en la página Envío. Corrección enviada por Tu Nguyen en la solicitud de extracción 28639. GitHub-29261
  • El archivo lib/internal/Magento/Framework/App/Request/Http.php se ha simplificado optimizando la lógica, eliminando las asignaciones de variables redundantes y el uso excesivo de los retornos dentro de una función. Corrección enviada por Chris Snedaker en la solicitud de extracción 28608. GitHub-29381
  • El comando bin/magento module:status ahora acepta varios nombres de módulo como argumentos. Corrección enviada por Chandru Rajendran en la solicitud de extracción 28250. GitHub-29344
  • Se corrigió un error tipográfico en la descripción de clase de \Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable. Corrección enviada por Benjamin Rosenberger en la solicitud de extracción 29451. GitHub-29470
  • La clase TierPriceManagement se ha refactorizado para quitar el código redundante. Corrección enviada por Lukasz Bajsarowicz en la solicitud de extracción 29202. GitHub-29477
  • autoload.php se ha refactorizado para mejorar la legibilidad y la velocidad de retorno. Corrección enviada por Vitaliy Ryaboy en la solicitud de extracción 28923. GitHub-29527

Contenido de CMS

  • La pestaña Jerarquía de una vista de tienda predeterminada seleccionada ahora muestra la página principal seleccionada según lo esperado.
  • La aplicación ya no genera un error durante la creación de la vista de tienda cuando la nueva vista de tienda contiene una página de CMS con la misma clave de URL que una página en una vista de tienda diferente. Corrección enviada por Vadim Malesh en la solicitud de extracción 28421. GitHub-28357

Productos configurables

  • Se han corregido los problemas de paginación con la lista Variaciones actuales de edición de productos configurables.
  • La aplicación ya no actualiza el cuadro de precio Productos relacionados cada vez que un comprador selecciona opciones para un producto configurable. Anteriormente, la aplicación actualizaba la caja de precios cada vez que un comprador seleccionaba una opción para un producto configurable.
  • La aplicación ahora muestra el precio correcto para los productos configurables con opciones personalizables en la página Administrador Crear Pedido. Como se espera, el precio mostrado es una suma del precio del producto secundario y del precio de la opción personalizada. Anteriormente, la aplicación solo mostraba el precio de opción personalizado. GitHub-25766
  • El resumen del pedido ahora muestra el importe de descuento correcto cuando se ha aplicado una regla de precio del carro de compras. Anteriormente, la regla no redondeaba correctamente los importes al calcular los descuentos de envío.
  • Las cuentas de usuario administrador creadas a partir de una cuenta de administrador con un ámbito restringido ahora pueden crear un producto configurable con atributos según lo esperado. Anteriormente, la aplicación arrojó este error: Notice: Undefined index: value_index in 23develop/app/code/Magento/ConfigurableProduct/Helper/Product/Options/Factory.php on line 101.
  • La aplicación ya no genera un error de validación cuando se utiliza el POST /V1/products en un producto configurable con un valor int de 0. Anteriormente, la aplicación arrojaba este error: Product with id "%1" does not contain required attribute "%2"." Corrección enviada por Vadim Malesh en la solicitud de extracción 29001. GitHub-13210
  • El atributo de opciones de configuración de un producto principal ya no se asigna al atributo size de un nuevo producto configurable. Corrección enviada por Abel Truong en la solicitud de extracción 27339. GitHub-26449

Cookies

  • La aplicación ahora crea un máximo de una cookie mage-translation-file-version y mage-translation-storage por sesión. Corrección enviada por Ihor Sviziev en la solicitud de extracción 27364. GitHub-27355

cron

  • La configuración del consumidor de colas de mensajes se ha ampliado con nuevos parámetros que ayudan a controlar a los consumidores y a ahorrar recursos del servidor, y que potencialmente reducen el consumo de CPU de las colas de consumidores:

    • maxIdleTime define el tiempo de espera máximo en segundos para un nuevo mensaje de la cola.
    • sleep especifica el tiempo en segundos que se debe suspender antes de comprobar si hay un nuevo mensaje disponible en la cola.
    • onlySpawnWhenMessageAvailable identifica si se debe generar un consumidor solamente cuando existe un mensaje disponible en la cola relacionada. Esta configuración está habilitada de forma predeterminada para todos los consumidores, pero se puede configurar por cada consumidor.
  • cron expresiones como 3/10 * * * * se han programado según lo esperado. Corrección enviada por Anton Evers en la solicitud de extracción 28930. GitHub-29240
  • sales_clean_quotes ya no carga todas las ofertas caducadas a la vez. Anteriormente, la aplicación fallaba con este error irrecuperable porque todas las comillas caducadas se cargaban simultáneamente: PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /path/to/magento2/vendor/magento/framework/Model/AbstractModel.php on line 359,

CSS

  • La aplicación ya no duplica CSS cuando Critical CSS está habilitado. Corrección enviada por Tu Nguyen en la solicitud de extracción 28480. GitHub-26498
  • El compilador LESS del lado del servidor ahora importa todos los archivos CSS remotos como se espera cuando se ejecuta bin/magento setup:static-content:deploy -f. Anteriormente, la aplicación no importaba los archivos remotos y generaba un error. GitHub-25119

Cliente

  • Los nombres de las regiones en las direcciones de los clientes de administración ahora se traducen según lo esperado.
  • Los campos Estado/Provincia ahora se rellenan según lo esperado en la página Editar dirección (Mi cuenta > Libreta de direcciones).
  • La aplicación ya no genera un error cuando un cliente hace clic en el botón Enviar varias veces en formularios en toda la tienda para los que se ha habilitado el reCAPTCHA invisible. Anteriormente, si se hacía clic en este botón varias veces, se producía un error interno similar al siguiente: Internal error: Make sure you are using reCaptcha V3 api keys.
  • Guardar un cliente eliminado del administrador ahora solo genera un mensaje de error. Anteriormente, la aplicación mostraba una página en blanco y generaba un informe que contenía esta cadena: "0":"No such entity with customerId = 3","1":"#1 Magento\\Customer\\Model CustomerRegistry->retrieve() called at [app\/code\/Magento\/Customer\/Model\/ResourceModel\/CustomerRepository.php:340".
  • La aplicación ahora muestra un mensaje de error como se espera cuando un administrador intenta guardar una dirección para un cliente cuya cuenta acaba de ser eliminada. Anteriormente, la aplicación mostraba un cuadro de mensaje en blanco.
  • Las etiquetas de los campos de dirección del flujo de trabajo de cierre de compra y de la libreta de direcciones se han editado para mantener la coherencia.
  • Las etiquetas de front-end ahora vuelven a almacenar las etiquetas si sus valores no son nulos. Anteriormente, los atributos del cliente utilizaban las etiquetas de front-end predeterminadas. Corrección enviada por Toan Nguyen en la solicitud de extracción 27064. GitHub-27063
  • Se ha corregido el número sortOrderde vínculos en el XML de diseño. Anteriormente, este orden se invertía y se utilizaba en orden descendente. Corrección enviada por Tu Nguyen en la solicitud de extracción 27340. GitHub-27162

Directorio

  • El formato del menú desplegable Estado/Provincia ahora es coherente en toda la administración.

dotdigital

  • La sincronización de pedidos ya no falla cuando un pedido contiene SKU de producto que ya no existen en el catálogo.

  • Las categorías de productos vacías ya no se incluyen en los datos de perspectivas web.

  • El seguimiento del comportamiento web ahora funciona para comerciantes con determinadas configuraciones de temas. Un nuevo selector de reserva resuelve esto.

  • El campo de datos de estado del suscriptor ya no incluye valores vacíos cuando la sincronización de clientes se ejecutó mediante cron. (La emulación de la aplicación soluciona este problema).

  • La asignación de libreta de direcciones funciona ahora según lo esperado cuando una cuenta dotdigital está habilitada en el nivel predeterminado pero deshabilitada para el sitio web principal.

  • Ahora se generan cupones (mediante la URL de contenido dinámico externo para la generación de cupones) para direcciones de correo electrónico que contienen signos más ("+").

  • Los contactos ya no se vuelven a suscribir cuando su valor last_subscribed_at es nulo.

  • Se han resuelto los errores de actualización (que datan de la versión 4.5.2) que afectaban a versiones anteriores.

  • Se ha corregido un problema de regresión introducido en la versión 4.5.3 que afectaba al uso de un método para obtener el estado de suscriptor al preparar la exportación del suscriptor.

  • La cifra total de suscriptores sincronizados (presentada en los registros y en la pantalla) ahora se calcula correctamente.

Descargable

  • El área Mis productos descargables ahora muestra vínculos a productos descargables comprados que forman parte de un producto agrupado según lo esperado.
  • Al hacer clic en el botón Muestra de un producto descargable de la página de producto Administrador, ahora se descarga una muestra según lo esperado. Anteriormente, al hacer clic en Ejemplo, la aplicación mostraba este error: The product that was requested doesn't exist. Verify the product and try again.
  • Los compradores ahora pueden descargar muestras de productos descargables que están agotados. Anteriormente, cuando un comprador intentaba descargar una muestra, la aplicación abría una pestaña nueva, pero no mostraba un mensaje informativo ni iniciaba el proceso de descarga. Corrección enviada por Vadim Malesh en la solicitud de extracción 28898. GitHub-23638
  • Se ha mejorado el mensaje de excepción que la aplicación muestra cuando un comprador intenta establecer una dirección de envío para un producto descargable. Corrección enviada por Michał Derlatka en la solicitud de extracción 28904. GitHub-26107
  • Los datos de stock_item de un producto se actualizan y los vínculos de productos descargables y las muestras se conservan según lo esperado cuando se utiliza una llamada de PUT REST para actualizar los valores de stock_item. Anteriormente, después de la actualización del producto, el producto ya no contenía vínculos para descargar contenido. Corrección enviada por Vadim Malesh en la solicitud de extracción 28799. GitHub-21811
  • La aplicación ahora muestra un mensaje más informativo cuando un cliente establece la dirección de envío de un pedido que solo contiene productos descargables.

Correo electrónico

  • La aplicación ahora envía notificaciones por correo electrónico sobre cambios en el pedido al correo electrónico del cliente correcto si el correo electrónico del cliente se ha cambiado después de crear el pedido.
  • Los correos electrónicos de actualización de pedidos que se envían a los clientes ahora incluyen el estado de pedido correcto. Anteriormente, si un estado de pedido cambiaba de processing a otro estado, el correo electrónico de pedido no reflejaba el cambio de estado.
  • La aplicación ya no muestra mensajes engañosos sobre cuentas existentes durante el cierre de compra de invitados. Anteriormente, cuando un invitado navegaba a la página de cierre de compra y luego regresaba a la página de envío, la aplicación mostraba este error: You already have an account with us. Sign in or continue as guest.
  • Las plantillas de correo electrónico personalizadas ahora cargan los mismos elementos que las plantillas de correo electrónico predeterminadas nativas. Anteriormente faltaban algunos elementos, incluidos los valores de variables.
  • Se ha eliminado CSS innecesario de la plantilla de vista previa de correo electrónico. Corrección enviada por Tu Nguyen en la solicitud de extracción 27828. GitHub-27543
  • Se ha eliminado el texto de la plantilla de correo electrónico que duplica el texto que ya se muestra en el pie de página. Corrección enviada por Paweł Tylek en la solicitud de extracción 27356. GitHub-28433
  • Los correos electrónicos de alerta de producto ahora se envían desde el almacén desde el que se suscribe la alerta. Anteriormente, este correo electrónico siempre se enviaba desde el almacén predeterminado. Corrección enviada por Maciej Pawłowski en la solicitud de extracción 26534. GitHub-28968
  • Se ha eliminado una variable customer.name duplicada de la plantilla de correo electrónico. Corrección enviada por Paweł Tylek en la solicitud de extracción 29054. GitHub-29087
  • Ahora puede crear una plantilla de correo electrónico que envíe correos electrónicos con Content-Type: "text/plain". Anteriormente, la aplicación ignoraba el tipo de contenido especificado en la plantilla. Corrección enviada por twoonesixdigital en la solicitud de extracción 26474. GitHub-26471

Marcos

  • El campo Hora del día para enviar datos de la página Administrador Tiendas > Configuración > GENERAL > Informes avanzados ahora se muestra correctamente.
  • Los compradores ahora pueden cambiar el número de pedidos que se muestran por página cuando la lista Pedidos abarca varias páginas. Anteriormente, la aplicación mostraba el siguiente mensaje cuando el comprador navegaba a la última página de pedidos e intentaba cambiar el número de pedidos mostrados por página: You have placed no orders. Este era un problema conocido de la versión 2.4.0.
  • Ahora puede añadir productos a una categoría al implementar la caché de nivel 2.
  • X-Magento-Tags encabezados ya no superan el tamaño permitido por la especificación HTTP. Anteriormente, las páginas de categoría que contenían muchos productos devolvían un encabezado X-Magento-Tag que generaba un error 503.
  • sales_order_shipment_track_save_commit_after ahora se activa según lo esperado cuando utilizó la API de REST para crear un envío.
  • La aplicación ahora muestra un mensaje de error informativo cuando un di compile falla debido a una dependencia inexistente. Anteriormente, el mensaje mostrado no identificaba la clase en la que se producía la excepción.
  • La aplicación ya no genera el siguiente error irrecuperable cuando Redis utiliza toda la memoria permitida: report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'.
  • Los compradores ahora pueden agregar varios productos al carro de compras cuando el módulo Persistent está deshabilitado. GitHub-14486