Magento Open Source 2.4.7 Notas de la versión

Magento Open Source 2.4.7 presenta soporte para PHP 8.3. Incluye cientos de correcciones y mejoras de calidad. Las dependencias del Compositor principal y las bibliotecas de terceros se han actualizado a las últimas versiones disponibles. Esta versión aumenta la cobertura de GraphQL para atributos personalizados y cachés de resolución de GraphQL. También introduce soporte para servicios FedEx y UPS recientemente actualizados.

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

Otra información de la versión

Aunque el código para estas características está incluido con las versiones del código central de Magento Open Source, varios de estos proyectos también se publican de forma independiente. Las correcciones de estos proyectos se documentan en la información de versión separada y específica del proyecto que está disponible en la documentación de cada proyecto.

Magento Open Source 2.4.7 destacados

Look para los siguientes aspectos destacados de esta versión.

Mejoras de seguridad

Esta versión incluye las mismas correcciones de seguridad y mejoras de seguridad de plataforma que se incluyen en Adobe Systems Commerce 2.4.6-p5, 2.4.5-p7 y 2.4.4-p8. Consulte Adobe Systems boletín de seguridad para obtener la explicación más reciente de estos problemas corregidos.

Hasta la fecha no se han producido ataques confirmados relacionados con estos problemas. Sin embargo, ciertas vulnerabilidades pueden explotarse para acceder a la información del cliente o hacerse cargo de sesiones de administrador. La mayoría de estos problemas requieren que un atacante obtenga primero acceso al administrador. Como resultado, le recordamos que tome todas las medidas necesarias para proteger a su Administrador, incluidos, entre otros, estos esfuerzos:

  • Lista de direcciones IP permitidas
  • autenticación de doble factor
  • uso de una VPN
  • el uso de una ubicación única en lugar de /admin
  • Buena higiene contraseña

Mejoras de seguridad adicionales

Las mejoras de seguridad de esta versión mejoran el cumplimiento de las prácticas recomendadas de seguridad más recientes.

  • Cambios en el comportamiento de las claves de caché no generadas:

    • Las claves de caché no generadas para bloques ahora incluyen prefijos que difieren de los prefijos para claves que se generan automáticamente. (Las claves de caché no generadas son claves que se establecen mediante plantilla sintaxis de directiva o los setCacheKey métodos o setData ).
    • Las claves de caché no generadas para bloques ahora deben contener solo letras, dígitos, guiones (-) y caracteres de subrayado (_).
  • Limitaciones en el número de códigos de cupón generados automáticamente. Magento Open Source ahora limita el número de códigos de cupón que se generan automáticamente. El valor máximo predeterminado es 250.000. Los comerciantes pueden usar la nueva Code Quantity Limit opción de configuración (Stores > Settings:Configuration > Customers > Promotions) para evitar abrumar potencialmente el sistema con muchos cupones.

  • Optimización del proceso predeterminado de generación de URL de administración. La generación del URL de administración predeterminado se ha optimizado para lograr una mayor aleatoriedad, lo que hace que las URL generadas sean menos predecibles.

  • Una nueva configuración de caché de Página completa puede ayudar a mitigar los riesgos asociados con el extremo HTTP {BASE-URL}/page_cache/block/esi . Este extremo admite fragmentos de contenido cargados dinámicamente sin restricciones procedentes de controladores de diseño de comercio y estructuras de bloques. La nueva Handles params size configuración establece el valor del handles parámetro de este extremo, que determina el número máximo permitido de identificadores por API. El valor predeterminado de este Propiedad es 100. Los comerciantes pueden cambiar este valor desde el Administrador (Stores > Settings:Configuration > System > Full Page Cache > Handles params size). Consulte Configurar el aplicación comercio para utilizar barniz.

  • Se ha agregado compatibilidad con la integridad de subrecursos (SRI) para cumplir con los requisitos de la versión PCI 4.0 para la verificación de la integridad de los scripts en las páginas de pago. La compatibilidad con la integridad de subrecursos (SRI) proporciona hashes de integridad para todos los JavaScript activos que residen en el sistema de archivos local. La función SRI predeterminada se implementa solo en las páginas de pago para las áreas de administración y escaparate. Sin embargo, los comerciantes pueden extender la configuración predeterminada a otras páginas. Consulte Integridad de subrecursos en la Guía para desarrolladores de PHP de comercio.

  • Cambios en la política de seguridad de contenido (CSP): actualizaciones de configuración y mejoras en Adobe Systems políticas de seguridad de contenido (CSP) de Commerce para cumplir con los requisitos de PCI 4.0. Para obtener más información, consulte Políticas de seguridad de contenido en la Guía para desarrolladores de Commerce PHP.

    • La configuración de CSP predeterminada para las páginas de pago para las áreas de administración de comercio y escaparate ahora restrict está en modo. Para todas las demás páginas, la configuración predeterminada es report-only el modo. En versiones anteriores a la 2.4.7, el CSP se configuraba en report-only modo para todas las páginas.

    • Se ha agregado un proveedor nonce para permitir la ejecución de scripts en línea en un CSP. El proveedor de nonce facilita la generación de cadenas de nonce únicas para cada solicitud. A continuación, las cadenas se adjuntan al encabezado CSP.

    • Se han agregado opciones para configurar URI personalizados para informar de infracciones de CSP para el Página de pedidos de Crear en el Administrador y el Página de cierre de compra en el escaparate. Puede agregar la configuración desde el administrador o agregando el URI al config.xml archivo.

      note note
      NOTE
      La actualización de la configuración del CSP al restrict modo podría bloquear los scripts en línea existentes en las páginas de pago en el Admin y Storefront, lo que provoca el siguiente error explorador cuando se carga un Página: Refused to execute inline script because it violates the following Content Security Policy directive: "script-src. Corrija estos errores actualizando la configuración de la lista blanca para permitir los scripts necesarios. Consulte Solución de problemas en la Guía para desarrolladores de Commerce PHP.
  • Limitación de tasa nativa para la información de pago transmitida a través de las API REST y GraphQL. Los comerciantes ahora pueden configurar la limitación de tasa para la información de pago transmitida mediante REST y GraphQL. Esta capa adicional de protección respalda la prevención de ataques de cardado y potencialmente disminuye el volumen de ataques de cardado que prueba muchos números de tarjeta de crédito a la vez. Esto es un cambio en el comportamiento predeterminado de un punto final REST existente. Consulte Limitación de velocidad.

  • Se ha modificado el comportamiento predeterminado de la consulta isEmailAvailable GraphQL y del punto final REST (V1/customers/isEmailAvailable). De forma predeterminada, las API ahora siempre devuelven true. Los comerciantes pueden habilitar el comportamiento original estableciendo la opción Habilitar inicio de sesión de Guest Checkout en el Administrador en yes, pero al hacerlo se puede exponer la información del cliente a usuarios no autenticados.

Platform mejoras

Platform actualizaciones de esta versión mejoran el cumplimiento de las prácticas recomendadas de seguridad más recientes.

Magento Open Source 2.4.7 incluye las siguientes actualizaciones de plataforma:

  • Compatibilidad con PHP 8.3. Esta versión introduce compatibilidad con PHP 8.3. Magento Open Source ahora es compatible con PHP 8.3 y 8.2. PHP 8.2 será compatible hasta su fecha de fin de servicio (EOS) en diciembre de 2025. Después de diciembre de 2025, todos los comerciantes que ejecuten implementaciones de 2.4.7 deberían migrar a PHP 8.3.

Magento Open Source 2.4.7 sigue siendo compatible con PHP 8.1 sólo para fines de actualización. PHP 8.1 no es compatible y no se recomienda. Magento Open Source código central 2.4.7, todas las extensiones empaquetadas y todas las extensiones y servicios SaaS propiedad de Adobe Systems son compatibles con PHP 8.3.

  • Soporte para RabbitMQ 3.13. Esta versión es compatible con la última versión de RabbitMQ 3.13. Compatibilidad permanece con RabbitMQ 3.11 y 3.12, que son compatibles hasta agosto de 2024 y diciembre de 2024 respectivamente, pero Adobe Systems recomienda usar Magento Open Source 2.4.7 solo con RabbitMQ 3.13.

  • Compositor 2.7.x. Compatibilidad con Composer 2.2.x permanece.

  • Soporte para Varnish cache 7.4. Esta versión es compatible con la última versión de Varnish Cache 7.4. Compatibilidad se mantiene con las versiones 6.0.x y 7.2.x, pero recomendamos usar Magento Open Source 2.4.7 solo con Varnish Cache versión 7.4 o versión 6.0 LTS.

  • Elasticsearch Compatibilidad con 8.11

  • Compatibilidad con OpenSearch 2.12 y OpenSearch 1.3

  • Redis 7.2

  • El extjs biblioteca se ha reemplazado por la última versión de jsTree.

  • jquery/fileUpload biblioteca se ha eliminado.

Todas las dependencias JavaScript bibliotecas y NPM en Magento Open Source código principal se han actualizado a las últimas versiones disponibles. Todas las dependencias biblioteca de Laminas han sido actualizadas a la última versión que son compatibles con PHP 8.3.

Actualizaciones adicionales

  • La puerta de enlace API XML de UPS de Commerce se ha migrado a la nueva API de REST de UPS de Commerce para admitir las actualizaciones que UPS está realizando en su modelo de seguridad API. (UPS está implementando un modelo de seguridad OAuth 2.0 (tokens al portador) para todas las API). Todas las API XML de UPS de comercio anteriores se han eliminado de la base de código de Magento Open Source 2.4.7.

  • La integración🔗 Magento Open Source con FedEx se ha migrado de FedEx WSDL Web Services heredados a las últimas API RESTful de FedEx. Seguimiento de servicios web de FedEx, validación de direcciones y validación de códigos postales WSDLS se retirará en mayo de 2024.

  • Se agregó compatibilidad con el nuevo método de envío USPS Ground Advantage. Esta es una integración lista para usar con el nuevo método de envío de USPS, USPS Ground Advantage, que se lanzó en julio de 2023. Esta nueva integración se puede utilizar para recuperar tarifas de envío y programar entregas y devoluciones a través del servicio de envío de USPS. El método de envío USPS Ground Advantage reemplaza estos métodos de envío, que se retiraron cuando se lanzó el método de envío USPS Ground Advantage:

    • Masa para minoristas de USPS
    • Servicio de paquetes de primera clase
    • Terreno de selección de paquetes
  • Los módulos de envío de Temando se han eliminado del núcleo Magento Open Source base de código. Esta función quedó obsoleta en Magento Open Source 2.4.4.

Mejoras de rendimiento y escalabilidad

Magento Open Source 2.4.7 incluye las siguientes mejoras en Magento Open Source rendimiento y escalabilidad:

  • Administración mejorada del indexador. El nuevo indexer:set-status comando soporta la administración dinámica del estado del indexador. Los usuarios administradores pueden utilizar este comando para cambiar el estado del indizador a suspended, invalid, o valid. Esta característica es particularmente útil para administrar el rendimiento del sistema durante operaciones masivas extensas, como importaciones o actualizaciones de productos, al permitir el control sobre cuándo los indizadores se activan automáticamente por los trabajos cron del sistema. Consulte Administrar los indexadores.

  • La lista de productos Página para productos complejos con muchas opciones. El tiempo de carga ha mejorado para las páginas de listado de productos que incluyen productos complejos con más de 100 opciones. También ha mejorado el rendimiento de las solicitudes de GraphQL a lista productos por parte de categoría.

  • Ventas regla mejoras de rendimiento. Rendimiento mejorado de las implementaciones empresariales con muchas (aproximadamente 100.000) reglas de ventas activas. Las implementaciones empresariales que implementar en gran medida las promociones suelen implementar muchas reglas de carro de compras activas. Estos tipos de implementaciones empresariales que ejecutan Magento Open Source 2.4.7 no verán ninguna degradación del rendimiento relacionada con el número de reglas de precio de carro de compras configuradas durante las operaciones de pago.

  • Operaciones de guardado más rápidas de configuraciones de nivel tienda para implementaciones con muchos almacenes. Guardar opciones de configuración en implementaciones con más de 500 almacenes puede llevar mucho tiempo. La nueva módulo de configuración asíncrona permite operaciones de guardado de configuración asincrónica ejecutando un trabajo cron que utiliza un consumidor para procesar la operación de guardado en un cola de mensaje. AsyncConfig está deshabilitado de forma predeterminada.

  • Generación más rápida de la caché de configuración para configuraciones grandes. El bin/magento cache:clean config comando ahora precalienta la caché de configuración cuando la caché de configuración está habilitada. Esto reduce el tiempo de inactividad necesario para generar la caché de configuración para configuraciones grandes. Las operaciones de guardado de configuración ya no limpian la config_scopes memoria caché antes de escribir datos en la memoria caché, lo que también reduce el tiempo que otras solicitudes se bloquean mientras se escriben los datos de configuración.

Braintree

  • Vaulted PayPaly Pay Later Cambios: los clientes registrados que previamente han almacenado sus PayPal cuenta tienen la opción de pagar con:

    • Pay Now (sin tener que iniciar sesión en su PayPal cuenta, el usuario puede pagar con su tarjeta predeterminado)
    • Pague con una fuente de financiación diferente
    • Paga con un cuenta diferente
    • PayPal Pay Later o PayPal Credit botón
  • Compatibilidad conGoogle Pay 3DS: se ha incluido la compatibilidad de verificación de 3DS para las Google Pay tarjetas sin token. Consulte la documentación🔗 de Braintree para obtener más información.

  • Vault Apple Pay Payments: permite a los clientes conectados bóveda/tienda sus Apple Pay pagos a sus tienda de comercio cuenta usarlos en transacciones futuras. Esto reduce el número de pasos en el cierre de compra y crea un experiencia de pago más rápido para el cliente que regresa.

  • Vault Google Pay Payments: permite a los clientes conectados bóveda/tienda sus Google Pay pagos a sus tienda de comercio cuenta usarlos en transacciones futuras. Esto reduce el número de pasos en el cierre de compra y crea un experiencia de pago más rápido para el cliente que regresa.

  • Vault Venmo Payments: permita a los clientes conectados bóveda/tienda Venmo sus cuentas a sus tienda de comercio cuenta para usarlas en futuras transacciones. Esto reduce el número de pasos en el cierre de compra y crea un experiencia de pago más rápido para el cliente que regresa.

  • Vault ACH Payments: permita a los clientes conectados bóveda/tienda sus pagos ACH a su tienda de comercio cuenta para usarlos en transacciones futuras. Esto reduce el número de pasos en el cierre de compra y crea un experiencia de pago más rápido para el cliente que regresa.

  • Express Paymentbotones en la parte superior del proceso de pago: para fomentar un experiencia de pago más rápido, hemos introducido Express Payment opciones al principio del proceso de pago. Los clientes ahora pueden pagar por PayPal, PayPal Pay Later, Apple Pay, y Google Pay Express pagos.

  • BraintreeNotas de la versión y vínculos de asistencia dentro de la configuración del administrador: los comerciantes ahora pueden vincular directamente desde el administrador de comercio para Braintree soporte y Notas de la versión en línea.

  • Compatibilidad de GraphQL con todos los Braintree métodos de pago exceptoVenmo—se exponen más configuraciones en la API de GraphQL. Esto es particularmente útil para aplicaciones sin cabeza.

  • Vaultingpagos en cuenta área: los clientes conectados ahora pueden bóveda/tienda nuevas tarjetas de crédito/débito y PayPal cuentas en el área de cuenta al cliente. Anteriormente, los clientes solo podían bóveda / tienda al guardar sus pagos para su uso posterior al completar una transacción en el pago, ahora pueden almacenar nuevas tarjetas de crédito / débito y cuentas PayPal sin necesidad de crear una nueva transacción.

  • Transacciones sin fricción: las transacciones sin fricción aceleran el proceso de pago al reducir el número de clics / pasos de los clientes para completar una transacción de tarjeta de crédito / débito en línea. Anteriormente (cuando 3DS estaba habilitado), todos los clientes eran desafiados por 3DS. Con la nueva función Frictionless Transactions, los clientes solo tienen problemas para 3DS cuando el banco lo solicita. Esto reduce el abandono carro de compras, aumenta las tasas de Conversión y conduce a más ventas.

  • Webhooks de disputas: cuando un cliente disputa una transacción en Braintree, el estado de la disputa ahora se transfiere a Comercio. Se puede buscar en la cuadrícula > Sales Order y adjuntarlo a cada pedido.

GraphQL

Magento Open Source 2.4.7 incluye capacidades mejoradas de GraphQL almacenamiento en caché, soporte de GraphQL esquema para atributos personalizados, soporte para cancelación de pedidos sin cabeza y almacenamiento en caché de resolución mejorado.

  • Gestión de carro de compras más flexible. La clearCart mutación ahora borra el contenido de un carro de compras especificado en una sola acción. Reemplaza a la clearCustomerCart mutación, que ha sido obsoleta.

  • Las mejoras en la creación carro de compras mutaciones. La createGuestCart mutación se ha agregado para reemplazar la mutación obsoleta createEmptyCart . Anteriormente, si utilizaba createEmptyCart, no podía determinar si el carro de compras era para un invitado o un cliente conectado.

  • Los artículos pedidos ahora incluyen imágenes de producto. OrderItemInterface Expone imágenes de productos, lo que permite asociarlas con productos pedidos y cargarlas de forma más eficaz. GitHub-32369

  • Compatibilidad ampliada para resolver almacenamiento en caché. Los siguientes solucionadores de consulta de GraphQL ahora se pueden almacenar en caché en la caché de resultados de GraphQL Resolver, lo que mejora el rendimiento cuando se envían consultas con solicitudes POST:

    • Magento\CustomerGraphQl\Model\Resolver\Customer::resolve
    • Magento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolve
    • Magento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolve
    • Magento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
  • Soporte para cancelación de pedidos. La mutación cancelOrder permite a un cliente cancelar un pedido, pasando su identificador y un motivo de cancelación.

  • Se ha mejorado la compatibilidad con los atributos personalizados. La compatibilidad con los atributos personalizados de GraphQL se ha mejorado enriqueciendo los datos de la API para admitir todos los tipos de atributos. La esquema de atributos EAV de GraphQL ahora admite la extensión de atributos de cliente y objetos de dirección de cliente en Admin y su recuperación mediante GraphQL. Las áreas específicas de mejora incluyen:

    • Compatibilidad con atributos personalizados ampliados/agregados a áreas específicas como el cliente y la dirección del cliente
    • Se ha agregado almacenamiento en caché para los atributos personalizados
    • Compatibilidad mejorada con los atributos personalizados existentes en los productos
  • Las capacidades mejoradas de GraphQL almacenamiento en caché mejoran Página velocidad de carga. Se ha añadido la capacidad de almacenamiento en caché a estas consultas, lo que mejora la velocidad del tiempo de carga de Página en la mayoría de las páginas de PWA:

  • Se mejoró el rendimiento del analizador GraphQL. Se ha mejorado el rendimiento del analizador GraphQL al reducir el número de veces que se llama al método de análisis por solicitud. Ahora se llama una vez. Anteriormente, se llamaba al analizador al menos tres veces.

Nuevo campos para mutaciones existentes

  • Se ha añadido el quickorder_active campo a las consultas storeConfig y availableStores . Este campo indica si la función de pedido rápido está activada.

  • Se han añadido los campos siguientes a las setBillingAddressOnCart mutaciones and setShippingAddressesOnCart :

    • fax
    • middlename
    • prefix
    • suffix

Nuevo consultas y mutaciones

Consultas y mutaciones obsoletas

Administración de inventario

Administración de inventario (v1.2.7) proporciona herramientas para administrar inventario del producto. Esta característica desarrollada comunidad se incluye con Adobe Systems Commerce y Magento Open Source código central.

Metapaquete de extensión de Magento Open Source

Esta versión incluye el metapaquete Magento Open Source Extension v1.0.0, que agrupa automáticamente las extensiones de Magento Open Source seleccionados con esta versión principal. La versión de esta extensión que se incluye en este metapaquete se instala cuando composer update se ejecuta, lo que simplifica el proceso de actualización de la extensión al actualizar a la última versión principal. Esta extensión mantiene un calendario de lanzamiento independiente.

El metapaquete de extensión de Magento Open Source para Magento Open Source 2.4.7 incluye estas extensiones:

Las futuras versiones de este metapaquete de extensión contendrán extensiones adicionales.

PWA Studio

PWA Studio v14.0 es compatible con Magento Open Source 2.4.7-beta1. Incluye múltiples mejoras para mejorar la accesibilidad. Para obtener información acerca de las correcciones de errores, consulte versiones de PWA Studio. Consulte Versión compatibilidad para obtener una lista de PWA Studio versiones y sus versiones compatibles Magento Open Source principales.

marco de trabajo de API web

Esta versión introduce dos nuevos puntos finales REST que proporcionan una solución alternativa para una limitación con la API GET de REST y POST V1/products/attributes los puntos de conexión. Estos extremos devuelven el mismo valor para el is_filterable atributo para las Filterable(with results) opciones y Filterable(no results) de la Use in Layered Navigation opción. (El is_filterable atributo Propiedad es del tipo Boolean, lo que no permite establecer este Propiedad en Filterable(no results).)

Se han implementado dos nuevos puntos finales REST como solución provisional:

  • PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}. Parámetros de ruta: attributeCode (String) y isFilterable (int los valores son: 0 es No; 1 es Filterable (with results); 2 es Filterable (no results)).
  • GET /V1/products/attributes/{attributeCode}/is-filterable. Parámetros de ruta: attributeCode (String).

Problemas solucionados

Hemos corregido cientos de problemas en el código central de Magento Open Source 2.4.7. A continuación se describe un subconjunto de los problemas corregidos incluidos en esta versión.

Instalación, actualización implementación

  • La manipulación innecesaria de la caché se ha eliminado del proceso de configuración. Anteriormente, Magento Open Source escribía su configuración en disco innecesariamente cuando bin/magento setup:db-data:upgrade o bin/magento setup:upgrade se ejecutaba, lo que causaba problemas con los módulos som durante la instalación. GitHub-38124
  • Se han resuelto los problemas de implementación debidos a la memoria insuficiente y a las tablas grandes. El bin/magento setup:upgrade comando ya no falla debido a errores excedidos en la memoria que están relacionados con grandes tablas MySQL.
  • bin/magento setup:install ahora se completa correctamente después app/etc/config.php de se ha eliminado. Anteriormente, el archivo que faltaba no se regeneraba durante la instalación y Magento Open Source producía un error. GitHub-37805
  • bin/magento setup:upgrade se ha refactorizado para que se ejecute correctamente al instalar un nuevo módulo que instala tablas e indizadores asociados mview . GitHub-37304
  • La restauración de la base de datos ya no falla debido a un error de delimitador. Anteriormente, Magento Open Source arrojaba este error al bin/magento setup:rollback --db ejecutarse: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;.
  • El bin/magento setup:upgrade comando ya no falla con este tipo de error relacionado con el límite de memoria de MySQL: PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes). La migración de atributos de selección múltiple se ha optimizado para consumir menos memoria durante setup:upgrade.
  • La generación de un copia de seguridad de base de datos ahora funciona según lo esperado tanto desde la línea de administración como desde la línea de comandos. Anteriormente, Magento Open Source arrojaba este error: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;.
  • Ejecutar setup:config:set sin especificar el --lock-db-prefix parámetro ya no borra el valor actual del env.php archivo.
  • La configuración de barniz se ha actualizado para evitar que los usuarios invitados accedan a contenido en caché relacionadas con otros grupos de clientes.
  • bin/magento setup:upgrade ahora se completa correctamente al instalar un nuevo módulo que instala tablas e indizadores asociados mview .
  • bin/magento setup:upgrade Ahora muestra un mensaje de error más informativo cuando un mensaje cola tema no incluye un nombre de tema. GitHub-34246
  • bin/magento setup:upgrade ahora muestra un mensaje de error más informativo cuando se no válido archivos XML combinados. El mensaje de error ahora incluye el nombre de archivo.

Administrador IU

  • Los gráficos ahora están correctamente deshabilitados de forma predeterminada en el panel. GitHub-38430
  • El menú Ventas de administración ahora muestra los submenús correctamente. Anteriormente, el salto de columna no funcionaba correctamente y algunos submenús no se mostraban. GitHub-37812
  • Select Las opciones del menú desplegable ahora están visibles en la > Pages de administración Content cuando se seleccionan varias páginas en la cuadrícula. GitHub-35386
  • Se ha corregido la ruta al valor predeterminado de en los ajustes de system/dashboard/enable_charts configuración. Los gráficos ahora se muestran en la administración tal como se espera. GitHub-37668
  • Se ha corregido el problema de visualización con las cuadrículas de clientes de administración. Anteriormente, las columnas de cuadrícula no estaban completamente contenidas en el Página mostrado.
  • Los colores al pasar el cursor ahora se aplican como se espera en las filas de las cuadrículas estáticas de administración. GitHub-35358
  • El flujo de trabajo de cierre de compra ya no muestra una advertencia cuando un comprador introduce un código postal para Grecia que no contiene un espacio en blanco. GitHub-36676
  • El vincular de administración It's time to change your password ahora redirige al Contraseña de administración de cambios Página como se esperaba. GitHub-37902
  • Página sufijos de título ahora se incluyen tanto en la etiqueta como en la meta title etiqueta de las title páginas de productos. GitHub-37680
  • La condición de estado de existencias de productos ahora se aplica correctamente para las reglas de productos relacionados.
  • Ahora, el Login as Customer botón se muestra correctamente en los dispositivos móviles.
  • Adobe Systems Commerce ya no muestra el botón de administración Add new customer group si el usuario de administración conectado carece de permiso para agregar un nuevo cliente grupo.
  • Un administrador usuario con permisos restringidos ahora puede guardar un producto secundario cuyo producto principal esté asignado a un ámbito diferente. Anteriormente, Commerce invalidaba la caché de un producto principal que no estaba asignado al ámbito en el que se cambió el producto secundario.
  • Los usuarios administradores ahora pueden cambiar con éxito entre las vistas del filtro de administración sin que vista datos se corrompan o se pierdan. GitHub-37529

Productos del paquete

  • El customerCart consulta ahora devuelve todos los descuentos aplicados en paquete productos según lo esperado. Anteriormente, el total de descuentos que se aplicaban a un producto paquete se devolvía como cero.
  • Las páginas de detalles del producto ahora muestran el precio correcto para paquete productos para los que se ha aplicado un descuento del 100%. Anteriormente, Magento Open Source no aplicaba un descuento del 100% a paquete precios de los productos.
  • Las reglas de precios del carro de compras ahora se aplican a los paquetes de productos en lugar de a cada producto secundario para los productos agrupados de precio dinámico.
  • Se ha corregido un error que se producía cuando se utilizaba el POST V1/shipment extremo para crear un envío que contenía un producto paquete. El punto final ahora agrega elementos según lo esperado y ya no devuelve este error: The shipment couldn't be saved.
  • Ahora puede usar la ruta de la API GET V1/shipment/ para crear un envío con un producto agrupado cuando el producto tenga establecido el tipo de envío together. Ahora los productos agrupados también se validan en función de su tipo de envío Propiedad.
  • Los compradores ahora pueden editar el cantidad de un producto paquete en su tienda carro de compras. Anteriormente, Adobe Systems Commerce no gestionaba los valores nulos para ItemId cuando los productos se editaban en el carro de compras de escaparate y mostraban un error. GitHub-37696
  • Ahora los productos de paquete se pueden agregar correctamente a una solicitud de administración mediante SKU que contienen un carácter de barra diagonal (/). Anteriormente, los usuarios administradores no podían utilizar este método para agregar productos a un pedido de administración y Magento Open Source producían un error JavaScript.
  • Los usuarios administradores ahora pueden establecer valores decimales predeterminados para las opciones de paquete recién agregadas cuando Qty Uses Decimal está habilitado para el producto simple correspondiente. Anteriormente, los valores decimales solo podían establecerse para las selecciones guardadas.
  • Rendimiento optimizado para guardar productos de paquete con un gran número de opciones
  • Los productos agrupados ahora se importan correctamente sin duplicar SKU en las opciones de producto. Anteriormente, Magento Open Source creaba varios SKU duplicados en las opciones de producto al importar productos agrupados con entradas duplicadas.
  • El precio del producto del paquete ahora se calcula correctamente cuando uno de los productos del paquete está agotado. Anteriormente, si un producto que formaba parte del paquete estaba agotado, se eliminaba del cálculo de precios.
  • Los productos agrupados ahora se muestran como agotados cuando se compra el último de sus productos secundarios requeridos. Anteriormente, los productos agrupados se mostraban como disponibles en la tienda cuando sus productos simples estaban agotados.
  • Se han resuelto los problemas de rendimiento al agregar productos de paquete con opciones no necesarias a la carro de compras utilizando la addBundleProductsToCart mutación.
  • La categoryList consulta ahora devuelve todas las opciones de paquete como se esperaba cuando se habilita la opción de Show out-of-stock products configuración. Anteriormente, las opciones sobre falta de existencias no se incluían en la respuesta al consulta.
  • Los paquetes de productos creados con ahora se ejecutan correctamente POST V1/products cuando el ámbito de precio de catálogo se establece en website. Anteriormente, se producía una infracción de restricción de integridad. GitHub-35595

Caché

  • Las categorías ahora están visibles para los compradores en tiendas donde la caché está configurada en Fastly CDN (Caching Application=Fastly CDN). Esto afectó tanto a los compradores invitados como a los clientes registrados.
  • Las cookies de caché después de iniciar sesión son ahora las mismas después de navegar por el sitio web. Anteriormente, el controlador de inicio de sesión enviaba una cookie de caché incorrecta y las páginas podrían haberse almacenado en caché varias veces.
  • Las respuestas de las operaciones de GraphQL GET en páginas de CMS que contienen bloques de CMS ahora se borran como se espera en la caché de Fastly. Las actualizaciones de programación posteriores ahora muestran contenido preciso y actualizado para estas páginas.
  • La caché de página ahora se borra como se espera para un producto principal cuando se ha guardado uno de sus productos secundarios desde el administrador. Se ha introducido una comprobación de complemento para alcanzar la invalidación de caché para variantes configurables, similares a otros tipos de productos, independientemente del estado del indexador (programado o en tiempo real). Anteriormente, los precios no se actualizaban correctamente en la tienda después de actualizar una variación configurable desde el administrador.
  • Se ha agregado un mecanismo de almacenamiento en caché para las credenciales de AWS. Un proveedor de credenciales ahora utiliza la caché de Commerce para almacenar en caché las credenciales recuperadas de AWS para la configuración EC2.
  • El complemento cuyo propósito es agregar la etiqueta de caché configurable cuando se guarda un producto simple asociado con un producto configurable ahora funciona según lo esperado. Todas las etiquetas de caché configurables relevantes se eliminan según lo esperado cuando POST V1/products actualiza un producto simple. Anteriormente, no todos los precios se actualizaban en la tienda y las cachés tenían que borrarse manualmente. GitHub-36726

Carro y cierre de compra

  • Magento Open Source ahora optimiza el rendimiento al no cargar datos de cotización específicos del usuario al generar páginas completas almacenables en caché como páginas de detalles del producto (PDP) y páginas de CMS cuando se habilita el carro de compras persistente. Anteriormente, el sistema cargaba innecesariamente datos de sesión y comillas específicos del usuario durante la generación de estas páginas, lo que afectaba al rendimiento.
  • Los atributos personalizados de dirección personalizada ahora se guardan según lo esperado en la base de datos. Anteriormente, los valores de atributo guardados en la base de datos iban precedidos de código de atributo.
  • Se ha mejorado la generación del texto de filtro de reglas de carro de compras para atributos de producto. Los productos individuales ya no se cargan varias veces.
  • Magento Open Source ahora muestra un mensaje de error informativo cuando se produce un error durante el cierre de compra y ya no devuelve al comprador a un paso de cierre de compra anterior. Anteriormente, el comprador se devolvía a la página de envío.
  • La consulta cart ya no devuelve el método y la dirección de envío de los carros de compras virtuales. Anteriormente, cuando un carro de compras contenía productos físicos y virtuales, y se eliminaban todos los productos físicos, la respuesta de consulta del carro de compras seguía incluyendo información de envío.
  • Magento Open Source ahora muestra mensajes informativos cuando se activa una acción de complemento al carro de compras. Anteriormente, The requested qty is not available no siempre se mostraba en la tienda como era necesario.
  • Se han mejorado los tiempos de carga de las páginas de cierre de compra para los clientes con libretas de direcciones grandes. Magento Open Source ahora procesa solamente el número de direcciones de clientes especificadas en la configuración Customer Addresses Limit. Anteriormente, Magento Open Source cargaba toda la libreta de direcciones.
  • La cantidad de productos ahora se puede cambiar en el carro de compras como se espera para los artículos en stock cuando un artículo está agotado. Anteriormente, los compradores no podían cambiar la cantidad de productos de ningún artículo cuando uno estaba agotado.
  • El AdvancedSalesRule filtro de atributos de producto ahora funciona correctamente con el tipo de servidor de atributo decimal. Como resultado, las reglas del carro de compras con Coupon Type establecido en No Coupon ahora funcionan según lo esperado.
  • El importe total de un descuento de carro de compras completo ahora se aplica como se espera a los carros que contienen productos paquete y configurables.
  • Las cookies de sección del cliente ahora respetan la configuración de dominio del cookie. Anteriormente, el minicarrito no se actualizaba como se esperaba en las tiendas que contenían subdominios, aunque la sesión se compartiera.
  • El envío de un pedido a varias direcciones ya no genera déclencheur de error durante el procesamiento del ID de región.
  • Los importes de descuento fijo que se aplican en el nivel de carro de compras ahora son correctos.GitHub-37496
  • Los cupones ahora se aplican correctamente a un pedido cuando un comprador aplica el cupón después de seleccionar el método de envío de tarifa plana en el que se aplica una regla de precio del carro de compras con el método de envío establecido como condición. Anteriormente, la página de carro mostraba el error Cupón no es válido y el cupón no se aplicaba. GitHub-34866
  • Los cupones ahora se aplican correctamente a un pedido cuando un comprador aplica el cupón después de seleccionar el método de envío de tarifa plana donde se aplica un precio carro de compras regla con el método de envío establecido como condición. Anteriormente, el Página de carro de compras mostraba el error El cupón no es válido y el cupón no se había aplicado. GitHub-34866
  • La My billing and shipping address are the same casilla de verificación permanece marcada de forma predeterminada cuando un comprador utiliza Cromo autocompletar para rellenar su dirección de envío y, a continuación, hace clic en Siguiente antes de que se vuelva a cargar el bloque de métodos de envío. GitHub-33725
  • El applied_rule_ids valor de la quote_item tabla ahora incluye una lista correcta de los ID de regla aplicados. Anteriormente, este valor solo contenía el último ID de regla aplicado.
  • Los datos de mini-carro de compras y de cliente en almacenamiento local ahora se restablecen cuando se elimina una sesión del servidor. Anteriormente, estos datos seguían apareciendo cuando se eliminó el archivo de sesión.
  • Los carros discretos ya no se fusionan por error desde el Administrador cuando el carro de compras persistente está habilitado.
  • El estimador de impuestos y envíos de carro de compras ahora refleja con precisión la configuración de destino predeterminada. Anteriormente, al configurar los ajustes predeterminados de cálculo del destino fiscal y especificar el estado/región y el código postal, en el carro de compras solo se mostraba el valor postal en Estimate Tax and Shipping. Esto se debió a que Magento Open Source se estableció el ID de área geográfica en indefinido antes de invocar la instrucción condicional que estableció el ID de área geográfica predeterminado desde el administrador.
  • Magento Open Source ya no arroja este error durante el cierre de compra cuando la carro de compras persistente está activada: Invalid state change requested. Anteriormente, cuando se producía este error, ocasionalmente se creaban varios pedidos con el mismo quote_id .
  • El mini carro de compras ahora muestra paquete precios de productos que reflejan carro de compras ajustes de configuración de impuestos. Anteriormente, el mini carro de compras siempre incluía impuestos en los precios de paquete productos.
  • La estimación de envío proporcionada por la Página de carro de compras ahora es precisa. collectShippingRates ahora se configura solo una vez. Anteriormente, la estimación de envío estaba duplicada. GitHub-36648
  • El cart consulta ya no devuelve un error cuando un producto en el carro de compras especificado está agotado. Anteriormente, los compradores que usaban este consulta para realizar una compra no podían completar su compra cuando un artículo estaba agotado y su Página de pago estaba en blanco.
  • La API de invitado solicita dejar de devolver un cancel estado si el Página se vuelve a POST V1/guest-carts/<cartId>/shipping-information cargar durante inicio de sesión en una entorno móvil. Anteriormente, Magento Open Source arrojaba un error 500 y registraba esta excepción: TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given.
  • Los requisitos para el envío gratuito ahora se calculan como se esperaba cuando se aplica la Subtotal (Excl. Tax) condición de carro de compras reglas. GitHub-36760
  • La cart consulta ahora devuelve el precio de nivel correcto para un producto. GitHub-29655
  • Se han agregado mensajes de error informativos a la Página de pago para guía compradores cuando el aplicación de un cupón en el Página de envío entra en conflicto con el método de envío seleccionado. Anteriormente, un mensaje decía a los compradores que volvieran al Página anterior.
  • La ventana emergente de autenticación ahora se inicializa solo cuando es necesario en lugar de cuando se habilita el pago de invitado. Ahora se inicializa cuando el huésped comprador intenta proceder al checkout y el checkout de invitado está deshabilitado. GitHub-30672

Precio del carro regla

  • La condición de subselección de producto regla precio carro de compras ahora incluye la total (incl.tax) opción según lo esperado. GitHub-34871
  • El If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true precio regla condición de catálogo ahora funciona correctamente con categoría y unidad de almacén atributos. Anteriormente, esta condición no se aplicaba correctamente en carro de compras lógica de cupón de precios y se aplicaban no válido cupones a los pedidos. GitHub-37660
  • Ahora puede guardar con éxito un nuevo regla de precio de carro de compras con la Magento_OfflineShipping extensión desactivada. Anteriormente, Magento Open Source arrojaba este error: report.ERROR: Warning: Undefined array key "simple_free_shipping". GitHub-37580
  • Las reglas de precio del carro de compras ahora se aplican como se espera cuando se configura un regla de precio carro de compras relacionado con un método de envío para el tienda y este método de envío se cambia a otro durante el pago. Anteriormente, el applied_rule_ids valor no se cambiaba nunca en la sales_order_item tabla y el regla de precio carro de compras no se aplicaba al pedido.
  • Los cupones ahora se aplican correctamente a un pedido cuando un comprador aplica el cupón después de seleccionar el método de envío de tarifa plana donde se aplica un precio carro de compras regla con el método de envío establecido como condición. Anteriormente, el Página carro de compras mostraba el Coupon is Not valid error y el cupón no se aplicaba. GitHub-34866
  • Al ejecutar bin/magento cache:clean o bin/magento cache:flush ya no se vacía toda la caché integrada o de barniz a Página a menos que se especifique. GitHub-38301
  • Los comerciantes ahora pueden usar el carrusel de productos para crear bloques CMS cuando catalog_product_price dimensions-mode está configurado en website. Anteriormente, Magento Open Source no guardaba el bloque y lanzaba este error SLQ: report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table.
  • Magento Open Source ya no muestra duplicado imágenes cuando se cambia el color del producto en un Página de detalles del producto. GitHub-36243
  • Se ha optimizado el algoritmo para sincronizar valores específicos del sitio web después de agregar una nueva tienda o cambiar una existente en entornos grandes con varias tienda.
  • Se ha mejorado el proceso de limpieza de los archivos de imagen almacenados en caché para evitar la creación de directorios oculta en la pub/media/catalog/product carpeta. Anteriormente, oculta directorios provocaban problemas de espacio en disco durante las operaciones de limpieza. La operación podía terminarse, lo que dejaba atrás directorios de oculta temporales que nunca se eliminaron.
  • Los precios de los paquetes de productos ahora se calculan correctamente y se ha resuelto un problema con el orden de las operaciones al calcular los precios. GitHub-35665
  • Se ha eliminado una cláusula innecesaria de las consultas de catalog_product_price índice, lo que ha mejorado el rendimiento de este indexador en tiendas con grandes catálogos. GitHub-32382
  • Magento Open Source ya no inserta texto de descripción del producto en el campo de Página Meta Description de detalles del producto cuando este campo se ha dejado vacío. Anteriormente, cuando una descripción de producto contenía código HTML generado por Page Builder u otro editor HTML, el HTML se mostraba en el campo Meta Description y no se podía dejar vacío este campo.
  • Las opciones de producto configurables en páginas de PDP de productos configurables ya no se ven afectadas por otras opciones de producto configurables en el Página. Anteriormente, los productos configurables con atributos desplegables ya no activaban una excepción cuando un carrusel de productos estaba presente en el Página de detalles del producto. Las opciones de producto configurables no se podían seleccionar cuando otros productos configurables con muestra opciones estaban presentes en el Página.
  • La información del producto visualizada recientemente ahora se muestra de acuerdo con tienda configuración vista. Anteriormente, los datos de productos vistos recientemente no se actualizaban por tienda vista, incluidos el nombre y el idioma preferido.
  • Los videos de Vimeo ahora se reproducen como se espera en las páginas de productos en vista móviles en navegadores web basados en Chromium.
  • El bin/magento catalog:images:resize comando ahora genera correctamente imágenes de producto para los productos que se asignan a un sitio web personalizado con un tema personalizado.
  • Los metadatos con NULL o NOT NULL valores ahora se guardan para el tienda predeterminado según la casilla de verificación Usar Valor predeterminado según lo previsto. Anteriormente, metadatos con NULL valor no se guardaba al desmarcar esta casilla.
  • Los comerciantes ahora pueden eliminar con éxito una imagen existente del Página de detalles del producto y, a continuación, cargar una nueva imagen con el mismo nombre. Anteriormente, en esas circunstancias, el página de producto del escaparate no mostraba la imagen correcta.
  • La productDetail consulta ahora devuelve el nombre del producto en lugar de nulo cuando el atributo de imagen alt del producto se establece como vacío.
  • Los pedidos que incluyen productos descargables y físicos ahora incluyen enlaces de trabajo al producto descargable tan pronto como se haya completado el pedido. Anteriormente, los enlaces a productos descargables no estaban disponibles hasta que se enviaban los productos físicos del mismo pedido.
  • URL reescrituras ahora se actualizan cuando un categoría se mueve de un categoría tienda/raíz a otro categoría tienda/raíz. Las entradas obsoletas de la base de datos ahora se eliminan cuando las subcategorías se transfieren a nuevas categorías principales. La base de datos ahora solo incluye entradas relevantes. Anteriormente, url_path no se actualizaba con el ID de tienda adecuado.
  • El extremo REST V1/products/<sku>/media ahora puede procesar la carga simultánea de varias imágenes multimedia. Anteriormente, al procesar varias solicitudes simultáneamente, se creaban datos incoherentes y Magento Open Source arrojaba un error cuando estos datos se guardaban en la base de datos.
  • Se ha mejorado el rendimiento de reindexación parcial para los indexadores de Categoría de productos y Categorías de productos. Anteriormente, el trabajo cron de indexer_update_all_views ejecutaba reindexadores varias veces por producto o categoría individual.
  • Cuando el estado de stock del producto se actualiza automáticamente a agotado en función de la configuración de stock (cantidad), el estado de stock se actualizará posteriormente a en stock cuando se actualice la cantidad de stock. Anteriormente, la stock_status_changed_auto configuración se ignoraba cuando la configuración de stock de un producto se actualizaba a en stock.
  • El ordenamiento de las barras de herramientas ahora funciona como se espera en Search páginas cuando la Remember Category Pagination configuración está habilitada. GitHub-33220
  • Los atributos de selección múltiple ahora se guardan según lo esperado cuando Use Default Value se selecciona la casilla de verificación en la ámbito tienda-vista. Anteriormente, esta casilla de verificación no estaba marcada cuando se editaba el producto y se guardaba el valor predeterminado.
  • Los usuarios administradores con acceso limitado al sitio web ahora pueden agregar imágenes a un producto que caiga dentro de su ámbito. Si el administrador usuario no tiene derechos de acceso al producto, Magento Open Source muestra un mensaje informativo. Anteriormente, los usuarios administradores con acceso limitado al sitio web no podían agregar imágenes a los productos a los que tenían acceso.
  • Magento Open Source ahora muestra el nombre correcto después de ordenar los productos por nombre en Administración > Category > Products in category en implementaciones de varias tiendas en las que los nombres de los productos varían según el almacén. GitHub-36208
  • La addProductsToCart mutación ahora devuelve opciones personalizables con datos. Anteriormente, solo devolvía opciones personalizables vacías. GitHub-37599
  • El estado del producto pendiente ahora se muestra correctamente en la tienda. Anteriormente, los productos que estaban disponibles para su envío se identificaban incorrectamente como pendientes.
  • Los productos exportados ahora tienen el valor correcto manage_stock cuando el use_config_manage_stock valor es igual a 1. Anteriormente, este valor predeterminado era incorrecto.
  • El acceso a los productos descargables desde el administrador ya no genera un error cuando el administrador usuario cambia el vista de tienda del vista utilizado durante la creación del producto a otro tienda vista. Los precios de los productos ahora se convierten correctamente a flotantes cuando un administrador usuario cambia tienda vista de todas las vistas de tienda al vista de tienda predeterminado. Anteriormente, Magento Open Source arrojaba un error. GitHub-37519
  • Magento Open Source ya no muestra un mensaje de advertencia cuando guarda un producto creado con opciones personalizadas después de eliminar su imagen.
  • Las imágenes en miniatura del producto ahora se muestran según lo esperado en el correo electrónico de alerta de stock de productos que se envía cuando un producto vuelve a estar disponible. Anteriormente, esta imagen no se mostraba en el correo electrónico de alerta
  • El recuento de productos en el árbol de categorías (Administrador Catalog > Category) ahora es preciso. Anteriormente, no se podía recuperar de la catalog_category_product_index tabla el recuento de productos categoría. Se ha corregido el error tipográfico que desencadenaba este error. GitHub-35417
  • La imagen principal del producto en los detalles del producto ya no Página desplaza visiblemente hacia abajo durante la carga Página cuando product_image_white_borders el tema view.xml está desactivado. Anteriormente, la imagen del producto se desplazaba visiblemente hacia abajo durante la carga Página debido a la configuración incorrecta de altura en Fotorama JS.
  • Los clientes ahora son notificados sobre caídas en el precio del producto cuando el cliente está suscrito a alertas de caída de precios. Anteriormente, las notificaciones de bajada de precios no siempre se enviaban debido a almacenamiento en caché de nivel aplicación.
  • Se han agregado validación del lado del servidor al proceso de creación de atributos de producto a través de la API web. No puede habilitar el campo Use in Layered Navigation Catalog cuando el valor del campo Catalog Input Type for Store Owner sea Text Field, Text Area, Text Editor, Date o Date and Time. Anteriormente, los productos se omitían de las categorías y los resultados de búsqueda.
  • La página de categoría ahora se vuelve a cargar con la paginación correcta después de que un comprador abra la página, cambie la paginación, navegue a una página de producto y, a continuación, vuelva a la página de categoría. GitHub-36563
  • Los productos simples sin existencias que son opciones para un producto configurable ahora se muestran como deshabilitados en la tienda cuando Display Out of Stock Products está establecido en . Anteriormente, todas las opciones se mostraban como disponibles, a pesar de su estado y disponibilidad real.
  • Al actualizar el atributo de ámbito del sitio web en una vista de almacén específica, ya no se anula el valor de ese atributo en el ámbito global. Anteriormente, al importar precios de productos cuando había varias filas disponibles con el mismo SKU y store_view_code, se producían precios inexactos para los ámbitos de vista predeterminado y de Todas las tiendas.
  • Los comerciantes ahora pueden añadir una imagen de GIF a la galería de imágenes de un producto desde el administrador. Anteriormente, Magento Open Source mostraba este error: imagecolorsforindex(): Argument #2 ($color) is out of range.
  • Se han agregado comprobaciones para gestionar los errores resultantes de claves de matriz no definidas. Anteriormente, se producía un error durante la generación de la lista blanca de esquemas declarativos.
  • Magento Open Source ahora devuelve un resultado válido para la fecha personalizada 01/01/1970. Anteriormente, el atributo personalizado devolvió este error: Invalid input datetime format of value '1/01/1970. GitHub-37274
  • routes consultas que utilizan fragmentos ahora devuelven información de categoría según lo esperado. Anteriormente, se producía un error interno del servidor en la página de categoría. GitHub-35906
  • Se han resuelto los problemas con el proceso de reindexación parcial y ha mejorado el rendimiento del cataloginventory_stock indizador. Anteriormente, las categorías de existencias y productos no se actualizaban con precisión.
  • Magento Open Source genera ahora un redirección 301 para un producto cuando el categoría al que pertenece se ha movido a un nuevo predecesor. GitHub-37039
  • Las reglas del catálogo ahora se indexan correctamente cuando se habilita la actualización de la programación. Como resultado, los precios con descuento ahora se generan e indexan correctamente. Anteriormente, cuando había dos reglas de catálogo disponibles y una regla se activaba después de la primera regla antes de que la primera regla se completara la operación de indexación de la regla del catálogo, el catálogo regla los precios de descuento no se generaban para el segundo regla de catálogo.
  • Las reglas del catálogo ahora se aplican como se espera en un entorno de varios sitios web.

Productos configurables

  • Los comerciantes ahora pueden seleccionar Skip quantity at this time y Skip image uploading at this configurar un producto configurable sin afectar la fuente de los productos simples asociados. Anteriormente, la selección Skip quantity at this time provocaba la desaparición de orígenes de productos.
  • La As low as etiqueta ya no se muestra para un precio de producto configurable cuando todas las opciones tienen el mismo precio.
  • Los usuarios administradores con permisos de sitio web ahora pueden guardar un producto secundario que forma parte de un producto configurable en un contexto de tienda diferente. Los procesos de reindexación ahora omiten este tipo de producto configurable.
  • Los productos configurables con dos productos secundarios ya no se marcan como agotados cuando una actualización programada deshabilita un producto secundario. Este era un problema conocido para 2.4.7-beta1.
  • Ha mejorado el rendimiento de las operaciones de guardado para productos configurables con varias opciones. Anteriormente, se podían agotar los tiempos de espera durante las operaciones de guardado del producto. GitHub-36928
  • La visualización en el escaparate de los precios de los productos configurables ahora cambia según lo esperado cuando un comprador selecciona una opción de producto. GitHub-37378

Cupones

  • Los códigos de cupón con un número limitado de usos por cliente ahora se pueden usar por segunda vez cuando el pedido para el que se usó anteriormente falla. Anteriormente, el código promocional no se liberaba cuando se cancelaba el pedido anterior.
  • Los códigos de cupón que contienen caracteres de espacio ya no se invalidan. Anteriormente, si un código cupón contenía un carácter de espacio (antes o después del código real), validación fallaba. GitHub-38048
  • El valor de cupón de un solo uso de un comprador ahora se restaura según lo esperado cuando se cancela el pedido al que se aplicaba.
  • El GET V1/coupons/<couponId> punto final ahora devuelve la respuesta esperada completa para los cupones creados manualmente, al igual que para los cupones generados automáticamente. Anteriormente, se omitían algunos campos (por ejemplo, usage_limit, usage_per_customer, y created_at).

cron

  • El aggregate_sales_report_bestsellers_data trabajo cron ya no crea tablas MySQL temporales muy grandes y ahora se completa con éxito. Este trabajo cron ahora inserta datos por tienda, no para todas las tiendas a la vez. Anteriormente, este trabajo cron podía dar lugar a No space left on device errores.
  • El número de registros pendientes en la cron_schedule tabla se ha reducido al evitar que los trabajos cron intenten adquirir bloqueos de trabajo cron innecesarios. Anteriormente, los trabajos cron intentaban adquirir bloqueos cuando ya era demasiado tarde para ejecutar el trabajo. Los trabajos de cron no cron_schedule se marcaron como perdidos igualado aunque ya habían pasado su hora programada. Magento Open Source mostrado este error repetidamente en el registro de errores: report.WARNING: Could not acquire lock for cron job: indexer_update_all_views.
  • Se corrigió el error fatal de dividir por cero en las expresiones cron. GitHub-37804
  • El sales_clean_quotes proceso cron se ha optimizado para ejecutarse más rápido mediante la adición de un índice compuesto en store_id y updated_at columns en la tabla de cotizaciones. Este cambio mejora el rendimiento del trabajo cron al procesar muchas cotizaciones.
  • Los usuarios administradores ahora pueden vista qué tarea está realizando el bin/magento cron:run proceso. El título del proceso que se está ejecutando ahora enumera el grupo y los nombres de trabajo. GitHub-34321

Cliente

  • Magento Open Source muestra ahora los Date of Birth campos , Tax/VAT Number, Gender, TelephoneCompany, y Fax en la Página de edición del cliente en función de la configuración. GitHub-36196

Correo electrónico

  • Los correos electrónicos que contienen diacríticos o acentos (es decir, utf8 correo electrónico) ahora son compatibles para clientes y empresas, así como para la realización de pedidos por parte de invitados y clientes registrados. Anteriormente, no guardaba Magento Open Source registros de cliente que contenían diacríticos y mostraban este error: Something went wrong while saving the customer.
  • Los nombres de remitentes de correo electrónico ya no pueden incluir dos puntos. Un nuevo regla de validación ahora impide guardar los nombres de remitente que contienen dos puntos de la sección Almacenar direcciones de correo electrónico de la > General de administración Stores . Anteriormente, los comerciantes podían guardar un nombre de remitente que contenía dos puntos, lo que provocaba errores en el servidor de correo.
  • Las direcciones correo electrónico de los clientes ahora pueden incluir signos diacríticos. Anteriormente, el front-end validación prohibía la creación de un usuario con diacríticos en su dirección correo electrónico. GitHub-12075
  • Los correos electrónicos de Stock y precio alerta ahora se traducen de acuerdo con el idioma configurado para el vista de tienda predeterminado del sitio web. Anteriormente, estos correos electrónicos no se traducían.
  • POST V1/order/notify-orders-are-ready-for-pickup ahora envía una correo electrónico alertando a los clientes de que un pedido está listo para ser recogido solo cuando el pedido está listo. Ahora el correo electrónico solo se activa cuando el solicitud se ha completado sin excepción.

Marcos

  • Se ha mejorado la depuración añadiendo el UNCACHEABLE valor al utilizar la salida de un encabezado HTTP con barniz. Anteriormente, solo HIT se generaban valores de ORMISS. GitHub-37912
  • Se agregó código para admitir el manejo predeterminado de compresión de barniz. GitHub-38309
  • El varnish:vcl:generate comando ahora incluye un input-file argumentarchivo . Esto admite la adición de una VCL personalizada a un repositorio Git, en relación con la raíz de Commerce. GitHub-37363
  • Se ha eliminado de la base de código la compatibilidad con Varnish 4.x y 5.x. GitHub-38304
  • phpcodesniffer-composer-installer se composer.json ha actualizado a la versión 1.0.0. GitHub-36913
  • Los caracteres que no cumplen con RFC3986 se han eliminado de la base de código. GitHub-38355
  • Se ha corregido un etiqueta incorrecto de documento PHP en la Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid clase. GitHub-38186
  • Código refactorizado en toda la base de código que se creó cuando la práctica de codificación dictaba que cualquier sección de caché que se incluyera en el app/etc/env.php archivo incluiría una sección frontend. Esta refactorización soluciona posibles problemas al actualizar Magento Open Source implementaciones anteriores a 2.4.4. GitHub-38363
  • Se ha aclarado el mensaje de error asociado con StockItemValidator.php cuando se proporciona un ID de stock con un valor de 0 durante una llamada de API. GitHub-31107
  • Se ha añadido una matriz vacía predeterminada a $tagGenerators in CompositeTagGenerator para evitar errores durante la compilación de la inyección de dependencias. Anteriormente, ejecutar el bin/magento setup:upgrade comando cuando los Magento_DirectoryGraphQl módulos y Magento_StoreGraphQl estaban deshabilitados provocaba un error. GitHub-38165
  • Se ha quitado la clase no utilizada AlgorithmProviderFactory , así como las dependencias de esta clase en clases como JweAlgorithmManagerFactory.php, JweContentAlgorithmManagerFactory.php, y JwsAlgorithmManagerFactory. GitHub-37783
  • El var/log/system.log archivo ya no contiene main.INFO mensajes de error. El registro de entrada de menú se ha movido del nivel INFO a DEPURAR. Anteriormente, el var/log/system.log archivo estaba inundado de mensajes gustar este: Add of item with id Magento_Theme::design_config was processed … .
  • La precarga de Redis ya no falla cuando exec() devuelve false. Se ha añadido una verificación al proceso de precarga para evitar array_combine que se reciba false como segundo argumento. Como resultado, la precarga continuará ejecutándose cuando exec() vuelva a ejecutarsefalse. GitHub-37509
  • Se refactorizó el módulo para sustituir $block las Magento_CatalogWidget funciones de escape por $escaper funciones de escape. GitHub-37107
  • Swaziland se ha actualizado a Eswatini toda la base de código. GitHub-37873
  • Se agregó la nueva moneda nicaragüense (NIO) al lista de monedas disponibles.
  • Se ha corregido un nombre variable en CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php. GitHub-38093
  • Se han resuelto los errores de redondeo de subtotal que se producían en transacciones de productos para los que se había habilitado el cantidad decimal. GitHub-37817
  • El filtro de fechas para la cuadrícula de clientes de administración ahora funciona según lo esperado según la configuración regional especificada.
  • El bin/magento setup:upgrade comando ya no falla debido al tipo de dato variable $schemaPatch. Anteriormente, el valor de cadena se pasaba a la get_class función, lo que causaba el error. GitHub-37545
  • La conexión a la base de datos MySQL ahora se restaura si se agota el tiempo de espera de la conexión durante una transacción cuando configura max_messages = 0 para consumidor. Anteriormente, la conexión se terminaba.
  • El módulo principal magento/module-release-notification se ha marcado como obsoleto en el código de desarrollo 2.4 con este comentario: Starting from Magento 2.4.7, Magento_ReleaseNotification module is deprecated in favor of another in-product messaging mechanism.
  • La generación de código proxy ahora genera archivos de proxy y de fábrica como se espera para las implementaciones que se ejecutan en el modo de producción. GitHub-35252
  • El estado indio de Ladakh ahora aparece como una opción en los menús desplegables de Dirección State de administración. GitHub-33698
  • El ticker de cuenta atrás de evento ahora se muestra como se esperaba en el Página de categoría.
  • El etiqueta prohibido @author se ha eliminado de la base de código, incluyendo estos módulos: Magento_user-variable-wee, Magento_Catalog, y , Magento_Wishlist Magento_Review Tax, Magento_Customer, y en toda la marco de trabajo. GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
  • El serializador JSON del User módulo se ha sustituido por un nuevo serializador más preciso (JsonHexTag). Anteriormente, a veces Magento Open Source bloqueaba al intentar usar datos serializados por el serializador normal cuando contenían elementos sin escape. GitHub-31377
  • Los errores de tuberías rotas ya no se producen durante la ejecución de un reindex completo (bin/magento indexer:reindex). Las conexiones AMPQ ahora se cierran antes de que el administrador de procesos ramifique los procesos.
  • El validador de mensajes de cola ahora valida el subtipo de todos los elementos de la matriz. Anteriormente, Magento Open Source lanzaba una excepción.
  • La configuración de conexión de cola por tema ahora app/etc/env.php funciona correctamente. Anteriormente, el cola de alerta de productos no se generaba correctamente cuando se creaba un nuevo cola de mensajes con un intercambio personalizado. Si la conexión cola para un tema se configuró con app/etc/env.php un intercambio personalizado, se creó un nuevo enlace para todos los temas con ese intercambio personalizado. Los comerciantes no podían procesar las alertas de productos.
  • Los formatos temporales marcados con un /* mariadb-5.3 */ comentario ya no causan errores durante bin/magento setup:install la actualización del servidor MariaDB a la versión 10.5.1 o superior.
  • El controlador AwsS3 ahora funciona como se espera como reemplazo del archivo predeterminado base almacenamiento implementación. Anteriormente, los datos podían dañarse cuando este controlador se configuraba para el almacenamiento de archivos. GitHub-37844
  • Los comandos bin/magento config:show y set que utilizan variables $_ENV ahora admiten el uso del sitio web y almacenan códigos que contienen mayúsculas y minúsculas o caracteres en mayúsculas.
  • Se han añadido clases con !important las que se usan en Tailwind 3 para la compatibilidad con el diseño CSS. GitHub-37568
  • Se ha agregado una dependencia que falta jQuery al trim-input.js archivo. GitHub-37683
  • Los detalles específicos del evento ahora se pasan como un segundo atributo (context) del log método. GitHub-37879
  • Se han agregado valores de relación de aspecto a las imágenes del catálogo y se han eliminado los scripts innecesarios del marco de trabajo de IU. GitHub-37691
  • Se han revisado los mensajes de error desencadenados por no válido configuración XML para que sean más informativos. GitHub-37788
  • Código obsoleto refactorizado relacionado con la creación de propiedades dinámicas en toda la base de código.
  • El rendimiento de los indexadores para grandes almacenes con bases de datos de productos extremadamente activas ha mejorado. Los indexadores ahora indexan la información más reciente del producto una vez para cada índice, en lugar de múltiples veces. Anteriormente, los productos desaparecían del sitio web y los datos de los productos podían estar desactualizados en el sitio web. GitHub-30012
  • mview_state El estado del registro ahora indica con precisión el estado en función del registro de cambios actividad cuando está disponible una conexión de base de datos esclava. Anteriormente, estos registros permanecían en estado en nube waiting implementaciones igualado cuando no había nuevas entradas en el registro de cambios.
  • Se ha añadido la compatibilidad con la precision opción de formato monetarios para preservar la paridad de características con la clase obsoleta ZendCurrency .
  • Los mensajes de cookies se han convertido en atributos observables y los desarrolladores ahora pueden manipular el estado, lo que puede desencadenar cambios IU. Anteriormente, las cookies eran de solo lectura y no podían manipularse. GitHub-37308
  • Los usuarios administradores ahora pueden generar una factura cuando su instancia Magento Open Source esté conectado al almacenamiento de S3.Anteriormente, Magento Open Source mostraba este error: Cannot create image resource. File not found. GitHub-35706
  • Magento Open Source ahora registra un mensaje de excepción como se esperaba cuando el número de IVA validación por el servicio de validación VIES falla. GitHub-36065
  • El Administrators nombre se ha eliminado de la consulta utilizada para recuperar el función de un administrador durante la creación de la función de administrador. GitHub-36998
  • El bin/magento setup:config:set comando ya no falla cuando se incluye en el app/etc/env.php archivo un nombre de usuario de base de datos no válido. GitHub-37409
  • Ordenar por columna las palabras reservadas en un componente de IU de administración predeterminado ya no genera un error SQL en var/log/exception.log. GitHub-37423
  • Se agregó AddDataForCostaRica.php para proporcionar información estatal para Costa Rica. GitHub-37382.
  • Se ha mejorado el mensaje de error para usuario caso en el que intenta acceder a un URL de no válido desde el administrador. GitHub-35682.
  • Param $options[La posición] para los símbolos de moneda ahora funciona como se espera y admite la personalización de la posición del símbolo de moneda. Anteriormente, después de migrar desde Zend Framework 1, el toCurrency método ignoraba el position parámetro. Este problema se producía en toda la interfaz de administración.
  • Mutex se ha implementado para órdenes para evitar condiciones de carrera durante la actualización por solicitudes concurrentes. Anteriormente, las solicitudes simultáneas (condiciones de carrera) para cancelaciones de pedidos causaban entradas duplicadas en la inventory_reservation tabla.
  • La populateWithArray función ahora transforma las propiedades del objeto en mayúsculas y minúsculas correctamente, haciéndolo compatible con los AbstractModel captadores y establecedores. Anteriormente, el formato de mayúsculas y minúsculas era incorrecto cuando el nombre del atributo de datos contenía varias letras mayúsculas seguidas.
  • El valor de incremento automático de la catalog_product_entity_varchar tabla ahora aumenta correctamente después de guardar un producto. Anteriormente, este valor aumentaba en diez.
  • Magento Open Source ya no produce esta excepción del sistema de archivos cuando intenta vaciar la caché de JavaScript/CSS: No such file or directory.
  • El valor de value_id en customer_entity_int ahora se incrementa correctamente. Se ejecuta una consulta de actualización en lugar de insert on duplicate key update al actualizar una entidad que incorpora estos atributos. Como resultado, las columnas de incremento automático utilizadas dentro del modelo EAV ahora crecen de forma lineal. Anteriormente, el proceso de incremento automático de las columnas omitía valores debido a errores en las consultas de inserción. GitHub-28387
  • Se ha eliminado el espacio en blanco innecesario de id los atributos que no lo requieren. (Este error se introdujo por un cambio de código de Magento Open Source 2.4.6).
  • Los códigos de tienda ya no aparecen en la URL de tienda cuando la tienda está en modo de tienda único. GitHub-36831
  • Se han realizado pequeñas actualizaciones en los around complementos. GitHub-31443
  • Las muestras Helper se han refactorizado para eliminar los alias de importación engañosos. GitHub-31373
  • Los usuarios administradores ahora pueden eliminar o cambiar el nombre de un sitemap.xml archivo según lo previsto. Anteriormente, un usuario de administración podía eliminar el archivo de la administración, pero permanecía en el sistema de archivos. GitHub-37468
  • Los cupones ya no se marcan como utilizados cuando el pago falla para el pedido al que se han aplicado. Los mensajes en cola ahora se procesan en el orden en que se publican cuando se inicia el consumidor. Anteriormente, el primer mensaje se extraía del cola para simplemente verificar si los mensajes estaban en cola y se rechazaba después, lo que provocaba que el primer mensaje se procesara al final.
  • Magento Open Source ya no ofrece una excepción en el archivo de registro cuando un usuario intenta imprimir una etiqueta de envío. Anteriormente, si una extensión modificaba los encabezados de respuesta que contenían un archivo adjunto, el sistema lanzaba una excepción en el archivo de registro.
  • Se ha añadido compatibilidad con más clases HTML a elements.xsd. GitHub-36891

Correcciones generales

  • Se ha cambiado el reponseBody nombre del variable a responseBody en app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php.GitHub-38093
  • La programación de actualizaciones de productos ya no borra los datos de atributos de selección múltiple. Anteriormente, cuando se programaba una actualización para un producto, los datos del atributo de selección múltiple del producto se borraban erróneamente. GitHub-37675
  • Si se guarda un producto con un ámbito de tienda no predeterminado, los atributos que no han cambiado se convierten en ámbitos tienda al cargarse mediante ProductRepository. GitHub-8897
  • Se han agregado mensajes de error informativos a los validación de campos personalizados de las páginas de detalles del producto. GitHub-38006
  • Ahora se pueden utilizar caracteres especiales en los campos de nombre. Anteriormente, el carácter &ampersand (&) estaba restringido en el validador de nombres, lo que bloqueaba las operaciones de adición o edición de clientes cuando el nombre del cliente contenía un ampersand. GitHub-38080
  • Los usuarios administradores con acceso restringido a un tienda específico ahora pueden usar una acción de actualización masiva para actualizar las reseñas del producto. Anteriormente, Magento Open Source lanzaba esta excepción: report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439.
  • La tienda inicio de sesión funcionalidad de Mostrar Contraseña de Página ahora muestra las contraseñas como se esperaba. Anteriormente, las contraseñas no se mostraban. GitHub-37432
  • El lista de comparación de productos ahora es siempre específico del sitio web para los compradores invitados y no contiene productos que se agregaron desde los otros sitios web, incluidos los productos que se asignaron a ambos sitios web.
  • Los bloques de contenido CMS que contienen emojis ya no se truncan después del emoji cuando se guardan en la base de datos. Anteriormente, contenido estaba truncado después del emoji porque la configuración predeterminada de la base de datos no admitía caracteres de cuatro bytes.
  • Las contraseñas ahora se muestran como se esperaba cuando la casilla de Show Password verificación del Página inicio de sesión está activa.
  • El atributo del sistema de token de Restablecer Contraseña del validación de entidad del cliente (rp_token) se ha eliminado del atributo validación durante la creación del cuenta del cliente, y los validación diacríticos solo se incluyen en el correo electrónico del cliente resultante. Anteriormente, Magento Open Source no guardaba el registro de cliente y mostraba este error: Something went wrong while saving the customer.
  • Ahora puede guardar correctamente las ediciones en las páginas de administración y en la cuadrícula Bloquear después de eliminar una columna. GitHub-37525
  • Ahora, los clientes pueden iniciar sesión correctamente con un nuevo contraseña desde una dispositivos después de restablecer su contraseña en otro dispositivos.
  • El campo Estado/Provincia de la dirección del cliente administrador ahora retiene el último valor guardado según lo esperado. Anteriormente, cuando quitaba el valor de este campo, Magento Open Source seguía mostrando el valor eliminado en el campo Estado/Provincia . GitHub-36846
  • Los errores ya no se producen durante las solicitudes de un fuente RSS para las categorías cuando RSS Feed Top Level Category está habilitado. Anteriormente, la exploración del categoría RSS fuente Página provocaba errores Elasticsearch CRITICAL en los archivos de registro cuando RSS Feed Top Level Category estaba habilitado.
  • Ahora se guarda el valor correcto para gws_store_groups cuando función ámbito cambia durante usuario función creación. Anteriormente, cuando función ámbito se seleccionaba como All, el valor se guardaba como nulo durante usuario gws_store_groups creación, pero no durante función edición. Además, si función ámbito se seleccionaba como Custom, el gws_store_groups valor siempre se guardaba como nulo.
  • Ahora se puede acceder al Página restablecer contraseña haciendo clic en el vincular restablecer contraseña Administrador en la Página inicio de sesión de administración cuando la Add Store Code to Urls configuración esté habilitada. El restablecer contraseña administrador vincular abierto previamente el inicio de sesión Página o el Página 404.
  • La intervalo de fecha del panel de estadísticas de administración ahora se calcula en función de la zona horaria establecida en los ajustes de configuración y, a continuación, se convierte a UTC para obtener datos de la base de datos.
  • El filtro de jerarquía CMS funciona como se espera después de filtrar un tienda vista luego hacer clic Save en Administrador Content > Hierarchy. Anteriormente, al hacer clic Save se actualizaba el Página, pero se perdía el contexto y el vista de tienda seleccionado ya no se mostraba.
  • Al hacer clic en la Send invitation botón (Administrador Marketing > Private sales > Invitation), se envía un petición POST junto con la clave del formulario y se envía la invitación correctamente. Anteriormente, al hacer clic en este botón, ni la método HTTP POST ni la clave de formulario estaban presentes.
  • Los archivos de cero bytes ahora se pueden copiar correctamente en almacenamiento remotos con AWS S3.
  • Los usuarios administradores ahora pueden agregar una nueva dirección de cliente desde la administración cuando ese cliente se ha creado para otro sitio web cuyo ID de tienda no coincide con el ID del sitio web. Anteriormente, Magento Open Source mostraba este mensaje de elemento emergente: Something went wrong. GitHub-36582
  • El bloque CMS editor Página ahora muestra el valor de widget block_id correcto. GitHub-29644

GraphQL

  • El getCustomerWishlist consulta ya no genera un error interno del servidor al consultar listas que contienen productos configurables.
  • El customerCart consulta ahora devuelve todos los descuentos aplicados en paquete productos según lo esperado. Anteriormente, el total de descuentos que se aplicaban a un producto paquete se devolvía como cero.
  • El getCustomerWishlist consulta ya no genera un error interno del servidor al consultar listas que contienen productos configurables.
  • La declaración del is_subscribed indicador, su resolución, caché NewsletterGraphQl y las pruebas asociadas se han movido del CustomerGraphQl módulo al módulo.
  • La addProductsToCart mutación ya no notifica errores no relacionados en user_errors. Anteriormente, los errores relacionados con el carro de compras se incluían user_errors junto con los errores de operación esperados. GitHub-37908
  • El products filtro de producto consulta ahora puede devolver resultados de coincidencias parciales así como coincidencias completas. El nuevo match_type atributo (PARCIAL, FULL) permite especificar el tipo de coincidencia. Anteriormente, el consulta solo devolvía coincidencias completas.
  • Mutex se ha agregado al consulta para evitar condiciones de addConfigurableProductsToCart carrera durante una actualización por solicitudes concurrentes. Anteriormente, cuando un comerciante enviaba dos solicitudes paralelas para agregar el mismo producto configurable a un carro de compras, se agregaban dos artículos separados con el mismo unidad de almacén de producto. GitHub-37847
  • La agregación de productos en las respuestas de GraphQL ahora incluye valores distintos de cero para los atributos cuando Use in Layered Navigation se establece en Filterable (no results). Anteriormente, solo se devolvían valores distintos de cero.
  • Se ha mejorado el setShippingAddressForEstimate rendimiento del consulta para operaciones relacionadas con carro de compras que implican atributos de producto personalizados. Anteriormente, el consulta cargaba todos los atributos del producto cuando los parámetros se enviaban como variables.
  • El products campo consulta ConfigurableProduct.configurable_options ahora solo devuelve valores que tienen al menos un producto habilitado. Anteriormente, este campo devolvía productos simples deshabilitados.
  • Se ha mejorado el rendimiento de la GetCategories query variable al reducir el número de consultas SQL innecesarias que genera.
  • La gestión de errores de dirección para componentes de GraphQL biblioteca ahora funciona como se espera.
  • Ahora, la products consulta devuelve todos los detalles relevantes de los precios de la tienda cuando los precios dinámicos se establecen en no y se aplican descuentos. Anteriormente, no se devolvía el rango de precios de los productos. GitHub-35649
  • Los nombres de transacción de GraphQL ahora incluyen nombres de consulta de nivel superior solo en los registros de Nuevo Relic. Anteriormente, los nombres de transacción también incluían nombres de consulta secundarios.
  • La gestión de errores de dirección para componentes de GraphQL biblioteca ahora funciona como se espera.
  • Cuando la configuración Visibilidad de un producto está establecida en Catalog, products las consultas sobre ese producto ahora resuelven la configuración correctamente. Anteriormente, cualquier filtro proporcionado se cambiaba a la Visibility: Catalog configuración. GitHub-36591
  • La customer consulta ahora devuelve un campo que incluye impuestos product_sale_price sobre los pedidos cuando el precio del producto se ha configurado para incluir impuestos. GitHub-36946
  • Los atributos de tipo de producto DateTime ahora se asignan al filtro en las FilterRangeTypeInput consultas de productos. Anteriormente, estos atributos estaban asignados a FilterMatchTypeInput. Como consecuencia de este cambio, las consultas que filtran por DateTime atributos requieren from valores y to en lugar de valores coincidentes.
  • El customer consulta ahora devuelve solo opiniones de clientes relacionadas con un vista de tienda específico, tal como se espera cuando se filtra por ID tienda.
  • La categories consulta ya no devuelve un error cuando el valor de respuesta items.redirect_code contiene un valor nulo. GitHub-36675
  • La changeCustomerPassword mutación ahora desencadena correo electrónico como se esperaba después de restablecer con éxito un contraseña.
  • urlResolver y route las consultas ahora devuelven un resultado cuando el Target Path de URL reescritura es un URL absoluto. Anteriormente, el urlResolver consulta devolvía NULL cuando se usaba para recuperar redirección datos.
  • La products consulta ahora devuelve etiquetas correctas. GitHub-29635
  • La categoryList consulta devuelve ahora una sección rellenada product del options bloque para los productos secundarios de paquete productos, según lo esperado. Anteriormente, no se devolvía ninguna información sobre paquete producto secundario.
  • Ahora, la route consulta devuelve rutas para categorías y productos según lo esperado, sin un error interno del servidor. GitHub-36544
  • El products consulta ahora obtiene url_key valores cuando se seleccionan varias categorías.
  • products Ahora, las consultas solo devuelven agregaciones para los productos asignados al catálogo compartido especificado.
  • Se han agregado nombres de transacción a Nuevo transacciones de Relic GraphQL. GitHub-36874
  • El OptionValueProvider método class get() devuelve ahora un valor de opción de atributo basado en el valor dado option_id según lo esperado. Anteriormente, devolvía un error. GitHub-35910
  • Ahora, la products consulta devuelve todas las agregaciones (filtros) disponibles y sus etiquetas traducidas correctamente. Anteriormente, las etiquetas de agregación de precios y categoría no se traducían como se esperaba. GitHub-36140
  • Ahora puede utilizar un fragmento ProductCard al consultar related_products, upsell_products, y crossell_products en ProductInterface. GitHub-29769
  • Ahora, la products consulta devuelve productos relacionados, impulsar ventas y realizar venta cruzada en el orden en que se guardaron. GitHub-36461
  • Las consultas GraphQL ahora devuelven datos de productos relacionados ordenados por posición. GitHub-33010
  • category_url_path se ha agregado a ProductAttributeFilterInput, que permite solicitar todos los productos para una categoría en un solo consulta. GitHub-32460
  • Corregido un error en el que el método que establece el tienda actual en una mutación GraphQL ejecutado antes que el método que controla validación. GitHub-31336

Imagen

  • El icono del favorito de administración cargar formulario ahora admite .ico tipos de archivos. GitHub-34858

Importar/exportación

  • El proceso de importación de productos ahora analiza los valores con el separador correcto. Anteriormente, el proceso de importación utilizaba el operador de barra vertical ("|") para analizar los valores de selección múltiple hasta que el separador de valores determinado no era igual al valor predeterminado. Posteriormente, el proceso de importación falló.
  • Ahora, las redirecciones 301 se crean automáticamente cuando URL Key CSV importación actualiza los valores.
  • Las tarifas de la tabla de envío ahora se actualizan según lo esperado en el archivo de CSV importación de tarifas de tabla. El archivo de cargar de velocidad de tabla se almacena temporalmente hasta que se ejecute el trabajo cron del procesador de configuración asíncrono. Este trabajo cron recoge la nueva ubicación del archivo y la procesa en consecuencia. Anteriormente, las velocidades de tabla no se actualizaban como se esperaba porque el procesador asíncrono buscaba el archivo en la ubicación incorrecta.
  • La cuadrícula Exportar Archivos ahora muestra todos los archivos exportados, independientemente de la marca de tiempo. Anteriormente, la cuadrícula no mostraba todos los archivos exportados que tuvieran la misma marca de tiempo. GitHub-36951
  • Ahora se pueden importar correctamente los productos con opciones personalizables. Anteriormente, los datos de opciones se perdían durante la importación. GitHub-37598
  • Los caracteres especiales de los archivos de CSV exportados ahora se representan según lo esperado en Excel. GitHub-37921
  • La importación de orígenes de stock y direcciones de clientes mediante esta Customers and Addresses (single file) opción ahora se completa correctamente.
  • La importación del producto ya no falla por falta de memoria. Anteriormente, la importación de cualquier número de productos a una base de datos que ya contiene aproximadamente diez millones de productos fallaba debido a la falta de memoria.
  • Las comprobaciones de validación ahora detienen el proceso de importación según lo esperado cuando no hay datos válidos para importar y ahora Magento Open Source muestra este error: There are no valid rows to import. Anteriormente, validación pasaba bajo estas condiciones, pero el proceso de importación fallaba con este mensaje: entity values are mixed. GitHub-32905
  • Al importar claves de URL con el mismo producto, ya no se sobrescribirán ni eliminarán las claves de vista tienda predeterminadas existentes. URL reescrituras ahora solo se regeneran para las vistas de tienda cuando no hay ningún valor anulado url_key . Anteriormente, al importar URL reescrituras con la misma clave de URL se sobrescribía la clave de URL vista de tienda predeterminada existente. key_store( URL se eliminaron las reescrituras, pero la URL reescritura en el nivel de vista de tienda predeterminado para el producto seguía establecida en key_store.)
  • El número de productos ya no cambia inesperadamente durante la importación. Ahora, el vaciado de la caché se pospone hasta después del proceso de importación.
  • El estado de las acciones de importación programadas ahora representa con precisión el éxito o el fracaso de la operación de importación. Anteriormente, todas las acciones se registraban como satisfactorias.
  • Magento Open Source ahora tiene en cuenta la configuración durante la Disable Automatic Group Change Based on VAT ID importación de los registros del cliente. Anteriormente, se ignoraba el disable_auto_group_change valor en los archivos de importación. GitHub-36409
  • Magento\Framework\Convert\Excelahora gestiona correctamente los números precedidos por un espacio. El XML de Excel ahora codifica los campos como un Stringarchivo . Anteriormente, el escritor de Excel codificaba estos valores como number, lo que daba como resultado no válido archivos. GitHub-33422
  • Los comerciantes ahora pueden especificar la configuración regional en la que se presentan los datos de importación y cómo los validadores de datos deben analizar estos datos. Si no se especifica un valor de configuración regional, Magento Open Source utiliza la configuración regional predeterminada (no la configuración tienda predeterminada vista) para analizar los datos. En los procesos de administración, importación y exportación seguirán usando la configuración regional de la interfaz de administración usuario para importar, analizar y formato datos, respectivamente.
  • La importación de productos con country_of_manufacture atributos creados por un usuario de administración con una configuración regional diferente a la del usuario de administración que está importando los productos ya no arroja un error validación. Anteriormente, esta operación de importación podía dar lugar a un error de validación en el country_of_manufacture atributo.
  • Los productos exportados ahora tienen el valor correcto manage_stock cuando el use_config_manage_stock valor es igual a 1. Anteriormente, este valor predeterminado era incorrecto.
  • Magento Open Source muestra ahora un mensaje de error informativo en la cuadrícula de importación programada cuando una imagen no se importa correctamente durante una operación de importación programada. Anteriormente, no se mostraba ningún mensaje de error.
  • El proceso de importación de productos ya no se interrumpe cuando faltan imágenes de productos. Anteriormente, cuando faltaba una imagen de producto durante la importación de un servicio de terceros mediante un archivo CSV, Magento Open Source mostraba este error: Maximum error count has been reached or a system error is occurred!.
  • El proceso de importación de productos ya no arroja un error de validación cuando un valor de atributo de la configurable_variations columna contiene una coma.
  • La decodificación se ha excluido del proceso de exportación. El texto del archivo de exportación de CSV permanece sin cambios después de la importación. Como resultado, la descripción no cambia después de la reimportación. Anteriormente, las etiquetas HTML se eliminaban en el editor de Page Builder después de exportar e importar productos.
  • Las configuraciones no predeterminadas (sitio web o tienda ámbito) que se agregan como variables entorno ya no interrumpen el app:config:import proceso con un error de recursión.
  • Los indexadores de precios y búsqueda catálogo de la actualización en modo Guardar ya no se invalidan tras la importación. Anteriormente, la versión de documento de Elasticsearch Indexer cambiaba de versión cuando se importaban productos nuevos y existentes.
  • Ahora los informes de productos se exportan al var directorio. Anteriormente, estos informes se exportaban al directorio raíz documento, que es un directorio de solo lectura en nube instancias.
  • Los campos vacíos de dirección de cliente de selección múltiple ya no interrumpen ni detienen el proceso de exportación.

Índice

  • Rendimiento mejorado del indizador cuando no se establece ninguna catalogrule_product regla de catálogo. GitHub-34784
  • Se han resuelto los problemas con el rendimiento del indexador de precios. El rendimiento del indexador ya no se degrada gradualmente. El indexador se ha refactorizado para aumentar la velocidad de procesamiento del indizador cambiando la forma en que se crean las tablas temporales. Ahora se vuelven a crear estas tablas temporales en lugar de ser abordadas por instrucciones de DELETE que consumen más tiempo.
  • Se ha mejorado el rendimiento del indexador de precios. Se ha agregado una sugerencia de índice al indexador de precios que mejora los tiempos de ejecución de las consultas MySQL que se activan durante la indexación.
  • Todos los indexadores ahora usan los mismos colores para representar el estado del indexador. GitHub-34648
  • Se ha mejorado el rendimiento del indizador de productos de reglas de catálogo en implementaciones en las que las reglas no están asignadas a todos los sitios web.
  • La creación de un tipo de producto personalizado cuando los indizadores están configurados en Update on schedule ya no provoca que falle el tarea de actualización cron del índice. GitHub-36471
  • bin/magento indexer:reindex customer_grid ya no falla con un error de MySQL cuando la cuadrícula de clientes incluye atributos de cliente personalizados recién creados. GitHub-36233
  • El cambio de modo de indexador para varios indexadores (es decir, un cambio de modo de indexador de acción masiva) ahora cambia el modo de un indexador solo cuando el modo actual difiere del que se está aplicando. Esto mejora el rendimiento al evitar desplazamientos innecesarios a la base de datos. GitHub-36823
  • Se ha mejorado la indexación de productos con muchas opciones de atributos. GitHub-36386

Infraestructura

  • Se ha añadido una instrucción que faltaba return al controlador de habilitación de uso de administrador. Anteriormente, no había ninguna return declaración y el controlador en FrontendController clase se manejaba incorrectamente. GitHub-31374
  • Se reemplazó MySQL CREATE TEMPORARY TABLE ... LIKE con refactorizado CREATE TEMPORARY TABLE para cumplir con MySQL 8.x. GitHub-37926
  • Magento Open Source ya no incluye la ruta completa a la raíz del servidor en el mensaje de error que muestra cuando se ha enviado una petición HTTP malformada al servidor. Ahora sólo se pasan cadenas al explode método como segundo argumento.
  • restricted_classes.php ha reemplazado Zend_Validate_File_Uploada . Anteriormente, el validador se bloqueaba durante cargar de un archivo de importación mayor que el valor configurado en php.ini . GitHub-37281
  • El motor de plantilla correo electrónico ahora puede procesar correctamente determinadas directivas anidadas (por ejemplo, {{if}}{{depend}}...{{/depend}}{{/if}}). GitHub-36438
  • product las consultas con datos de agregación ahora devuelven los valores de etiqueta correctos para los atributos del producto de tipo booleano. GitHub-29123
  • Se han agregado Ucraniano regiones a la directory_country_region tabla. GitHub-35187
  • Los archivos CSS ya no se corrompen cuando se fusionan var/tmp y pub/static están en diferentes sistemas de archivos y CSS Merging Enabled está habilitado. Los archivos temporales se han creado en el mismo directorio estático que el archivo destino para garantizar que ambos archivos estén en el mismo sistema de archivos. Como resultado, el llamado a cambiarle el nombre es atómico. GitHub-29172
  • Se ha corregido un posible error al llamar a una función getId() miembro en int, que en ocasiones desencadenaba una excepción cuando se visualizaba un cliente en Administración.
  • Las comprobaciones de tipo ahora se aplican para el tipo de matriz en el procesador de configuración del tema de diseño. GitHub-34440

Gestión de inventario

  • Los productos ahora se devuelven automáticamente al estado En stock después de una nota de crédito que incluye una devolución del producto cantidad. Anteriormente, si un producto estaba agotado pero una nota de crédito devolvía existencias de este producto, los comerciantes tenían que cambiar manualmente el estado de las existencias del producto.
  • Se ha mejorado el rendimiento del indizador de inventario en modo asíncrono mediante la eliminación de solicitudes redundantes de reindexación de elementos de origen predeterminados.
  • Se han corregido problemas con el indexador de inventario que afectaban a la precisión del recuento de existencias de escaparate de los productos configurables. GitHub-36421
  • La actualización de inventario elementos de origen a través de REST V1/inventory/source-items ahora funciona más rápido. La llamada ya no desencadena una operación de reindexación o limpieza de caché en productos inventario sin cambios.
  • REST V1/products/<sku> ahora activa un reíndice de acciones automatizado al actualizar el estado de existencias de un producto. Anteriormente, no se activaba un reíndice de acciones para el producto que se estaba actualizando.
  • El estado del stock de productos configurable ahora se actualiza en el escaparate como se espera cuando los productos secundarios se actualizan mediante V1/inventory/source-items.
  • La POST <store_code>/V1/inventory/source-items llamada REST ahora valida la carga útil para el espacio en blanco en los elementos de origen de inventario devueltos y envía un mensaje de error sobre validación según sea necesario.
  • Los comerciantes ahora pueden notificar a los compradores que un pedido está listo para recoger cuando la No Manage Stock configuración está habilitada para un producto. Anteriormente, cuando esta opción estaba habilitada, Magento Open Source mostraba este mensaje de error: Your order is not ready for pickup.
  • Los comerciantes ahora pueden crear una nota de crédito para pedidos de los que se ha eliminado un producto simple que está asociado con un producto configurable. Anteriormente, los comerciantes no podían crear la nota de crédito y Magento Open Source lanzaban una TypeError excepción.
  • El recuento de fuentes de la cuadrícula de administración ahora devuelve registros válidos después de aplicar un filtro. Anteriormente, el getSourcesCount método siempre devolvía el número total de fuentes después de aplicar un filtro.
  • El Categoría Página ya no redirige al panel de administración cuando ordena los productos mediante la opción "Mover de Stock a abajo". El problema se ha resuelto colocando la instrucción SQL join dentro de la instrucción condicional solo después de asegurarse de que ya no está incluida. Anteriormente, el Página redirigía al panel de administración con el mensaje:Invalid security or form key. Please refresh the page
  • AUTO_INCREMENT de la inventory_source_item tabla ya no aumenta con cada UPDATE operación. Anteriormente, cada actualización aumentaba el AUTO_INCREMENT de esta tabla, lo que finalmente causaba que el AUTO_INCREMENT valor estuviera fuera del rango al agregar un nuevo registro al inventory_source_item tablearchivo . Como resultado, los usuarios administradores recibieron el siguiente error cuando intentaron crear un nuevo producto desde el administrador: Numeric value out of range....
  • Los usuarios administradores ahora pueden agregar un producto a un carro de compras de cliente desde el administrador para un tienda particular vista ámbito con la administración de inventario. Anteriormente, el ID de stock no se determinaba correctamente y los usuarios administradores no podían agregar el producto a la carro de compras del cliente.
  • La sincronización entre el inventario y el catálogo ya no depende de los Synchronize with Catalog ajustes de configuración. Anteriormente, los productos se sincronizaban correctamente solo cuando esta opción estaba habilitada.
  • Magento Open Source ya no arroja un error después de Página recargar cuando un comprador deduce un cantidad de producto de un pedido que cae dentro del rango de producto disponible al seleccionar la fuente de envío.
  • El estado del stock de producto configurable ahora se actualiza correctamente cuando un producto configurable y su valor de productos Stock Availability secundarios se actualiza mediante una actualización masiva inventario. Anteriormente, no se podía devolver un producto configurable y sus productos secundarios al stock mediante una actualización masiva.
  • El tipo de datos para fuentes no predeterminadas se ha actualizado para DECIMAL (12, 4) admitir hasta ocho dígitos enteros, que es el mismo límite implementado para las existencias predeterminadas. Este valor ahora está en sincronizar con las páginas de productos de adición y edición del administrador, que admiten validación de entrada de hasta ocho dígitos para todos los tipos de fuentes de inventario. Anteriormente, la entrada para el Quantity campo (para fuentes no predeterminadas) solo admitía hasta seis dígitos.
  • Tanto las fuentes predeterminadas como las no predeterminadas ahora muestran la información correcta para el producto vendible cantidad cuando una fuente no predeterminada que se ordenó en la tienda se procesa para su envío. Anteriormente, Magento Open Source mostraban un estado de stock incorrecto para las fuentes del producto.
  • \Magento\Catalog\Model\Product::getIsSalable() ahora devuelve el estado de existencias en función de la ámbito definida en el objeto de producto (\Magento\Catalog\Model\Product::getStoreId()). Anteriormente, el estado de existencias devolvía en función de la ámbito actual, getIsSalable() independientemente del objeto del producto.

Registro

  • Los usuarios administradores ahora pueden ver los registros de las acciones masivas creadas por las integraciones en la sección Registro de acciones masivas del administrador.

Iniciar sesión

  • Restablecer un contraseña en una explorador y posteriormente registro a través de una explorador diferente ya no da lugar a una excepción. GitHub-36447
  • Ahora se redirige a los clientes al Página de inicio de sesión después de activar un cuenta según lo previsto. Anteriormente, los clientes iniciaban sesión automáticamente.

Boletín

  • Ahora, Commerce comprueba si el funcionalidad de suscripción al boletín está habilitado antes de aceptar nuevos suscriptores a un boletín. GitHub-33040

Órdenes

  • Los productos movidos de la carro de compras de administración a la lista de artículos a pedir ahora se eliminan según lo esperado de la carro de compras. GitHub-37538
  • Los comerciantes ahora pueden crear notas de crédito como se espera para la devolución parcial de pedidos que fueron pagados en parte por puntos de recompensa. Anteriormente, cuando un comerciante creaba una devolución parcial, el estado del pedido se identificaba incorrectamente como cerrado y el Página de pedidos del administrador no mostraba las opciones de nota de crédito.
  • Magento Open Source ahora aplica la cantidad de descuento correcta a los pedidos cancelados parcialmente. Anteriormente, la cantidad de descuento calculada en la base_discount_cancelled columna se calculaba incorrectamente cuando se cambiaba un pedido. Se ha añadido compatibilidad para valores negativos a las facturas de pedidos con descuento.
  • Magento Open Source ahora ordena los atributos personalizados de dirección del cliente según el criterio de ordenación proporcionado cuando el administrador usuario creado el pedido en el administrador.
  • La cuadr Página ícula de pedidos de cliente de administración ahora se carga según lo esperado cuando un comerciante inicia un búsqueda desde este Página. Anteriormente, cuando un comerciante intentaba búsqueda pedidos desde esta tabla, el Página se congelaba y Magento Open Source mostraba un Request-URI Too Long error en la consola explorador.
  • Se ha mejorado el rendimiento del OrderRepository::get() método al reducir el número de veces que carga un pedido desde la base de datos. Anteriormente, este método cargaba un pedido varias veces. GitHub-36636
  • Los comerciantes ahora pueden generar notas de crédito para pedidos que contienen algunos artículos con un total cero cuando otros artículos del pedido están disponibles para reembolso. Anteriormente, los comerciantes no podían realizar múltiples reembolsos cuando un cliente tenía un descuento del 100% en algunos artículos del pedido.
  • Los vínculos entre los productos secundarios y principales ahora se muestran en el Página de pedidos durante la nueva orden del producto secundario desde el administrador. GitHub-37028
  • La emulación ahora comienza durante send() las llamadas una vez que la emulación se ha completado durante la getInfoBlockHtml() llamada y no se registra ningún error. Anteriormente, el system.log archivo estaba inundado con este error: main.ERROR: Environment emulation nesting is not allowed. GitHub-35603
  • Los comerciantes ahora pueden generar notas de crédito para pedidos que contienen algunos artículos con un total cero cuando otros artículos del pedido están disponibles para reembolso. Anteriormente, los comerciantes no podían realizar múltiples reembolsos cuando un cliente tenía un descuento del 100% en algunos artículos del pedido.
  • Los vínculos entre los productos secundarios y principales ahora se muestran en el Página de pedidos durante la nueva orden del producto secundario desde el administrador. GitHub-37028
  • La sección de encabezado de la Página de pedido ahora contiene la información esperada sobre la factura enviada, la nota de crédito y el envío. GitHub-27474
  • Ahora, las notas de crédito para pedidos que contienen un solo producto configurable ahora se generan correctamente. Anteriormente, la isLast() función no regresaba true como se esperaba. GitHub-36722
  • Se ha mejorado el rendimiento del aggregate_sales_report_bestsellers_data trabajo cron optimizando el consulta de datos principales.
  • El estado del pedido ahora es correcto cuando se ha realizado un reembolso parcial para un pedido que contiene paquete productos. Anteriormente, el estado del pedido aparecía como completo después de que se emitiera un reembolso parcial, igualado aunque el pedido restante no estuviera completo. GitHub-37377
  • Los compradores ya no pueden pedir un producto utilizando un precio personalizado cuando un pedido se genera por primera vez desde el Administrador utilizando el precio personalizado único. Anteriormente, si un pedido contenía un artículo con precios personalizados, este precio personalizado se aplicaba para otros pedidos realizados con el funcionalidad de pedido nuevo.
  • Los compradores ya no pueden guardar estados de pedidos incorrectos en el Página de pedidos. El estado del pedido ya no cambia de Todas las aplicaciones a Procesando cuando se envía un artículo. Anteriormente, no comprobaba Magento Open Source estado del pedido actual antes de guardar el estado del pedido después de que un comprador ingresara un comentario. GitHub-36562
  • La cuadrícula de pedidos de ventas ahora está sincronizada asincrónicamente con todos los pedidos como se esperaba. GitHub-36562
  • La funcionalidad de filtrado por fecha de compra de la sección de pedidos del cliente de la Página de pedidos ahora funciona como se espera. Anteriormente, se producía un error de JavaScript cuando la lógica de Conversión de zona horaria producía un error cuando se proporcionaba la misma zona horaria al método.
  • El panel Administrador muestra ahora las estadísticas de pedidos correctos en la primera carga. Anteriormente, el panel mostraba información de pedido incorrecta, pero mostraba la información correcta una vez que se actualizaba el período de tiempo.
  • Los usuarios administradores ahora son redirigidos como se espera al Página de pedidos después de seleccionar un vista de tienda durante la creación de un nuevo pedido desde el administrador.
  • El GET V1/orders/<OrderID> punto final ahora devuelve información sobre los productos configurables y simples en el pedido, independientemente del estado de stock de los productos simples. Los usuarios administradores pueden realizar pedidos ahora solo si los artículos (productos) seleccionados están en stock o se pueden vender. Anteriormente, esta API solo devolvía información sobre los productos que estaban en stock.
  • La nota de crédito ya no Página se bloquea cuando gratuito envío está habilitado cuando el precio de envío incluye impuestos y los cálculos de impuestos se aplican después de los descuentos. Anteriormente, Magento Open Source lanzaba una Division by zero excepción. GitHub-36800
  • El uso del rest/V1/orders/{id}/comments extremo para entrada un comentario sobre un pedido sin proporcionar el estado del pedido ya no afecta a la visualización del pedido. Anteriormente, el estado del pedido se registraba como NULO en las sales_order tablas and sales_order_grid y ni la Página Mis pedidos ni la cuadrícula de pedidos de Administrador mostraban el pedido. GitHub-34180

Page Builder

  • Ahora, las imágenes mantienen la relación de aspecto correcta cuando se cambia el tamaño en Page Builder. GitHub-37493
  • Page Builder ahora muestra mensajes de error según sea necesario cuando intenta cargar una imagen mayor que el tamaño de archivo máximo especificado. Anteriormente, Comercio mostraba un mensaje emergente de alerta para los archivos de imagen cargados que eran más pequeños que el máximo especificado.
  • Los controles deslizantes de producto de CMS Página ahora incluyen los productos principales de cualquier producto secundario que se haya seleccionado para su inclusión en el regulador. Anteriormente, los productos principales estaban excluidos del regulador.
  • El contenido convertido a HTML ahora se muestra en plantillas de correo electrónico como se espera cuando el módulo Magento_AsyncConfig está deshabilitado. Anteriormente, las plantillas de correo electrónico solo contenían HTML sin procesar.
  • El rendimiento de las operaciones de guardado Page Builder en la explorador de Cromo ha mejorado.
  • Al añadir un producto a un carro de compras desde el carrusel de Page Builder, ya no se duplica la cantidad de artículos de páginas con dos widgets diferentes que muestran los mismos productos.
  • Page Builder ya no agrega el atributo HTML tabindex a las etiquetas de hipervínculo a cuando edita un hipervínculo y, a continuación, guarda una plantilla.
  • El widget de productos y la vista previa del Page Builder ahora administran correctamente los caracteres especiales de HTML. Anteriormente, el widget de productos no mostraba correctamente las SKU que contenían el carácter &.
  • Page Builder contenido de elemento de texto ahora se actualiza como se esperaba al seleccionar y actualizar el bloque de contenido completo en modo previsualización.
  • Copiar y pegar texto de un editor de texto de Page Builder a otro ahora funciona como se esperaba. Anteriormente, no se podía guardar el Página en el que intentaba pegar texto, y Magento Open Source mostraba este error de consola: [ERROR] Page Builder was rendering for 5 seconds without releasing locks..
  • column-block Page Builder tipo de contenido que se creaba en versiones anteriores de Page Builder ahora se muestra correctamente.
  • Se ha mejorado el filtrado del producto metadatos descripción durante la creación del producto desde el administrador. Anteriormente, si los Page Builder estaban activados, la descripción del metadatos del producto se generaba en función de la máscara predeterminada {{name}} {{description}} . La máscara de meta descripción del producto predeterminada ahora se compone de {{name}}. GitHub-36107
  • Añadir un bloque dinámico sin contenido ya no genera déclencheur de error.
  • Se han resuelto los problemas con la visualización de columnas en el contenido del Page Builder. Anteriormente, el contenido de tipo de contenido column-line no se representaba. GitHub-3949

Pago

  • Magento Open Source ahora gestiona correctamente los errores 502 de PayPal al evitar la creación de pedidos cuando se produce este error. Anteriormente, los pedidos se seguían creando a pesar de un error 502 de PayPal, que provocaba incoherencias entre los registros de Magento Open Source y los de PayPal.
  • Las transacciones de Pago y envío de PayPal Express ahora incluyen SKU de productos secundarios y títulos de productos completos. El archivo Magento/Paypal/Model/Cart.php ahora recopila SKU de productos secundarios con el título del producto principal para identificar el título del producto con el SKU secundario. GitHub-36808
  • La configuración de Card Security Code Does Not Match ahora se procesa según lo esperado durante el proceso de pago de Payflow Pro. Anteriormente, este proceso de evaluación nunca se completaba, lo que bloqueaba el cierre de compra.
  • La opción de método de pago Vault ya no aparece en el flujo de trabajo de cierre de compra del administrador cuando el comprador no tiene un token de Vault. GitHub-36273
  • El botón Venmo ahora se puede ocultar cuando los botones de PayPal están activados. Anteriormente, el botón Venmo no se podía eliminar del carro de compras, el minicarrito, los detalles del producto o las páginas de cierre de compra.
  • Los compradores ahora pueden seleccionar un método de envío al aplicar el código de cupón durante el cierre de compra. Anteriormente, en estas condiciones, Magento Open Source arrojaba un error y asignaba un envío de tarifa plana al pedido.
  • Se han resuelto los problemas con el procesamiento de la tienda de los métodos de pago de crédito de PayPal y PayPal.
  • Se han resuelto problemas con URL de reserva para pedidos pagados con mediante pagos ideales cuando el pago local está habilitado.
  • Los compradores ya no pueden crear un pedido de PayPal sin añadir un apellido.

Braintree

  • La información de pago de Braintree ahora se guarda por tienda y los compradores ahora solo ven la información de la tarjeta que se ha guardado en la tienda en la que están comprando. Anteriormente, los compradores podían ver la información de la tarjeta almacenada de todas las tiendas durante el cierre de compra. GitHub-34253
  • Los compradores ahora pueden retirar un pedido que se envía a varias direcciones mediante un método de pago Braintree cuando la caja fuerte para pagos con tarjeta está desactivada. GitHub-37615
  • Los pedidos parcialmente facturados ahora se capturan como se espera en la cuenta correcta en implementaciones en las que los comerciantes tienen dos ID de cuenta de comerciante diferentes para la misma divisa en su cuenta de Braintree.
  • Magento Open Source ya no genera un error al crear una segunda factura parcial para un pedido pagado por Braintree cuando Enable Vault for Card Payments está habilitado. Anteriormente, cuando un comerciante intentaba crear una segunda factura, Magento Open Source arrojaba este error: Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid.
  • La opción de método de pago Braintree Vault ya no se anula automáticamente en el flujo de trabajo de cierre de compra cuando un comprador actualiza su dirección de facturación. Anteriormente, el método de pago se anulaba cuando el comprador anulaba la selección del botón My billing and shipping address are the same.
  • Se han resuelto problemas con el cierre de compra con PayPal a través de Braintree después de actualizar desde Adobe Systems Commerce 2.4.5-p2. GitHub-37242
  • Los números de teléfono ahora se representan según lo esperado con las direcciones en los campos de dirección de envío emergente de Google Pay. Anteriormente, faltaban números de teléfono.
  • Los pedidos ahora se realizan correctamente con Braintree cuando la respuesta de Braintree incluye un valor vacío para threeDSecureInfo/eciFlag. Anteriormente, se producía un error de PHP durante el cierre de compra cuando este valor estaba vacío.
  • Magento Open Source ya no genera un error cuando un comprador aplica un cupón en la página de revisión de pedidos al cerrar la compra con Google Pay desde el minicarrito. Anteriormente, se redirigía a los compradores a una página 404.
  • Los compradores ahora pueden completar el pago y envío con Braintree Payments y Magento Open Source 2.4.6 con ReCAPTCHA v2 o v3 invisible. GitHub-37241
  • Los compradores ya no pueden hacer clic en el botón PayPal para comprar un producto configurable sin seleccionar primero las opciones requeridas. Anteriormente, los compradores podían hacer clic en el botón PayPal y posteriormente se les redirigía de nuevo a la página del producto con un error:
  • El botón PayPal ahora se muestra como se espera en las páginas del carro de compras y del minicarrito. Anteriormente, este botón no se mostraba en la página del carro de compras y se duplicaba en la página del minicarrito.

Rendimiento

  • Varios clics en el menú desplegable de acción masiva de la página Ventas > Pedidos ya no generan varias solicitudes POST. GitHub-37997
  • Solo 200 las respuestas o 404 se almacenan en caché cuando un comprador navega a un Página que activa un redirección 301, a menos que el encabezado Cache-Control del Página contenga private . Anteriormente, se almacenaba en caché un estado HTTP 200 en private el encabezado Cache-Control y un estado HTTP 301 a menos que estuviera contenido private en su encabezado Cache-Control. GitHub-36492
  • Se ha eliminado lo no utilizado Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper de Magento\Catalog\Model\ProductRepository. Anteriormente, ProductRepository se ha cargado este ayudante, que es un Adminhtml controlador. GitHub-37864
  • Se ha mejorado el rendimiento de Página velocidad de carga cuando se agregan muchas opciones a los productos agrupados. GitHub-29409
  • Se ha optimizado el proceso de asignación de productos a categorías desde la Products in Category pestaña. Los Assign botones y Remove de la Add Product by SKU pestaña ahora están desactivados hasta que los productos se carguen completamente en la cuadrícula. Antes, los usuarios administradores no podían agregar productos por unidad de almacén en catálogos que contenían millones de productos registrados.
  • El rendimiento de la addProductToCart mutación al ejecutarse con muchos atributos de productos personalizados ha mejorado. Anteriormente, cuando esta mutación se ejecutaba con muchos atributos del producto (aproximadamente 1000), Magento Open Source intentaba cargar todos los atributos del producto.
  • Se han resuelto los problemas de rendimiento al cargar atributos de producto utilizados por las reglas de carro de compras. Ahora solo se cargan los atributos de producto para las reglas de carro de compras activas.
  • El bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml comando ahora se ejecuta correctamente cuando se ejecuta varias veces. Anteriormente, arrojaba este error cuando se ejecutaba más de una vez: Coupon with the same code already exists.

Promoción

  • Los efectos del Fixed amount discount for whole cart precio regla, cuando se aplican con el regla, ahora se distribuyen proporcionalmente como se esperaba entre los productos y los Apply to shipping amount importes de envío. Anteriormente, los cálculos de descuento eran incorrectos.
  • La Discard Subsequent Rules configuración ahora se aplica según lo esperado. Cuando esta opción está habilitada, otras reglas con baja prioridad solo se pueden aplicar a un producto diferente. GitHub-35707

reCAPTCHA

  • Invisible reCAPTCHA v3 ahora funciona como se espera para el cierre de compra Página Sign in botón. Anteriormente, los compradores no podían iniciar sesión, y Comercio producía JavaScript errores.
  • El reCAPTCHA de Google en el flujo de trabajo de pago ahora funciona como se espera para cheques, giros postales y métodos de pago personalizados.
  • Adobe Systems formularios de comercio ya no se pueden enviar antes de que se cargue la casilla de verificación Google ReCAPTCHA.
  • El widget reCAPTCHA ahora precede al Place Order botón del Página de pago. Anteriormente, la utilidad se mostraba en la parte superior del Página.

Informes

  • El informe Pedidos (REPORTS > Sales > Orders) ahora incluye valores de pedidos correctos cuando los pedidos son generados por tiendas que usan monedas no predeterminadas. Anteriormente, este informe incluía valores incorrectos. GitHub-36742
  • Se ha revisado para mayor claridad la información engañosa del formulario de informe de pedido de cliente.
  • Los usuarios administradores ahora pueden búsqueda registros con correos electrónicos que contienen + (más) signos del Página de informes de carritos abandonados. GitHub-36560

Buscar search-heading

  • Las sugerencias de búsqueda de autocompletado del frontend del búsqueda del encabezado ahora funcionan como se espera. Anteriormente, el completado automático no rellenaba este campo cuando esta función estaba habilitada. GitHub-37557
  • El rendimiento de las consultas realizadas desde la barra de búsqueda de administración se ha mejorado mediante la adición de un indizador. Anteriormente, cuanto más grande era la search_query tabla, más tardaba la consulta en completarse.
  • La ordenación alfabética de productos por nombre ahora funciona correctamente para nombres que contienen caracteres Turco.
  • Los Use in Search Results Layered Navigation Propiedad de atributo de producto ahora solo se muestran cuando Use in Search se establece en Yes.
  • El precio de búsqueda avanzado y unidad de almacén filtros ahora funcionan correctamente cuando se aplican juntos en un búsqueda avanzado. GitHub-37581
  • Ya no se realizan búsquedas de campos búsqueda vacíos. Esto reduce el tamaño de la search_query tabla. Anteriormente, las consultas incorrectas o las consultas en campos de búsqueda vacíos devolvían un conjunto de datos enorme, lo que aumentaba el tamaño de la search_query tabla y daba lugar a problemas con /tmp.
  • Ahora, los filtros de escaparate funcionan como se espera al ordenar entradas de catálogo con atributos personalizados desplegables.
  • Search resultados ahora muestran resultados relevantes basados en búsqueda peso de los atributos según lo esperado.
  • El texto informativo situado bajo el campo de entrada del Storefront Properties atributo en la Search Weight > de > Product Attributes de administración Stores describe ahora los valores posibles. GitHub-36646
  • Las reglas de precio del carro de compras funcionan ahora como se espera cuando se agrega un producto paquete al carro de compras cuando los atributos de precio dinámicos están desactivados. El envío gratuito y la tarifa de tabla correcta se aplican tanto si el atributo dinámico está habilitado como si está desactivado. Anteriormente, gratuito envío no se aplicaba según lo previsto.
  • Magento Open Source ahora pasa a un nuevo Página de envío como se esperaba después de crear un envío parcial para un pedido. Anteriormente, después de crear un envío parcial, Magento Open Source no creaba un Página de envío completo para los productos restantes del pedido. GitHub-38063
  • El importe total para enviar un pedido a varias direcciones ahora se calcula correctamente. Anteriormente, cuando un presupuesto contenía más de una dirección de envío, el recaudador total actualizaba el importe del envío de la dirección indicada en $quote->getShippingAddress() lugar de pasarlo $shippingAssignment como se esperaba. GitHub-37283
  • Magento Open Source ya no produce una excepción durante el cierre de compra con varias direcciones de envío cuando el administrador usuario ha utilizado la función inicio de sesión como cliente.
  • Los productos ahora aparecen correctamente en la cuadrícula Paquetes Página Productos de Crear cuando agrega productos a un paquete después de que se haya creado la etiqueta de envío.
  • El cart consulta ahora devuelve descuentos de envío discretos como descuentos de envío separados con etiquetas de descuento únicas. El nuevo applied_to Propiedad de descuento admite la diferenciación entre los descuentos aplicados a un carro de compras artículo. Anteriormente, todos los descuentos de envío se combinaban en un solo valor codificado Shipping Discount .
  • Cuando un administrador usuario crea un reorden, las direcciones facturación y de envío del pedido inicial rellenan automáticamente los campos relevantes cuando el administrador usuario hace clic en el Reorder botón (Administrador Sales > Orders > View ). Si se guardan las mismas direcciones en la libreta de direcciones del comprador, el reordenamiento siempre incorporará una versión actualizada de estas direcciones. Anteriormente, el campo de dirección de envío se rellenaba previamente con los datos actualizados, pero el campo de dirección de facturación no.
  • El cuadro de texto Shipping Policy ahora está visible en el ámbito de la vista de la Tienda de administración cuando Apply custom Shipping Policy está habilitado y hay disponible una directiva de envío personalizada. GitHub-36425
  • La consulta cart devuelve ahora un valor selected_shipping_method que coincide con uno de los códigos de método y operador available_shipping_methods. Anteriormente, cuando uno de los métodos de envío seleccionados contenía un guión bajo, estos códigos de transportista/método no coincidían. GitHub-36606
  • La mutación setShippingAddressesOnCart ya no genera un error cuando el segundo valor de la matriz de la calle es nulo. Anteriormente, se producía esta excepción: The address failed to save. Verify the address and try again. GitHub-35160

mapa del sitio

  • El mapa del sitio XML ahora funciona como se espera en un implementación de varios pisos. Anteriormente, los mapas del sitio no contenían las páginas predeterminadas asignadas para cada tienda. GitHub-35001
  • Los comerciantes ahora pueden crear y guardar un producto cuando el sitio web id != 1 y el modo de tienda única están habilitados. Anteriormente, la acción de guardar fallaba con este mensaje: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails. GitHub-35009

Impuesto

  • Ahora, las facturas muestran el subtotal correcto cuando se configuran los impuestos y se activa FPT.
  • Magento Open Source ahora muestra el valor correcto para el Regular Price valor cuando se selecciona una opción personalizada para un producto que tiene un Special Price valor cuando Price Display Settings está establecido para incluir impuestos.
  • Los impuestos ahora están incluidos como se espera en el precio de pago flujo de trabajo de envío según lo especificado en los ajustes de configuración.
  • El cart valor de respuesta consulta applied_taxes ahora incluye todas las reglas fiscales individuales según lo esperado. Anteriormente, devolvía el valor fiscal total cuando se configuraban varias reglas fiscales.
  • El icono de contraer o expandir de la sección durante la creación de la Additional Settings regla de impuestos ahora funciona como se espera. Anteriormente, solo funcionaba el icono de expansión. GitHub-37922
  • Ahora puede editar el valor del tipo de impuesto País y Región desde la Página de edición de la regla de impuestos como se espera. Anteriormente, las ediciones realizadas desde esa página no se guardaban.
  • El importe de impuestos en el área de estimación del carro de compras ahora se actualiza según lo esperado cuando se actualiza el método de envío. Anteriormente, la tasa impositiva no se actualizaba después de que un comprador cambiara de país durante el cierre de compra.
  • El valor tax class de los productos simples recién creados ahora se establece en el valor del producto principal al crear nuevas variaciones de un producto configurable existente en el ámbito de la vista de tienda. Anteriormente, este valor se establecía en ninguno. Como resultado, no se agregó ningún impuesto a estos productos en el carro de compras, y a los clientes se les cobró un impuesto inferior. GitHub-37180

Prueba

  • Se mejoró el AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders prueba para eliminar los fallos causados por la finalización prematura del campo correo electrónico.
  • StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest se ha refactorizado para mejorar la fiabilidad. GitHub-38359
  • Se ha corregido el AdminSimpleProductwithTextandVisualSwatch prueba introduciendo un paso adicional que establece explícitamente los atributos que se usarán en el búsqueda.
  • Se corrigió el error tipográfico en la prueba unitaria de SortbyTest. GitHub-37792
  • Se eliminaron las referencias a clases inexistentes en las pruebas unitarias. GitHub-37636
  • Se mejoró la prueba AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders para eliminar los errores causados por la finalización prematura del campo de correo electrónico.
  • Se refactorizó la prueba Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId para controlar el orden aleatorio de categorías en las respuestas de consulta products.
  • La prueba \Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrity ahora verifica todas las clases PHP de módulos registrados por ComponentRegistrar().
  • Se han resuelto los problemas de rendimiento con matrices grandes en TableNameSniff.
  • CollectionTest::testGetDateRangeFirstPart() ahora cuenta para el horario de verano.

Marco de IU

  • El atributo crossorigin se ha agregado a linkTypes para HEAD elementos.GitHub-32509
  • El cargador de imágenes ahora funciona como se espera en las filas dinámicas. Las imágenes ahora se cargan correctamente cuando se envían como una matriz multinacional. GitHub-37957
  • Los estilos de carga de archivos ya no están duplicados en la temática de Luma. GitHub-32373
  • Los campos de la calle en el formulario de edición de cuenta de cliente del campo de la calle ahora se guardan correctamente. Estos campos ahora están ordenados correctamente por las claves dadas en el formulario. GitHub-37973
  • Los valores de Desplazamiento de diseño acumulativo (CLS) han mejorado en las páginas de detalles del producto. (Esta métrica cuantifica la estabilidad visual de los diseños de página).GitHub-35410
  • Se ha mejorado el mensajería de errores que se producen durante el procesamiento plantilla. Magento Open Source muestra ahora un mensaje informativo. Anteriormente, Magento Open Source mostraba fugas de HTML cuando se producía un error de PHP.
  • Los atributos personalizados del cliente (tipo File attached) ahora funcionan correctamente con las imágenes que se han eliminado y que se han cargado posteriormente. Anteriormente, los atributos personalizados cargados, eliminados y cargados de nuevo no se podían guardar desde el escaparate.
  • Se corrigió un error de sintaxis en el archivo de plantilla calendario. GitHub-37725
  • Los usuarios administradores ahora pueden cambiar el logotipo del escaparate cuando el modo tienda único está habilitado. Anteriormente, Magento Open Source mostraba el logotipo de reserva predeterminado. GitHub-35952
  • Los valores de configuración de Mixins ya no están vacíos y las mezclas de jQuery ahora funcionan independientemente de la posición de carga. Anteriormente, las mezclas de jQuery no se cargaban de forma consistente en todos los navegadores.
  • Las contraseñas ahora se muestran como se esperaba cuando la casilla de Show Password verificación del Página inicio de sesión está activa.
  • Magento Open Source ahora muestra los precios correctos para productos de paquete fijo con precios especiales.
  • Se ha actualizado el vincular al Página de listado de problemas de GitHub en el archivo de plantilla de pie de página del escaparate. GitHub-37214
  • El widget Vistos recientemente ahora muestra la cantidad correcta de impuestos en los precios de los productos agrupados. GitHub-35881
  • Los usuarios administradores ahora pueden arrastrar y soltar las opciones personalizables creadas para el producto simple como se esperaba. GitHub-36051
  • El orden de los tipos de atributo desplegable de productos ahora coincide con el orden de las imágenes en el página de producto configurable. GitHub-37285
  • Los mensajes del sistema ahora se cargan más rápidamente. Solo se cargan los mensajes que se muestran. Anteriormente, todos los mensajes se cargaban desde la base de datos, lo que consumía mucho tiempo.
  • La eliminación de la ruta de exploración nodo mediante el establecimiento remove=true de XML de diseño ya no da como resultado la eliminación del título del Página en el Página categoría. Anteriormente, al eliminar las rutas de exploración de esta forma, se eliminaba el título del Página del Página categoría.
  • El formulario registro cliente ahora se carga según lo esperado cuando incluye atributos de cliente de selección múltiple. Anteriormente, Magento Open Source lanzaba esta excepción: [2023-03-05T05:57:40.032602+00:00] report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62. GitHub-37189
  • Bienvenido mensajes que contienen comillas simples ahora se representan correctamente en el escaparate sin errores de consola. Anteriormente, si un mensaje de bienvenida contenía una sola comilla, el mensaje de bienvenida no se cargaba durante la representación del escaparate. También Magento Open Source mostraban errores de consola.
  • Magento Open Source ya no muestra un error cuando intenta cambiar rápidamente la vista entre el historial de comentarios y las devoluciones en el Página de pedidos de administración. Anteriormente, Magento Open Source mostraba este error genérico: A technical problem with the server created an error.
  • Los usuarios administradores con privilegios restringidos a un sitio web ahora pueden actualizar los atributos de producto específicos del sitio web definidos en un all stores view ámbito.
  • El widget de la lupa ahora se carga como se esperaba en el página de producto.
  • Las opciones personalizables multilínea ahora se representan correctamente en los documentos PDF de facturas, envíos y notas de crédito. Anteriormente, el texto de varias líneas estaba precedido por un salto de Página inesperado y, si el texto excedía el Página, el texto se truncaba.
  • Los usuarios administradores ahora pueden agregar una nueva dirección de cliente desde la administración cuando ese cliente se ha creado para otro sitio web cuyo ID de tienda no coincide con el ID del sitio web. Anteriormente, Magento Open Source mostraba este mensaje de elemento emergente: Something went wrong. GitHub-36582
  • Error mensajes asociados con el envío de comentarios en el Página de detalles del pedido ahora son más informativos. Anteriormente, cuando se hacía clic Submit comment en un comprador sin cambiar el estado del pedido ni introducir texto en el área de comentarios, Magento Open Source mostraba este mensaje: The comment is missing. Enter and try again.
  • El icono de calendario ahora se muestra como se espera en los campos intervalo de fecha de la > Cart Price Rules de administración Marketing después de seleccionar una fecha para un campo. Anteriormente, después de seleccionar una fecha para un campo, el icono de calendario ya no se mostraba en otros campos y Magento Open Source mostraba texto de marcador de posición. GitHub-36499
  • Los formularios registro cliente que incluyen campos de selección múltiple ahora se cargan correctamente. Anteriormente, este formulario no se cargaba cuando contenía campos de selección múltiple y se activaba el siguiente error: report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62. GitHub-37189
  • Al hacer clic en una miniatura de vídeo en el modo pantalla completa de la galería de productos, el vídeo se muestra como se esperaba. Anteriormente, el vídeo no se mostraba y la consola explorador mostraba un error JavaScript. GitHub-36456
  • Se ha añadido un variable a la línea de copyright que se actualiza automáticamente cada año. GitHub-36776
  • La regulador de imagen del página de producto ahora funciona como se espera en los vista móviles. Anteriormente, solo se mostraba correctamente la primera imagen. GitHub-37232

URL reescrituras

  • URL reescrituras ahora se generan en función de la configuración de visibilidad de tienda nivel en implementaciones de varias tienda. Anteriormente, no se generaban reescrituras de URL para tiendas no predeterminadas cuando la visibilidad del producto se establecía en no visible en la ámbito de tienda predeterminada.
  • Category::getUrl() ya no obtiene un redirección 301. GitHub-38152
  • Magento Open Source ya no genera reescrituras de URL de producto para las categorías raíz y para los productos que están configurados Not Visible Individually en configuraciones de varias tienda al generar reescrituras de URL que faltan para las tiendas personalizadas.
  • Las etiquetas URL canónicas ahora reflejan los cambios según lo esperado después de que se haya actualizado la Propiedad clave de URL categoría. Anteriormente, se utilizaba el URL de categoría obsoleto, que inmediatamente desencadenaba la redirección al nuevo URL.
  • Categoría reescrituras de URL de producto ahora se generan como se espera para todas las vistas de tienda cuando se agrega un producto a un categoría. GitHub-32910
  • Magento Open Source ya no muestra un error cuando intenta crear un redirección 301/302 para un producto URL cuando Generar categoría/reescrituras de URL de producto está activado. Cuando se crea un producto y se asigna a un categoría, se crean reescrituras de URL automatizadas: una para el URL directo y otra para el producto a través de la ruta de categoría. Cuando se crea un nuevo producto URL reescritura, se comprueban las correlaciones entre producto, categoría y tienda. Esta comprobación ahora se basa en propiedades de entidad correlacionadas (categoría y producto). Anteriormente, esta comprobación se realizaba en reescrituras de URL preexistentes.
  • Categoría reescrituras URL ahora se generan para todas las vistas tienda cuando se importa una nueva categoría desde un archivo CSV.
  • Las configuraciones de sufijo URL producto y sufijo URL Categoría ahora coinciden con los sufijos de la url_rewrite tabla. Anteriormente, se producían las condiciones de carrera al actualizar URL configuraciones de sufijos y los sufijos de URL configurados y la url_rewrite tabla no coincidían.
  • Magento Open Source ahora procesa el árbol de categoría en todos los niveles al crear categoría URL reescritura. Anteriormente, solo se mostraban los tres primeros niveles de categorías. GitHub-36973
  • Categoría reescrituras URL ahora están presentes en el archivo CSV durante la importación de un nuevo categoría.
  • Las páginas CMS multi tienda sin reescrituras URL ahora se reenvían como se esperaba. Anteriormente, las páginas CMS multi tienda solicitadas sin reescrituras URL se redirigían al página de inicio tienda, pero las páginas CMS originales no se dirigían.

marco de trabajo de API web

  • Magento Open Source ya no muestra una Integration not secure advertencia en la > de administración System > Extensions Integrations cuando los Callback URL campos y Identity link URL están vacíos. GitHub-36407
  • Se han añadido los atributos , taxes itemized_taxes, y additional_itemized_taxes extensión a Magento\Sales\Api\Data\OrderInterface. Estos atributos le permiten ahorrar impuestos aplicados con llamadas REST de pedidos.
  • La API de REST de Precios de nivel ahora admite cantidades decimales. Anteriormente, esta API no permitía cantidades decimales igualado cuando se habilitaba la Use Decimal Quantity configuración.
  • El punto final REST V1/orders/{id}/comments ya no cambia el estado de una solicitud al intentar agregar un comentario al estado de una orden pendiente. Ahora da un error informativo. Anteriormente, este extremo cambiaba el estado del pedido al añadir un comentario.
  • La API GET de REST y POST V1/products/attributes el punto final ya no devuelven el mismo valor para el is_filterable atributo para ambos Filterable(with results) y Filterable(no results) para las opciones de la Use in Layered Navigation opción. Anteriormente, este extremo devolvía el mismo valor porque el is_filterable atributo Propiedad era del tipo Boolean, lo que no permitía establecer este Propiedad en Filterable(no results). GitHub-37979
  • El campo que falta media_gallery_entries se ha agregado al punto final REST V1/configurable-products/sku/children . Anteriormente, a esta función le faltaba el código necesario para tienda y mostrar.media_gallery_entries GitHub-37607
  • El método REST V1/carts/mine/estimate-shipping-methods ahora valida todos los niveles de datos de campo de carga útil y devuelve un código HTTP 400 para no válido datos. Anteriormente, solo se validaba el primer nivel de carga útil de API y, si no válido datos se devolvían en niveles no validados de la carga útil, Magento Open Source devolvían 500 código de estado.
  • Las operaciones asincrónicas de API de REST masivas para actualizar productos con precios de nivel y diferentes conjuntos de atributos ahora se completan correctamente. Anteriormente, los productos con conjuntos de atributos diferentes no se podían actualizar de esta manera, por lo que Magento Open Source mostraba este error: The product was unable to be saved. Please try again.
  • El POST /V1/products/tier-prices extremo ahora devuelve un mensaje de error más informativo cuando se utiliza un nombre de grupo de cliente no válido durante la creación del precio del nivel. Anteriormente, Magento Open Source devolvía un error como este: Notice: Undefined index: XXXXX in ~/public_html/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php on line 474". GitHub-36431
  • Ahora puede ejecutar una solicitud de API asíncrona masiva autorizada para crear clientes con un ID de grupo no predeterminado. Anteriormente, estas solicitudes restablecían el ID de grupo al valor predeterminado.
  • Los clientes creados con la API por lotes ahora reciben correos electrónicos de registro de clientes en el idioma configurado en el sitio web asignado. Anteriormente, todos los correos electrónicos se enviaban a la configuración regional predeterminada, no a la configuración regional del sitio web al que está asignado el cliente.
  • La POST V1/guest-carts llamada ya no envía pedidos de invitados cuando Allow Guest Checkout está desactivado.
  • Magento Open Source devuelve correctamente el atributo (código de imagen base64) en GET V1/products/sku/media las respuestas de content API de medios del producto. El content atributo no aparecía anteriormente en la respuesta.

requisitos del sistema

Nuestra pila de tecnología se basa en PHP y MySQL. Para obtener más información, consulte requisitos del sistema.

Instrucciones de instalación y actualización

Puede instalar Magento Open Source 2.4.7 usando Composer.

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