Notas de la versión de Adobe Commerce 2.4.4
Adobe Commerce 2.4.4 presenta soporte para PHP 8.1. Se han actualizado todas las bibliotecas y dependencias de proyectos para garantizar su compatibilidad con PHP 8.1. Las dependencias del Compositor principal y las bibliotecas de terceros también se han actualizado a las últimas versiones compatibles con PHP 8.1. Esta versión también es compatible con OpenSearch 1.2.
Esta versión incluye casi 250 correcciones y mejoras de calidad.
Aplicar AC-3022.patch
para seguir ofreciendo DHL como transportista
DHL ha introducido la versión de esquema 6.2 y dejará de utilizar la versión de esquema 6.0 en un futuro próximo. Adobe Commerce 2.4.4 y las versiones anteriores compatibles con la integración de DHL solo admiten la versión 6.0. Los comerciantes que implementen estas versiones deben aplicar AC-3022.patch
lo antes posible para seguir ofreciendo DHL como transportista. Consulte la Aplicar un parche para seguir ofreciendo DHL como transportista Artículo de Knowledge Base para obtener información sobre cómo descargar e instalar el parche.
Otra información de la versión
Aunque el código de estas funciones está empaquetado con versiones trimestrales del código principal de Adobe Commerce, varios de estos proyectos (por ejemplo, B2B, Page Builder y Progressive Web Application (PWA) Studio) también se publican de forma independiente. Las correcciones de errores para estos proyectos se documentan en la información de versión independiente y específica del proyecto que está disponible en la documentación de cada proyecto.
composer.json
antes de que se ejecuten los complementos. Actualmente, los complementos de están incluidos en la variable composer.json
Los archivos que no están marcados como de confianza se instalan automáticamente. Sin embargo, a partir de julio de 2022, Composer no cargará complementos a menos que se hayan permitido explícitamente. Consulte la Problemas con los complementos del Compositor al actualizar a Adobe Commerce 2.4.4 Artículo de la Base de conocimiento para obtener instrucciones sobre cómo modificar el composer.json
para permitir explícitamente la carga de complementos.Revisiones incluidas en esta versión
Adobe Commerce 2.4.4 incluye la resolución de todos los problemas abordados por las siguientes revisiones, que se proporcionaron para Adobe Commerce y Magento Open Source 2.4.3, 2.4.3-p1 y 2.3.7-p2:
-
La vulnerabilidad a la que se enfrenta
MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patch
yMDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch
se ha resuelto en esta versión. -
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
. Este parche soluciona un error de PHP fatal que ocurrió durante la actualización. Consulte la Adobe Commerce actualización 2.4.3, 2.3.7-p1 PHP Error fatal revisión Artículo de la Base de conocimiento.
Aplique esta revisión después de instalar 2.4.4
Se recomienda aplicar el siguiente parche después de instalar Adobe Commerce 2.4.4:
braintree-disabled-partial-capture-for-applepay-googlepay.patch
. Los comerciantes no pueden enviar reembolsos parciales para pedidos pagados con Apple Pay a través del Braintree. Cuando un comerciante intenta crear una nota de abono para una devolución parcial de la factura de pedido, la Cantidad a reembolsar el campo no se puede editar. Esta revisión soluciona ese problema. Consulte la Adobe Commerce 2.4.4: No se pueden crear facturas parciales Artículo de la Base de conocimiento.
Elementos destacados de Adobe Commerce 2.4.4
Busque los siguientes aspectos destacados en esta versión.
Mejoras de seguridad
Esta versión incluye una corrección de seguridad y mejoras de seguridad de la plataforma. Esta corrección de seguridad se ha trasladado a Adobe Commerce 2.4.3-p2 y Adobe Commerce 2.3.7-p3.
Hasta la fecha no se han producido ataques confirmados relacionados con estos problemas. Sin embargo, es posible que se aprovechen ciertas vulnerabilidades para acceder a la información de los clientes o hacerse cargo de las sesiones de administrador. La mayoría de estos problemas requieren que un atacante obtenga acceso primero al administrador. Como resultado, le recordamos que tome todas las medidas necesarias para proteger a su administrador, incluidas, entre otras, las siguientes:
- INCLUSIÓN EN LA LISTA DE PERMITIDOS IP
- autenticación de doble factor
- uso de una VPN
- uso de una ubicación única en lugar de
/admin
- buena higiene de las contraseñas
Consulte Boletín de seguridad del Adobe para conocer la última discusión de estos problemas corregidos.
Mejoras de seguridad adicionales
Las mejoras de seguridad para esta versión mejoran el cumplimiento de las prácticas recomendadas de seguridad más recientes, que incluyen:
-
El uso de variables de correo electrónico volvió a quedar obsoleto en la versión 2.3.4 como parte de una mitigación del riesgo de seguridad en favor de una sintaxis de variables más estricta. Este comportamiento heredado se ha eliminado por completo en esta versión como continuación de la mitigación de riesgos de seguridad.
Como resultado, es posible que las plantillas de correo electrónico o de newsletter que funcionaban en versiones anteriores de Adobe Commerce no funcionen correctamente después de actualizar a Adobe Commerce 2.4.4 o Magento Open Source 2.4.4. Las plantillas afectadas incluyen invalidaciones de administración, temáticas, temáticas secundarias y plantillas de módulos personalizados o extensiones de terceros. Su implementación puede seguir viéndose afectada incluso después de utilizar el Actualizar herramienta de compatibilidad para corregir usos obsoletos. Consulte Migración de plantillas de correo electrónico personalizadas para obtener información sobre los posibles efectos y las directrices para migrar plantillas afectadas.
-
Los tokens de integración ya no se pueden usar para la autenticación de tokens del portador de API. Anteriormente, se podía utilizar un token de integración como clave independiente para la autenticación basada en tokens. Sin embargo, este comportamiento se ha deshabilitado de forma predeterminada debido a las implicaciones de seguridad de un token de acceso que nunca caduca. El comportamiento anterior se puede habilitar a través de la línea de comandos o en Admin. Consulte Autenticación basada en tokens.
-
Los ID de sesión ya no se almacenan en la base de datos.
-
Los tokens de acceso de OAuth y los tokens de restablecimiento de contraseña ahora se cifran cuando se almacenan en la base de datos.
-
La validación se ha reforzado para evitar la carga de extensiones de archivo no alfanuméricas.
-
Se ha añadido la compatibilidad con reCAPTCHA para códigos de cupones.
-
Swagger ahora está desactivado de forma predeterminada cuando Adobe Commerce está en modo de producción.
-
HTTPS ahora está habilitado de forma predeterminada para la tienda de Adobe Commerce. El Usar URL seguras en tienda y Uso de URL seguras en administración La configuración de está habilitada de forma predeterminada y todas las cookies integradas ahora se establecen como seguras.
-
El complemento de confusión de dependencias ahora es necesario para todas las instalaciones de Adobe Commerce. Anteriormente, este complemento solo era necesario para instalaciones basadas en Composer. Ahora permite versiones de confianza. Los comerciantes pueden evitar las restricciones establecidas en este complemento que prohíben determinadas combinaciones de instalaciones de Composer. Las restricciones se pueden omitir para las versiones de confianza y Adobe Commerce muestra ahora una advertencia antes de continuar con la instalación.
-
Los desarrolladores ahora pueden configurar el límite del tamaño de las matrices aceptadas por los extremos RESTful de Adobe Commerce en función del extremo. Consulte Seguridad de API.
-
Se han añadido mecanismos para limitar el tamaño y el número de recursos que un usuario puede solicitar a través de una API web en todo el sistema y para anular los valores predeterminados en módulos individuales. Esto resuelve el problema abordado por
MC-43048__set_rate_limits__2.4.3.patch
. Consulte Seguridad de API.
Mejoras de Platform
Adobe Commerce 2.4.4 ahora es compatible con PHP 8.1. Se han actualizado todas las bibliotecas y dependencias de proyectos para garantizar su compatibilidad con PHP 8.1. Las mejoras adicionales de la plataforma incluyen:
-
Adobe Commerce 2.4.4 es compatible con Elasticsearch 7.16 y OpenSearch 1.2. Los comerciantes de Adobe Commerce con implementaciones alojadas de forma local pueden utilizar cualquiera de las dos soluciones. Sin embargo, OpenSearch es ahora el motor de búsqueda predeterminado para implementaciones de Adobe Commerce 2.4.4 alojadas en la nube. Todos los clientes con implementaciones en la nube que actualicen a la versión 2.4.4 deben utilizar OpenSearch. Consulte Cambio a OpenSearch para Adobe Commerce en la nube 2.4.4
-
El
JQuery
La biblioteca de se ha actualizado a la versión 3.6. Eljquery-ui
La biblioteca de se ha actualizado a la versión 1.13.0. Se han actualizado varias otras bibliotecas de JavaScript a las versiones más recientes. -
Ahora se admite TinyMCE 5.8.1. TinyMCE 4 se ha eliminado de la base de código.
-
El
RequireJS
La biblioteca de se ha actualizado a la última versión (v2.3.6). GitHub-33672 -
PHPUnit se ha actualizado a la última versión (9.5.x). Se han actualizado los marcos de pruebas y de pruebas para que sean compatibles con la nueva versión.
-
La mayoría de las dependencias de Laminas se han actualizado a las últimas versiones compatibles con PHP 8.1. Se eliminaron tres dependencias Laminas de la base de código para reducir el número de dependencias.
Actualización de IU de jQuery
La interfaz de usuario de jQuery se ha actualizado a la última versión (v1.13.0). Se han eliminado los siguientes componentes de jQuery v1.10.0:
-
ajaxOptions
ycache
opciones para pestañas. Consulte Fichas. -
.zIndex()
. La IU de jQuery v1.12.1 incluyejquery/z-index.js
, que admite el uso de.zIndex()
. Consulte Núcleo de IU. -
Reserva de datos para nombres de widgets. Debe utilizar el nombre completo de la variable
.data()
clave. -
Codificación de clases como
ui-corner-all
en widgets.
Mejoras de rendimiento y escalabilidad
Las mejoras de rendimiento de Adobe Commerce impulsan el procesamiento de pedidos de alto rendimiento y la optimización de las colas de mensajes. La función de pedidos asincrónicos introducida en esta versión admite la creación de aproximadamente 60 000 pedidos/hora. Las versiones anteriores de Adobe Commerce admitían el procesamiento de aproximadamente 10 000 pedidos/hora, lo que presentaba un posible cuello de botella para las ventas flash. La nueva función de varios consumidores admite la escala del número de consumidores de colas de mensajes en una sola instancia de Cloud y aumenta el número de pedidos procesados por hora.
Mejoras de rendimiento en esta versión:
-
La función AsyncOrder admite una colocación de pedidos más rápida que la ejecución sincrónica. Cuando AsyncOrder está habilitado, la colocación de pedidos se ejecuta en segundo plano mientras los compradores completan otras tareas en la tienda.
-
El nuevo Habilitar comprobación de inventario al cargar el carro La opción de configuración de proporciona una comprobación de inventario conmutable al cargar un producto en el carro de compras. Está activada de forma predeterminada. Cuando deshabilita esta opción, Adobe Commerce omite la comprobación de inventario a medida que se carga la oferta, lo que acelera el cierre de compra, especialmente para los carros que contienen muchos artículos.
-
El nuevo
multiple_processes
Esta opción de configuración admite la ejecución de consumidores paralelos en varios procesos. Anteriormente,cron
ejecutó un solo consumidor cuando fue necesario. Iniciar varios consumidores para ejecutar procesos en paralelo puede mejorar la velocidad de ejecución de las tareas. Para habilitar esta función, añadamultiple_processes
a laapp/etc/env.php
archivo. -
Se han mejorado las operaciones del carro de compras para carros que contienen más de 750 productos configurables al aumentar el límite de memoria establecido por
max_input_vars
en elphp.ini
para admitir el volumen de variables de entrada. -
Optimización del procesamiento de reglas de ventas durante el cierre de compra mediante el aplazamiento del cálculo total. Normalmente, el procesamiento de reglas de ventas se produce cada vez que un comprador agrega un producto al carro de compras, actualiza la cantidad del producto o hace clic en Realizar pedido botón. Los comerciantes pueden habilitar este aplazamiento configurando la variable
checkout/deferred_total_calculating
en la variableenv.php
archivo. También puede ejecutarbin/magento setup:config:set --deferred-total-calculating 1|0
. -
Mejoras en el proceso de validación de pedidos afectados por una regla de precio del carro de compras durante la colocación asincrónica de pedidos.
GraphQL
Esta versión incluye estas mejoras de GraphQL:
- Cobertura completa de GraphQL para presupuestos negociables. Los usuarios de B2B Company ahora pueden completar todas las tareas relacionadas con los presupuestos negociables mediante GraphQL. Las versiones anteriores de esta API admitían flujos de negociación, pero no el cierre de compra.
Nuevas mutaciones
-
assignCustomerToGuestCart
mutación -
placeNegotiableQuoteOrder
mutación -
setNegotiableQuoteBillingAddress
mutación -
setNegotiableQuotePaymentMethod
mutación -
setNegotiableQuoteShippingMethods
mutación -
setNegotiableQuoteShippingAddress
mutación -
Mejoras de rendimiento:
-
El rendimiento de las operaciones del carro de compras de GraphQL ha mejorado. El
collectQuoteTotals()
ahora solo se llama una vez durante una petición GraphQL, lo que reduce el tiempo de respuesta. -
El rendimiento de la tienda se ha mejorado con los cambios en la forma en que se almacenan en caché las solicitudes de GraphQL. Ahora, Fastly y Varnish almacenan en caché las solicitudes de GraphQL enviadas con
auth
tokens.
-
-
Nuevas opciones de configuración de administración relacionadas con tiendas. El
storeConfig
query ahora devuelve los ajustes de configuración para los métodos de pago Cierre de compra con subtotal cero y Cheque/Giro postal. -
Biblioteca principal de GraphQL actualizada. El
webonyx
La biblioteca, que permite que funcione la GraphQL principal, se ha actualizado a la versión ^14.9. -
Se han corregido problemas de traducción en GraphQL con tiendas de varios sitios e idiomas. El solucionador de GraphQL ahora devuelve cadenas traducidas basadas en el ámbito de la tienda según lo esperado.
-
GraphQL ahora proporciona a New Relic nombres de transacción descriptivos, que pueden ser útiles para la depuración. GitHub-30915
Consulte la Guía para desarrolladores de GraphQL para obtener más información sobre estas mejoras.
B2B
Esta versión incluye varias correcciones de errores. Consulte Notas de la versión B2B.
Extensiones agrupadas por proveedor
Con la excepción de Braintree, todas las extensiones agrupadas por proveedor se han eliminado de la base de código de Adobe Commerce 2.4.4. Los comerciantes deben migrar a las extensiones oficiales, que están disponibles en la Commerce Marketplace.
PWA Studio
PWA Studio 12.3.0 es compatible con Adobe Commerce 2.4.4. Incluye compatibilidad con reCaptcha, optimización de contenido de Page Builder y contenido personalizado. Para obtener información sobre mejoras y correcciones de errores, consulte Versiones del PWA Studio. Consulte Compatibilidad de versión para obtener una lista de versiones de PWA Studio y sus versiones principales de Adobe Commerce compatibles.
Mejoras de pago de PayPal
-
Ahora se admite la opción de pago Venmo.
-
Pagar más tarde se ha añadido como opción para los compradores en función de la ubicación del comprador, no de la ubicación del comerciante.
-
Los comerciantes ahora pueden establecer el país del comprador al probar la experiencia del comprador en su país de elección. Anteriormente, las pruebas se limitaban a probar únicamente el país en el que se encuentra el comerciante. Este cambio solo es válido en el modo de entorno limitado.
-
La mensajería en la página de pago ahora muestra mensajes precisos sobre cuánto y en cuántos incrementos se espera que pague el comprador al usar Pagar más tarde.
Live Search
Live Search ahora admite PHP 8.1.
El nuevo Magento_ElasticsearchCatalogPermissionsGraphQl
El módulo está desactivado durante la Live Search actualizada instalación. Las instalaciones existentes de Live Search deben actualizarse a Live Search 2.0.0 para aprovechar estas funciones. Para obtener más información, consulte Live Search Notas de versión.
Actualizaciones de accesibilidad
Esta versión ofrece una mayor conformidad con las directrices de accesibilidad estándar. Estas mejoras mejoran la experiencia de los usuarios con visión limitada o con capacidades lingüísticas, cognitivas y de aprendizaje limitadas. El rendimiento de las herramientas del Reader de pantalla también ha mejorado.
Las mejoras de accesibilidad incluyen:
- Vínculos de información de objeto con texto y etiquetas visibles, precisas y centradas en tareas para las entradas
- Los botones de edición ahora tienen un texto único.
- Los botones de administración ahora tienen un propósito único, accesible y descriptivo en cumplimiento con los estándares AA
- Las imágenes de iconos que transmiten significado ahora proporcionan una alternativa textual.
- Contraste mejorado en los botones de administración y en los campos de formulario con una relación de contraste de al menos 3:1 con colores adyacentes.
Page Builder
- Los comerciantes ahora pueden añadir texto alternativo (
alt_text
) a imágenes (imagen, titular, diapositiva) para mejorar la accesibilidad del contenido. GitHub-746
Problemas solucionados
Estamos solucionando cientos de problemas en el código principal de Adobe Commerce 2.4.4. A continuación se describe un subconjunto de estos problemas corregidos.
Instalación, actualización e implementación
- Adobe Commerce ahora registra los errores de implementación de contenido estático en los archivos de registro de compilación según lo esperado.
- Los parches de datos ya no pueden ignorar las restricciones únicas de una tabla e insertar valores duplicados en una tabla de base de datos MySQL. Anteriormente, los parches podían insertar valores duplicados, lo que dañaba la base de datos.
- Los comerciantes ahora pueden actualizar correctamente desde una implementación de Adobe Commerce 2.4.2 con Klarna a Adobe Commerce 2.4.3. GitHub-33760
- La configuración del generador de mapas del sitio ahora se puede cambiar correctamente desde la línea de comandos. Anteriormente, Adobe Commerce mostraba este error cuando intentaba cambiar la configuración del mapa del sitio fuera del administrador:
Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78
. GitHub-31428
- El
bin/magento app:config:import
El comando ahora se ejecuta sin errores cuando se actualizatime
valores enconfig.php
. Anteriormente, al cambiar la configuración de alertas de producto mediante la edición manual (es decir, sin utilizar el administrador), se producía un error.
Accesibilidad
- Se han resuelto los errores de accesibilidad con la navegación en el carro de compras y las páginas de cierre de compra. GitHub-34483
- Los lectores de pantalla ahora pueden leer todos los elementos de formulario relevantes en las páginas de producto.
- Se ha mejorado el contraste para los botones de eliminación de imágenes y de icono de movimiento en toda la tienda para mejorar la legibilidad de los usuarios con problemas de visión.
- Se ha asignado un nombre accesible y una alternativa textual al icono de lupa que se utiliza para ejecutar búsquedas en toda la interfaz del producto.
- Ahora se puede acceder a la barra de herramientas del editor de texto enriquecido mediante el tabulador.
- El Este artículo tiene peso seleccione la entrada en Catálogo > Product la página de detalles ahora tiene etiquetas visibles y un nombre accesible.
- El nombre accesible del control ahora incluye el texto de su etiqueta visible para el número de elementos por página desplegable.
- Los controles de tabla de la Catálogo > Product la página de detalles ahora tiene etiquetas visibles y un nombre accesible cuando la tabla está contraída.
- Los vínculos de edición de la tabla Productos ahora tienen un texto de vínculo único y significativo.
- Los déclencheur que expanden la información sobre herramientas ahora proporcionan nombres de texto.
- Los botones de la tienda ahora tienen nombres descriptivos y únicos a los que se puede acceder. Anteriormente, los botones divididos con un botón de texto y un botón de flecha abajo adyacente tenían el mismo nombre accesible.
- Se ha mejorado el contraste para los botones de eliminación de imágenes y de icono de movimiento en toda la tienda para mejorar la legibilidad de los usuarios con problemas de visión.
- Se han añadido alternativas de texto al icono de lápiz que aparece cuando un comerciante edita la entrada del acordeón de Optimización del motor de búsqueda.
- Se ha asignado un nombre accesible y una alternativa textual al icono de lupa que se utiliza para ejecutar búsquedas en toda la interfaz del producto.
- La página de producto Nueva vista el campo de entrada de texto ahora tiene un nombre accesible.
- El Este artículo tiene peso seleccione la entrada en Catálogo > Product la página de detalles ahora tiene etiquetas visibles y un nombre accesible.
AdminGWS
- Los administradores con permisos restringidos ahora pueden crear una devolución según lo esperado.
Servidor
- Los administradores ahora pueden iniciar sesión en el administrador en una implementación para la que se haya configurado una ruta de administración personalizada y se haya habilitado la clave secreta. Anteriormente, Adobe Commerce mostraba este error:
Invalid security or form key. Please refresh the page
.
- Adobe Commerce ya no redirige al ámbito de Vista de todas las tiendas cuando cambia la jerarquía de varias tiendas. Anteriormente, después de guardar la jerarquía, se redirigía a los compradores a una dirección URL de tienda incorrecta y se seleccionaba el ámbito de Todas las vistas de tienda en una implementación de varias tiendas.
Paquete de productos
- Los compradores ahora pueden agregar un paquete de productos con Impuestos fijos y dos opciones al carro de compras. Anteriormente, Adobe Commerce no agregaba el producto y mostraba este error:
We can't add this item to your shopping cart right now
.
- La validación del formulario en forma de
data-validate
ymin
se han agregado atributos al campo cantidad del carro de compras para evitar valores negativos para productos agrupados.
- El
products
query ahora filtra los productos agrupados correctamente cuando los productos secundarios están desactivados en el nivel de vista de tienda. Anteriormente, la consulta devolvía productos secundarios deshabilitados en el nivel de vista de tienda.
cron
ahora borra la caché de categorías de productos como se esperaba duranteindexer_update_all_views
ejecución. Anteriormente, Adobe Commerce mostraba un recuento de productos incorrecto en la página de categoría después de la actualización masiva de muchos productos de la categoría.
- Adobe Commerce ahora actualiza la caché de productos de la categoría como se espera cuando vuelve a aparecer un producto agrupado en stock.
- Se ha optimizado el algoritmo de limpieza de caché que se ejecuta durante la reindexación. Los productos agrupados ahora se muestran según lo esperado cuando una categoría se almacena en caché durante la reindexación. Anteriormente, los productos agrupados no se mostraban durante horas después de que las categorías de productos se almacenaran en caché durante la reindexación.
- La conversión de moneda ahora se produce según lo esperado en las confirmaciones de correo electrónico para compras de paquetes de productos en implementaciones de varias tiendas que utilizan distintas monedas. GitHub-33426
- Los descuentos de precios especiales avanzados ahora se muestran correctamente para los productos agrupados con un prefijo % en la cuadrícula de productos. Anteriormente, se mostraba incorrectamente un descuento % con el prefijo $ en lugar de % en la cuadrícula del producto.
- El estado del producto del paquete en el Administrador ahora se actualiza automáticamente cuando un producto relacionado cambia su estado.
- La resolución de GraphQL para productos agrupados ahora comprueba si los productos agrupados secundarios se han deshabilitado. Anteriormente, esta comprobación no se realizaba y las consultas eran
categoryList
productos secundarios devueltos que no eran vendibles.
cart
las respuestas a consultas ahora devuelven descuentos precisos para productos agrupados con precios dinámicos. Anteriormente, las respuestas de consulta incluían descuentos aplicados a cada producto del paquete individualmente.
Caché
- La caché de páginas ya no crece rápidamente con el uso habitual. GitHub-9458
- Realizar un pedido ya no implica la eliminación de todas las etiquetas de caché relacionadas con los productos pedidos de la caché de Barnish. GitHub-30128
- La caché de páginas de sitios completos ya no se borra al actualizar un producto de categorías principales o al ejecutar un índice para actualizar los atributos del producto o el estado de las existencias. Anteriormente, la caché de Varnish agregaba ID de categoría de menú superior a todas las etiquetas de caché de página. GitHub-33465
Carro y cierre de compra
- El Precio Mínimo Anunciado ¿Qué es esto? Ahora se puede hacer clic en el vínculo en la página del carro de compras y abre la ventana emergente de información según lo esperado. Anteriormente, hacer clic en este vínculo no tenía ningún efecto.
- Los compradores ahora pueden realizar pedidos sin errores después de un tiempo de espera de sesión en implementaciones en las que está habilitado el carro de compras persistente. Anteriormente, Adobe Commerce mostraba un error de pago tras un tiempo de espera de sesión.
- La asignación de un valor de criterio de ordenación alto a un atributo de dirección de cliente ya no provoca una degradación del rendimiento en la página de cierre de compra.
- Adobe Commerce ahora revierte la cantidad de productos del carro de compras al valor anterior si la cantidad actualizada no es válida.
- Haciendo clic en Añadir al carro en la sección Vistos recientemente ahora redirige, según lo esperado, a la página de detalles del producto. Anteriormente, se redirigía a los compradores a la página de lista de productos.
- Los compradores invitados ahora pueden realizar correctamente el cierre de compra con una dirección de cliente que contenga varios tipos de atributos de dirección de cliente personalizados. Anteriormente, los valores de los atributos personalizados no tenían el formato correcto cuando se mostraban durante la desprotección. GitHub-30290
- Adobe Commerce ahora aplica correctamente el umbral de envío gratuito a los pedidos cuando las tarifas de tabla están habilitadas. GitHub-21832
- Ahora puede utilizar
POST /V1/guest-carts/:cartId/items
para agregar productos simples con diferentes opciones a un carro de compras. Anteriormente, esta llamada cambiaba la cantidad del primer producto simple agregado en lugar de agregar un segundo producto simple con las opciones especificadas. GitHub-32302
- La sección Resumen de Pedidos de la página de cierre de compra ahora muestra la moneda y la cantidad correctas cuando se configura una implementación para
Poland
país yPLN
moneda. Anteriormente, el carro de compras y la página de cierre de compra mostraban la cantidad 0 PLN.
- Adobe Commerce ya no genera un error cuando un comprador hace clic en Actualizar carro después de cambiar una cantidad de producto en el minicarrito. Anteriormente, Adobe Commerce mostraba este error:
The quote item isn't found. Verify the item and try again
.
- GraphQL
products
las consultas de productos configurables en un almacén específico ahora devuelven solo los intervalos de precios de productos en el almacén especificado. Anteriormente, las solicitudes devolvían intervalos de precios para productos simples en tiendas no especificadas.
- Adobe Commerce ya no genera este error cuando un comprador agrega una dirección de facturación a la que le falta un campo de calle:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
. GitHub-33826
- Adobe Commerce ya no genera un error de consola durante el cierre de compra en las tiendas de las que se ha eliminado el minicarrito. GitHub-34513
- El cierre de compra ya no falla en la fase de pago cuando a la dirección de facturación le faltan valores de campo de calle o el valor de campo de calle no es una matriz. Anteriormente, el cierre de compra fallaba con este error:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
. GitHub-33826
- El total de ventas ahora se calcula correctamente en la cuadrícula del informe de cupones. Anteriormente, el total de ventas no incluía el importe de envío.
- Los descuentos en el carrito completo ahora se calculan correctamente cuando el comprador cambia entre los métodos de envío.
- La lista desplegable de Estado El campo de la página Admin: crear pedido ahora se rellena con los valores predefinidos del país seleccionado. Anteriormente, este campo era un campo de texto de entrada en lugar de un menú desplegable.
- Adobe Commerce ya no genera un error después de usar el
addConfigurableProductsToCart
mutación para agregar un producto configurable a un carro de compras directamente después de cambiar la vista de la tienda.
- Adobe Commerce ya no genera un error cuando se utiliza el
addConfigurableProductsToCart
mutación para agregar un elemento secundario deshabilitado de un producto configurable al carro de compras. Anteriormente, Adobe Commerce arrojaba un error de infracción de restricción de integridad.
- Los productos de venta cruzada ya no están visibles en la página del carro de compras cuando el Mostrar artículos de venta cruzada en el carro de compras la configuración está deshabilitada.
- El valor del uso del cupón ya no cambia si falla el orden al que se ha aplicado. Anteriormente, los cupones generados automáticamente por un solo uso se marcaban como no válidos después de aplicar el cupón en el carro de compras, pero no se realizaba el pedido.
- Se ha agregado validación al flujo de trabajo de cierre de compra para comparar la dirección de la calle del cliente con el valor predeterminado. Si el proceso de validación identifica los cambios, establece
customer_address_id
hastanull
para tratarla como una nueva dirección de cliente. Anteriormente, si el cliente guardaba la dirección sin validación en el cierre de compra y el mismo cliente intentaba realizar un pedido con la misma dirección después de aplicar la validación al campo de cierre de compra, Adobe Commerce no aceptaba la dirección editada y arrojaba una excepción.
Reglas de precios del carrito
- La generación de cupones ahora está bloqueada hasta que la regla de precio del carro de compras relacionada se guarde con la variable
auto
opción activada. Si intenta guardar esta regla sin habilitar la variableauto
opción, Adobe Commerce muestra este mensaje:Rule is not saved with auto generate option enabled. Please save the rule and try again
.
- Se ha añadido una prueba para confirmar la aplicación correcta de un descuento en la regla de precio del carro de compras.
- Reglas de precio del carro de compras que utilizan una condición SKU con Si se ENCUENTRA/NO SE ENCUENTRA un artículo en el carro de compras con todas/cualquiera de estas condiciones en true ahora funciona según lo esperado con productos configurables.
- Las reglas de precios del carro de compras ahora se aplican correctamente para los productos de paquetes de precio fijo. Anteriormente, las reglas de precios del carro de compras no se aplicaban a estos productos cuando al menos un producto secundario tenía el mismo conjunto de atributos especificado en la condición de regla.
- Ahora se puede agregar correctamente un producto con el precio de 0 al carro de compras cuando Adobe Commerce está configurado con Descuento de cantidad fija para todo el carro regla de precios del carro de compras. Anteriormente, Adobe Commerce mostraba este error:
report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85
.
- Se ha corregido una condición en la que la variable
cart
la consulta devolvió un importe de descuento impreciso cuando se activaron las reglas del carro de compras con descuentos de cantidad fija.
Catálogo
- Adobe Commerce ya no emite una excepción al realizar una acción de actualización de atributos en masa en la cuadrícula de productos cuando un producto tiene un
datetime
atributo.
- Las consultas de GraphQL ahora devuelven resultados para productos secundarios de un producto configurable según la configuración del filtro de visibilidad de los productos secundarios.
- Adobe Commerce ya no modifica los precios de los productos relacionados cuando se modifican los atributos de productos configurables. Anteriormente, el precio mínimo anunciado (MAP) de un producto configurable sobrescribía el precio de los productos relacionados en la tienda.
- Los administradores ahora pueden reasignar el último producto que queda en una categoría y guardar la categoría vacía.
- Los valores de atributos de selección desplegable o múltiple para la cuadrícula de productos de administración y los filtros ahora se derivan según lo esperado de la configuración de administración. Anteriormente, los valores de atributo se derivaban de la configuración de almacén predeterminada.
- Las consultas de categoría de GraphQL devuelven información sobre los cambios realizados en las categorías organizadas según lo esperado.
- Las listas de productos ahora se representan con precisión en el Administrador en implementaciones con productos asignados tanto a una categoría principal como a sus subcategorías, pero en diferentes posiciones dentro de cada categoría. Anteriormente, el procesamiento de la lista de productos fallaba con este error:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
. GitHub-33145
- Ahora se pueden asignar a los nuevos productos atributos de selección múltiple con muchas opciones (más de 150). Anteriormente, las opciones de atributo se guardaban en
catalog_product_entity_varchar
y no todas las opciones estaban presentes cuando volvió a abrir el producto en el Administrador. GitHub-33486
- Se ha añadido validación para el caso en el que un enrutador no puede crear una instancia de una clase de acción recopilada de una dirección URL. Adobe Commerce ahora muestra el mensaje de error estándar. Anteriormente, Adobe Commerce mostraba este error:
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
.
- Adobe Commerce ahora calcula correctamente los descuentos cuando se aplican dos reglas del carro de compras a un pedido que cumple estas condiciones: se aplica una regla del carro de compras con un código de cupón y un Precio fijo en todo el carro y la segunda regla de precio del carro de compras no tiene cupón y tiene un valor Porcentaje de descuento en el precio del producto condición. Anteriormente, el algoritmo relevante no podía dividir correctamente el descuento proporcionalmente entre los productos del carro de compras cuando una regla anterior del carro de compras ya había aplicado un descuento en algunos productos.
- La asignación de muchos productos (aproximadamente 10 000) a una categoría ya no hace que el explorador se bloquee.
- Los atributos de imagen ahora se guardan en la base de datos de forma coherente tanto si se guardan desde el administrador como si se importan. Anteriormente, los valores de texto ALT de imagen se guardaban de forma incoherente. Si la imagen existía y la etiqueta se estableció en null, el valor de la etiqueta no se restablecía en la base de datos.
- Se ha optimizado la consulta SQL del widget de catálogo. Anteriormente, las consultas MySQL grandes ralentizaban la carga de páginas y provocaban interrupciones de MySQL.
- Los filtros de precio ahora funcionan correctamente con productos configurables sin existencias. Anteriormente, los productos configurables sin existencias no se mostraban en su rango de precios correcto.
- Al actualizar un producto secundario ya no se elimina el descuento de regla de catálogo heredado de su producto configurable principal durante el proceso de indexación parcial. Anteriormente, cuando asignábamos un producto configurable a una categoría pero no a sus productos simples asociados y luego usábamos esa categoría para crear una regla de catálogo, Adobe Commerce eliminaba la regla de catálogo asignada al producto simple durante el proceso de indexación parcial.
- La lista de vista de cuadrícula de productos agrupados y configurables ahora contiene únicamente productos simples y virtuales al agregar opciones de producto. Anteriormente, la aplicación incluía productos simples con opciones.
Regla de catálogo
- Las actualizaciones diarias de las reglas de catálogo ya no resultan en una degradación del rendimiento. Anteriormente, la indexación parcial de precios de productos de catálogo no eliminaba precios ni fechas antiguos.
- Adobe Commerce ya no elimina las reglas de precio de catálogo de los productos configurables durante la reindexación parcial. Anteriormente, solo se reindexaban los subproductos cuando se reindexaban los productos configurables.
- Reglas de precios de catálogo con category no es category_id La condición de ahora se aplica a los productos que no pertenecen a ninguna categoría.
Productos configurables
- El nombre de la etiqueta de opción de producto configurable ahora se basa en la vista de tienda seleccionada durante la creación de la orden de administración. Anteriormente, Adobe Commerce utilizaba el nombre de la etiqueta de la vista de tienda predeterminada.
- Las listas de productos ahora incluyen correctamente productos secundarios de un producto sin existencias cuando el indicador global para mostrar productos sin existencias está habilitado. Anteriormente, la lista de productos no incluía el producto secundario si una de las varias opciones de productos secundarios estaba agotada cuando este indicador estaba habilitado.
- Ahora puede utilizar la variable
addConfigurableProductsToCart
mutación para agregar un producto configurable al carro de compras en una vista de tienda no predeterminada. Anteriormente, no se podía agregar un producto configurable a un carro de compras cuando el ID del sitio web y el ID de la tienda diferían. GitHub-30948
- GraphQL
products
las consultas ya no devuelven datos sobre los productos secundarios deshabilitados de los productos configurables.
- La creación de nuevas configuraciones para un producto configurable ya no anula los cambios en las configuraciones existentes. Anteriormente, el estado de las variaciones existentes se anulaba con el estado predeterminado
enabled
después de que se generaran nuevas variaciones.
- Adobe Commerce ya no genera un error interno cuando intenta agregar un elemento secundario deshabilitado de un producto configurable al carro de compras.
Cliente
- Adobe Commerce ahora considera el ámbito del sitio web para las configuraciones regionales de administración durante la creación del pedido. Anteriormente, los detalles del pedido, como los atributos de dirección del cliente, funcionaban correctamente en un sitio web solo en una implementación de varios sitios. GitHub-23254
Segmento de cliente
- El recuento Clientes coincidentes para un nuevo segmento de clientes ahora se actualiza automáticamente al crear una cuenta de empresa. Anteriormente, había que actualizar los datos de segmentos para obtener un recuento preciso.
Correo electrónico
- Los errores de validación de los campos de correo electrónico en la ventana emergente de cierre de compra ahora coinciden con los errores de validación de correo electrónico en la página de inicio de sesión del cliente cuando un cliente intenta iniciar sesión con una cuenta de correo electrónico no válida.
- Adobe Commerce ya no incluye un mensaje de error en el correo electrónico de detalles del envío cuando se agrega un comentario de envío desde el administrador y el Notificar al cliente La casilla de verificación está activada. Anteriormente, los correos electrónicos de confirmación de envío incluían este mensaje:
We're sorry, an error has occurred while generating this content
.
- Los valores de ID de región y país ahora se convierten correctamente en plantillas de correo electrónico. Anteriormente, al hacer clic en Vínculo de vista previa en la plantilla de correo electrónico Administrador, el país y el nombre de región no se mostraban correctamente.
- Los correos electrónicos de actualización de ventas enviados desde el administrador para vistas de tienda no predeterminadas ahora contienen etiquetas de estado de pedido correctas. Anteriormente, estos correos electrónicos siempre mostraban el estado del almacén predeterminado. GitHub-29263
- Adobe Commerce ahora incluye
Content-Disposition: inline
encabezados en el correo electrónico según lo esperado. GitHub-29258
- Los correos electrónicos de notificación de pedidos y envíos ahora funcionan según lo esperado en implementaciones que utilizan Microsoft Outlook y MS Exchange Server. Anteriormente, el cuerpo del correo electrónico estaba vacío, pero contenía un archivo adjunto etiquetado como ATT*. GitHub-25076
- Los correos electrónicos de pedido ahora contienen datos localizados utilizando la configuración regional del comprador según lo esperado. Anteriormente, el pedido de correos electrónicos utilizaba la configuración regional del administrador.
- Al hacer clic en la previsualización de cualquier plantilla de correo electrónico, ahora se abre la previsualización de la plantilla en una ventana independiente, según lo esperado. Anteriormente, Adobe Commerce abría la vista previa de plantillas simultáneamente desde la cuadrícula Plantillas de correo electrónico y en una ventana emergente.
- Los correos electrónicos de pedido asincrónico enviados desde un sitio web no predeterminado ahora incluyen direcciones URL de logotipo del sitio web correspondiente. Anteriormente, estos correos electrónicos siempre incluían logotipos del sitio web predeterminado o principal. (Una clave predeterminada con un
storeCode
se ha asignado el valor al segundo argumento de matriz que se pasa alUrlInterface
getUrl
función. Este valor distingue las direcciones URL con respecto a diferentes tiendas/sitios web y genera unbaseUrl
para el contenido de correo electrónico que se envía al cliente).
Marcos
- Las comparaciones no estrictas entre números y cadenas no numéricas ahora funcionan convirtiendo el número en cadena y comparando las cadenas. Las comparaciones entre números y cadenas numéricas siguen funcionando como antes. Esto significa que
0 == "not-a-number"
ahora se considera false. GitHub-33780
- El asistente
Magento\Payment\Helper\Data
ya no crea nuevos diseños en constructores. Anteriormente, cuando este asistente se utilizaba en comandos personalizados sin especificar un código de área, Adobe Commerce arrojaba un error. GitHub-33908
- Se ha actualizado el
allure-framework/allure-php-api
Dependencia del compositor.
- Adobe Commerce devuelve ahora un código de respuesta 500 cuando se produce una excepción en el archivo de arranque. Anteriormente, Adobe Commerce devolvía un código de estado 200 OK. GitHub-22196
- El símbolo de moneda ahora se carga según lo esperado en las páginas de detalles del producto de la tienda. Anteriormente, este símbolo a veces desaparecía después de que la página de JavaScript se recargara.
- Actualizando
symfony/console
ya no provoca un error al ejecutarbin/magento setup:di:compile
. GitHub-33595
- Se han añadido nuevas opciones necesarias a
.htaccess
ynginx.conf
archivos que se distribuyen con Adobe Commerce para compatibilidad con PHP 8.x. También se han eliminado las opciones obsoletas. GitHub-34358
- Los comerciantes ahora pueden cargar un vídeo para varios productos. El proceso de generación de archivos ahora anexa una extensión al nombre del archivo solo si el nombre del archivo cargado incluye una extensión. Anteriormente, cuando un comerciante intentaba cargar y guardar el mismo vídeo para dos productos diferentes, Adobe Commerce arrojaba este error:
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
. Esto ocurría porque Adobe Commerce intentaba anexar una extensión de archivo al nombre independientemente de si el nombre del archivo cargado tenía una extensión.
- Problemas corregidos con
sprintf(__())
ysprintf(Magento\Framework\Phrase())
construcción para compatibilidad con PHP 8.x a través de la base de código. Anteriormente, Adobe Commerce arrojaba este tipo de error:Expected parameter of type 'string', 'Magento\Framework\Phrase' provided
. GitHub-34085
- Se ha mejorado la validación de los parámetros de consulta de búsqueda avanzada. GitHub-33589
- Ejecutando
bin/magento support:backup:code
ahora crea una copia de seguridad según lo esperado. Anteriormente, Adobe Commerce creaba una copia de seguridad, pero generaba un error.
- Ejecutado correctamente
cron
los procesos ahora tienen asignado un estado desuccess
. Anteriormente, el mismocron
el proceso se pudo ejecutar dos veces porque se realizó correctamentecron
procesos se asignaron a unpending
estado.
- El
staging_synchronize_entities_period
cron
el trabajo ahora funciona según lo esperado. Anteriormente, la primera actualización de ensayo se aplicaba correctamente, pero Adobe Commerce arrojaba este error con actualizaciones posteriores:report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted
.
- El
Magento_Logging
ahora es compatible con IPv6.
Correcciones generales
- Adobe Commerce ahora copia todos los campos de producto según sus ámbitos definidos al duplicar un producto. Anteriormente, la variable name y description los campos se han restablecido a
global
ámbito.
- Adobe Commerce ya no aplica el redondeo delta a un descuento cuando el precio del producto es 0. Anteriormente, Adobe Commerce calculaba un importe de descuento negativo.
- Productos con un Establecer como nuevo ahora, al atributo al que se le asigna una fecha de inicio vacía y una fecha de finalización caducada se puede guardar correctamente. Anteriormente, Adobe Commerce arrojaba este error al guardar un producto con esta configuración:
Make sure the To Date is later than or the same as the From Date
.
- Adobe Commerce ya no duplica una página de CMS existente en la jerarquía de CMS cuando cambia su identificador de URL SEO. Anteriormente, Adobe Commerce creaba un nuevo nodo en la jerarquía de CMS, duplicando uno existente.
- Los administradores ahora pueden reintentar operaciones que se hayan estado ejecutando durante el tiempo de procesamiento máximo. El máximo predeterminado es de 12 horas.
- Los errores de canalización rotos ya no se producen durante el procesamiento de acciones masivas debido a mensajes no reconocidos para el consumidor. Una propiedad de recuento de recuperación previa ahora limita estos mensajes para el consumidor y evita errores. Anteriormente, en
bin/magento queue:consumers:start async.operations.all
generó este error:Broken pipe or closed connection
.
- Ahora se redirige a los compradores a la página de inicio de sesión, tal como se espera después de un segundo intento de inicio de sesión fallido. Anteriormente, se redirigía a los compradores a una página 404 después de un segundo intento de inicio de sesión sin éxito. GitHub-32885
- La validez del token de restablecimiento de contraseña se ha ampliado para evitar que se produzca una condición de carrera durante el envío de la página de cambio de contraseña. GitHub-29647
- Ahora se respetan los permisos asignados a las nuevas integraciones. GitHub-33347
- Se ha corregido un problema de regresión que afectaba a los mensajes que quedaban en los registros de excepciones del formulario Contáctenos. GitHub-34483
- Se han resuelto varios problemas con la carga de datos de clientes mediante JavaScript. GitHub-30498
- Uso de
QuoteIdToMaskedQuoteId
en una extensión ya no aumenta significativamente el tiempo de respuesta. GitHub-33676
- La clase
BundleDiscountPrice
inmagento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php
ahora se declara según lo esperado. Anteriormente, Adobe Commerce arrojaba este error:Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found
. GitHub-33334
- Los valores de campo CSV escapados escritos por el adaptador de AWS S3 ahora coinciden con los datos escritos por otros adaptadores del sistema de archivos.
- Ahora se admite el almacenamiento compatible con S3. GitHub-32114
- Al cerrar la sesión desde un dispositivo, el comprador ya no cierra la sesión automáticamente desde otros dispositivos.
- Adobe Commerce ahora guarda correctamente una página de CMS cuando se edita desde la cuadrícula en línea en el nivel de vista de tienda cuando la variable Usar la jerarquía del nodo principal la configuración está deshabilitada. Anteriormente, Adobe Commerce mostraba este error y no guardaba las ediciones de página de CMS:
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
.
- Ahora, las rutas de exploración se muestran correctamente para los nodos que contienen la misma página. Anteriormente, Adobe Commerce mostraba el mismo nombre de nodo para las páginas que pertenecían a varios nodos. Adobe Commerce solo recuperó el primer nodo de una página, incluso cuando había más de un nodo para cada página.
- Los eventos de edición en línea de reescritura de URL ahora se registran en los informes.
- El
mage-messages
la cookie no se restablece si no hay mensajes nuevos.
Tarjetas de regalo
- Se ha añadido un mensaje de error más informativo cuando un comprador introduce una tarjeta de regalo no válida.
GraphQL
- El
generateCustomerToken
yrevokeCustomerToken
Las mutaciones ahora proporcionan el ID de caché correcto para el estado del usuario. Anteriormente, estas mutaciones usaban un no válidox-magento-cache-id
, que degradaba el rendimiento.
- El
setBillingAddressToCart
La mutación ahora utiliza correctamente la variablesame_as_shipping
para configurar la dirección de facturación de modo que coincida con la dirección de envío según lo esperado. Anteriormente, Adobe Commerce mostraba este error:The shipping method is missing. Select the shipping method and try again
. GitHub-30924
- Las operaciones de carro de compras de GraphQL ahora calculan los totales generales del carro de compras solo cuando la consulta lo solicita. Anteriormente, las operaciones del carro de compras siempre calculaban el total general, que es una operación que consume muchos recursos.
- El
addProductsToCart
la mutación ahora agrega al carro de compras solo los productos asignados al almacén definido en el encabezado.
products
las consultas que utilizan filtros de navegación por capas ahora devuelven listas de categorías secundarias correctas. GitHub-33387
- Consultas y mutaciones que devuelven el
ConfigurableCartItem
contiene información sobre las variantes configuradas según lo esperado.
- El
products
query ahora devuelve valores de opciones de producto de configuración y valores de atributos de variante. Anteriormente, estos valores estaban vacíos en las respuestas de consulta.
- El
products
query ahora filtra los productos agrupados correctamente cuando los productos secundarios están desactivados en el nivel de vista de tienda. Anteriormente, la consulta devolvía productos secundarios deshabilitados en el nivel de vista de tienda.
- GraphQL ahora proporciona a New Relic nombres de transacción descriptivos, que pueden ser útiles para la depuración. GitHub-30915
- El
setShippingAddressesOnCart
La mutación de ahora admite la configuración de direcciones de envío en un carro de compras con un valor de número de teléfono vacío cuando la variable Mostrar teléfono La configuración de administración se establece en opcional. Anteriormente, Adobe Commerce arrojaba este error:Field CartAddressInput.telephone of required type String! was not provided
.
- Se ha corregido un problema que causaba que
addSimpleProductsToCart
La mutación de permite agregar productos simples a un carro de compras que no están asignados al sitio web de destino.
- Las consultas MySQL se han optimizado para GraphQL
products
consultas que utilizan parámetros de búsqueda para restringir los resultados de búsqueda.
- El
addConfigurableProductToCart
la mutación ya no admite la adición de un producto al carro de compras si el producto no se incluye en el ámbito solicitado.
- El
products
La consulta ahora solo devuelve variantes configurables asignadas a la vista de tienda solicitada. Anteriormente, se devolvían todas las variantes del producto configurable solicitado.
addSimpleProductsToCart
Las solicitudes de ahora se pueden ejecutar correctamente en paralelo. Anteriormente, varias solicitudes para el mismo SKU creaban elementos de línea duplicados para el mismo ID de carro de compras en lugar de aumentar la cantidad de producto como se esperaba.
- El
addProductsToCompareList
La mutación ahora se puede utilizar para comparar variantes de productos configurables.
- Cuando el precio de un producto de nivel se actualiza desde el backend, el nuevo precio se actualiza correctamente en el carro de compras del cliente. Anteriormente, aunque el subtotal de la sección Resumen del carro de compras se actualizaba correctamente, el subtotal de la fila no se actualizaba.
- El
addProductsToCart
la mutación ahora agrega todas las opciones seleccionadas al carro de compras cuando se utiliza para agregar productos agrupados con varias opciones de selección. Anteriormente, la mutación solo añadía la última selección. GitHub-33123
- Las consultas de GraphQL ahora devuelven una dirección de facturación como se espera cuando el valor de un campo de teléfono opcional se establece en una cadena vacía. Anteriormente, las consultas devolvían un valor de dirección nulo. GitHub-30218
- El
products
ahora, la respuesta de consulta enumera los productos según el criterio de ordenación especificado cuando varios productos tienen la misma relevancia o valor de precio.
- Simultáneo
addSimpleProductsToCart
yaddProductsToCart
Las solicitudes de ya no resultan en elementos de oferta duplicados.
products
los filtros de navegación por capas de consulta ahora devuelven listas de categorías secundarias correctas. Ahora solo se incluyen subcategorías directas cuando la variableincludeDirectChildrenOnly
se proporciona un indicador en la solicitud. Anteriormente, todas las categorías se incluían en la respuesta de la sección de agregación cuando se asignaba un producto a varias categorías.
- Se ha agregado la funcionalidad de sugerencias de búsqueda para consultas de búsqueda de GraphQL.
- El
OrderAddress.telephone
ahora es opcional en la variablecustomer
consultas u otras consultas y mutaciones que devuelven o modifican direcciones de pedidos de clientes.
- Los precios ahora se actualizan correctamente para los clientes de un grupo especificado tanto en la tienda como en el administrador cuando se cambia un ID de grupo a través de una API. Anteriormente, estos precios no se actualizaban correctamente cuando se cambiaba un ID de grupo mediante API.
Imagen
- Las imágenes de filigrana con fondos transparentes ya no tienen un fondo blanco en la imagen de producto transparente que se superpone. Anteriormente, cuando la imagen de marca de agua y la imagen del producto tenían un fondo transparente, la marca de agua se mostraba con un fondo blanco.
- Los logotipos para facturas y recibos de envío ahora se cargan y muestran según lo esperado cuando AWS S3 está habilitado.
- La etiqueta de medios asociada con una imagen agregada a una página de CMS en una implementación en la que el administrador está configurado en un dominio diferente al de la URL de la tienda ahora contiene las URL de la tienda según lo esperado. Anteriormente, las etiquetas de medios contenían direcciones URL de administrador estáticas en lugar de las direcciones URL de almacenamiento esperadas. GitHub-32930
- Adobe Commerce ya no genera un error al vaciar la memoria caché de imágenes mientras se cargan simultáneamente las imágenes en la tienda.
Importar/exportar
bin/magento remote-storage:sync
ya no falla cuando los nombres de archivo son similares, pero difieren en solo uno o dos caracteres. Anteriormente, la primera imagen se almacenaba correctamente, pero la segunda imagen, con un nombre similar, activaba un error de sincronización y este error:Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197
. GitHub-34337
- Adobe Commerce ahora convierte la marca de tiempo del nombre del archivo de exportación a la zona horaria del usuario después de una exportación programada. Anteriormente, estos valores no se convertían y Adobe Commerce mostraba la marca de tiempo UTC.
- Adobe Commerce ya no crea imágenes duplicadas en el almacenamiento remoto cuando el mismo archivo CSV se importa más de una vez.
- La importación ya no falla con este mensaje:
Import failed: Area code not set: Area code must be set before starting a session
. GitHub-16171
- Ahora puede importar correctamente después de ejecutar
bin/magento app:config:dump
y edición manualconfig.php
. GitHub-31428
- Ahora, los separadores de varios valores no predeterminados se pueden utilizar en atributos de selección múltiple personalizados. Anteriormente, la validación fallaba durante la importación. GitHub-23156
- La posición del producto en las categorías ahora se asigna correctamente durante la importación desde CSV.
Índice
- Adobe Commerce ahora muestra los productos tal como se espera en la tienda después de volver a indexar. Anteriormente, cuando los primeros 500 productos que se reindexaban estaban en stock, y los siguientes 500 productos estaban sin existencias, la tienda no mostraba ningún producto adicional.
- Problemas de coherencia resueltos en formularios combinados
indexer.xml
archivos. Los valores permitidos enclassType
ahora son iguales en no combinadas y combinadasindexer.xml
archivos. GitHub-29609
- Se ha implementado un mecanismo de sincronización en los indexadores de categoría para evitar que los indexadores completos y parciales se ejecuten en paralelo. Anteriormente, cuando estos indexadores se ejecutaban en paralelo, los productos se podían omitir temporalmente de las páginas de categorías de tiendas o las páginas de categorías podían estar temporalmente vacías de productos.
Infraestructura
- El no compatible
str_contains
El método de se ha reemplazado con una función compatible. Este era un problema conocido de Adobe Commerce 2.4.3. GitHub-33680
-
Se ha refactorizado el código base para corregir el uso de la palabra clave
match
, una palabra clave reservada en PHP 8.x. GitHub-33626 -
Las etiquetas de HTML ahora están anidadas y cerradas correctamente para cumplir los estándares de JQuery 3.5.x para elementos no vacíos, incluidos los elementos personalizados.
- Fijo
abs()
yround()
funciones para la compatibilidad con PHP7.x y PHP8.x. GitHub-34322
- Actualizando
symfony/console
ya no causa errores al ejecutarbin/magento setup:di:compile
. GitHub-33595
- Se ha corregido la restricción de
colinmollenhour/cache-backend-redis
Dependencia del compositor. GitHub-34177
- El código base se ha refactorizado para eliminar las llamadas a métodos obsoletos de
phpunit/phpunit
. GitHub-33916
- Adobe Commerce ahora muestra un error informativo cuando un administrador con un de solo lectura
pubs/media
intenta acceder a la página de detalles del producto para un producto que incluye imágenes. Anteriormente, Adobe Commerce arrojaba un error de PHP. GitHub-32819
- Todos a nivel de miembro
@api
las anotaciones se han movido a su clase a lo largo del código base.
gift-card Cms
los datos del widget se han movido deMagento/WidgetSampleData
(Magento Open Source) aMagento/GiftCardSampleData
(Adobe Commerce). Esto ha resuelto problemas al instalar (Magento Open Source) con datos de muestra en PHP8.1.
- Interfaces marcadas en la base de código de integración de Adobe Stock con
@api
según sea necesario. GitHub-32875
- Los enteros y flotantes en los conjuntos de resultados ahora se devuelven usando tipos PHP nativos en lugar de cadenas al usar instrucciones preparadas emuladas. GitHub-34625
- Se ha desactivado la creación automática de matrices a partir de valores falsos para garantizar la compatibilidad con PHP 8.1.
- El asistente
Magento\Payment\Helper\Data
ya no crea nuevos diseños en constructores. Anteriormente, cuando este asistente se utilizaba en comandos personalizados sin especificar un código de área, Adobe Commerce arrojaba un error. GitHub-33908
- Ahora puede pasar un
data
a un constructor de instancias de bloque por medio dedi.xml
.
- Optimizado
Generator.php
para facilitar la lectura. GitHub-33809
- Se ha mejorado la comprobación de JWK en el
JwsManager
para controlar situaciones en las que el algoritmo se establece directamente en el encabezado. Anteriormente, esta comprobación ignoraba este escenario válido. GitHub-32636
Actualizaciones para la compatibilidad con PHP 8.1
-
Las funciones que han quedado obsoletas en PHP 8.1 se han eliminado de la base de código. GitHub-34497
-
Se agregaron declaraciones de tipo de retorno a métodos internos con tipos de retorno incompletos para la compatibilidad con PHP 8.1. GitHub-34498
-
Se ha actualizado la raíz
composer.json
metapaquete ycomposer.json
para cada módulo a PHP 8.1. GitHub-34009 -
Terceros
jquery.tabs
biblioteca (versión más reciente) -
Paquetes NPM (última versión) GitHub-33512, GitHub-33972
-
jquery.cookie
biblioteca de terceros (versión más reciente) GitHub-34427
Actualizaciones de dependencias del Compositor
-
Todas las dependencias del Compositor se han actualizado a las versiones compatibles con PHP 8.1.
-
PHPUnit se ha actualizado a la última versión (9.5.x). Se han actualizado los marcos de pruebas y de pruebas para que sean compatibles con la nueva versión.
Actualizaciones de dependencias JavaScript
jquery-validate
biblioteca de terceros GitHub-33853
Less.js
(v3.13.1) GitHub-32845
Eliminaciones y desaprobaciones de bibliotecas
-
Se han eliminado las bibliotecas siguientes porque todos los exploradores compatibles con Adobe Commerce 2.4.x admiten esta funcionalidad de forma integrada:
es6-collections.js
MutationObserver.js
Modernizr
FormData.js
-
Se eliminaron los no utilizados
jquery.hoverIntent
Biblioteca de JavaScript. GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.php
se ha desaprobado. Contiene elmoney_format()
función, que fue eliminada en PHP 8.x. GitHub-33870 -
Se ha eliminado el obsoleto, no compatible
grunt-autoprefixer
paquete. GitHub-34037
Actualizaciones de biblioteca
-
Las bibliotecas siguientes se han actualizado a versiones más recientes:
script.aculo.us
Chart.js
moment.js
moment-timezone-with-data.js
matchMedia.js
underscore.js
PrototypeJS
RequireJS
LessCSS
Factura
- Fundición a
int
se ha eliminado para los ID de factura incrementados automáticamente cuando se les añade un prefijo con una cadena. Como resultado, las facturas ahora muestran un 0 para los números que tienen el prefijo de cadena. GitHub-34451
Registro
- Adobe Commerce ya no crea entradas de registro para llamadas de API fallidas que ejecutan acciones masivas en Sistema > Acciones masivas. Anteriormente, las entradas permanentes para las llamadas de API fallidas se añadían al registro de acciones masivas.
- Ya no se permite la creación automática de matrices a partir de valores falsos. GitHub-34499, GitHub-34589
estándar de codificación Adobe Commerce
- Actualizado
phpunit/ phpunit
a la última versión demagento-coding-standard
repositorio. GitHub-33622
- Se ha actualizado el
webonyx/graphql-php
dependencia a la versión ^14.9 en el repositorio estándar de codificación de Adobe Commerce. GitHub-32863
- Se ha añadido un nuevo olfato
Magento2.PHP.ArrayAutovivification
al estándar de codificación de Adobe Commerce para identificar la creación automática de matrices a partir de un valor falso. GitHub-34509
- Se ha añadido un nuevo olfato
Magento2.Functions.DeprecatedFunction
al estándar de codificación de Adobe Commerce. GitHub-34547
- Se han añadido funciones obsoletas para olfatear
Magento2.Functions.DiscouragedFunction
en Adobe Commerce coding standard. GitHub-34548
- El
Magento2.Annotation.MethodAnnotationStructure
sniff ya no falla con un falso positivo. GitHub-34679
Galería de medios
- El
bin/magento media-gallery:sync
El comando ya no falla en las implementaciones en las que AWS S3 está habilitado.
- Los títulos de submenú de Contenido de la Galería multimedia recién añadidos ahora se muestran cuando los elementos de menú superan los 11 y la variable Habilitar la galería de medios antigua La opción de configuración está habilitada. GitHub-33889
- Se ha mejorado el tiempo de carga de la pestaña Galería de medios al editar un producto con muchas imágenes. GitHub-33434
MFTF
-
CURLOPT_POSTFIELDS
ya no acepta objetos como matrices. Para interpretar un objeto como una matriz, realice una acción explícita (array
) fundir. Esta práctica también se aplica a otras opciones que aceptan matrices. GitHub-33781 -
curl_init()
ahora devuelve unCurlHandle
en lugar de un recurso. Elcurl_close()
ya no tiene ningún efecto. En su lugar, la variableCurlHandle
se destruye automáticamente si ya no se hace referencia a ella. GitHub-33781
- Se corrigieron errores en las pruebas MFTF para productos descargables. GitHub-34270
- Eliminado
CliCacheFlushActionGroup
deCatalogSearch
,GroupedProduct
,Newsletter
,Paypal
,Quote
, yReview
módulos. GitHub-33531
- Las comparaciones no estrictas entre números y cadenas no numéricas ahora funcionan convirtiendo el número en cadena y comparando las cadenas. Las comparaciones entre números y cadenas numéricas siguen funcionando como antes. Esto significa que 0 == "no es un número" ahora se considera falso. GitHub-33780
parse_url()
ahora distingue entre consultas y fragmentos ausentes y vacíos. GitHub-33782
- Se ha actualizado el código base para evitar un error grave al utilizar el
ReflectionType::isBuiltin()
método. GitHub-34194
Nuevos grupos de acción
AdminCheckOrderStatusInGridActionGroup
GitHub-33747
StorefrontSelectFirstShippingMethodActionGroup
GitHub-33773
AdminClickUpdateChangesOnCreateOrderPageActionGroup
GitHub-33689
Grupos de acción
Las acciones repetitivas se han sustituido por grupos de acciones en estas pruebas:
AdminAddInStockProductToTheCartTest
GitHub-34512
AdminAddBundleItemsTest
GitHub-34312
AdminConfigurableProductAddConfigurationTest
GitHub-34511
AdminConfigurableProductBulkUpdateTest
GitHub-34435
AdminConfigurableProductDisableAnOptionTest
GitHub-34511
AdminConfigurableProductOutOfStockAndDeleteCombinationTest
GitHub-34316
AdminConfigurableProductOutOfStockTestDeleteChildrenTest
GitHub-34316
AdminConfigurableProductRemoveAnOptionTest
GitHub-34511
AdminConfigurableProductRemoveConfigurationTest
GitHub-34511
AdminCreateAndEditSimpleProductSettingsTest
GitHub-34435
AdminCreateAndEditVirtualProductSettingsTest
GitHub-34435
AdminCreateInactiveFlatCategoryTest
GitHub-34490
AdminCreateInactiveInMenuFlatCategoryTest
GitHub-34510
AdminCreateDuplicateCategoryTest
GitHub-34414
AdminCreateDuplicateProductTest
GitHub-34414
AdminDeleteSimpleProductTest
GitHub-33783
AdminEditRelatedBundleProductTest
GitHub-34313
AdminMassDeleteBundleProductsTest
GitHub-34313
AdminNavigateMultipleUpSellProductsTest
GitHub-34314
AdminSimpleProductSetEditContentTest
GitHub-34435
AdminSimpleProductTypeSwitchingToConfigurableProductTest
GitHub-33788
AdminConfigurableProductTypeSwitchingToVirtualProductTest
GitHub-33788
AdminCreateConfigurableProductWithDisabledChildrenProductsTest
GitHub-33775
AdminUpdateFlatCategoryAndAddProductsTest
GitHub-34490
AdminUpdateTopCategoryUrlWithNoRedirectTest
GitHub-33774
AdminUpdateTopCategoryUrlWithRedirectTest
GitHub-33774
CatalogProductListWidgetOperatorsTest
GitHub-34579
CreateProductAttributeEntityWithReservedKeysTest
GitHub-34422
EnableDisableBundleProductStatusTest
GitHub-34313
StorefrontCheckRefundGrandTotalActionGroup
GitHub-34315
StorefrontInactiveCatalogRuleTest
GitHub-33556
StorefrontConfigurableProductCantAddToCartTest
GitHub-33786
StorefrontConfigurableProductOptionsTest
GitHub-33785
StorefrontConfigurableProductCanAddToCartTest
GitHub-33784
StorefrontConfigurableProductGridViewTest
GitHub-34311
StorefrontConfigurableProductListViewTest
GitHub-34311
StorefrontProductNameWithHTMLEntitiesTest
GitHub-33806
StorefrontProductNameWithDoubleQuoteTest
GitHub-32991
Nuevas pruebas
AdminCreateOrderWithCheckedAppendCommentCheckboxTest
GitHub-32381
CheckoutWithEnabledCaptchaTest
GitHub-32991
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest
GitHub-33635
StorefrontGiftMessageForOrderOnCheckoutCartPageTest
GitHub-32821
StorefrontCaptchaCheckoutWithEnabledCaptchaTest
GitHub-32821
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest
GitHub-33460
Pruebas refactorizadas
CaptchaWithDisabledGuestCheckoutTest
GitHub-30828
Newsletters
- Los usuarios con los permisos adecuados ahora pueden administrar las suscripciones al boletín de los clientes según lo esperado. Anteriormente, solo los administradores con permisos completos podían administrar las suscripciones de los boletines de los clientes en la página Admin customer account.
Pedido
- Los compradores ahora pueden reordenar correctamente un pedido existente que contenga un producto con la combinación de opciones personalizadas de tipo archivo y tipo desplegable tanto de la tienda como del administrador. Anteriormente, Adobe Commerce arrojaba un error y no procesaba la reordenación.
- Las facturas de pedidos que se pagan mediante crédito de tienda y que tienen impuestos fijos sobre productos (FPT) aplicados ahora incluyen el total general correcto.
- La página de detalles del pedido del administrador ahora se carga según lo esperado. Anteriormente, Adobe Commerce arrojaba el siguiente error al cargar la página de detalles de pedidos para pedidos con determinados impuestos:
Call to a member function getId() on array
.
- Los administradores con permisos restringidos que incluyen privilegios de pedido y envío ahora pueden ver la página de pedido según lo esperado. Anteriormente, Adobe Commerce arrojaba un error cuando un administrador con estos permisos intentaba ver una solicitud. GitHub-14633
- Los compradores ahora pueden realizar un pedido que incluya un producto configurable secundario cuando se establece un límite máximo de cantidad permitida.
Métodos de pago
- Los compradores ahora pueden utilizar Braintree para realizar un pedido utilizando una dirección de facturación sin una región establecida en implementaciones con 3DS habilitado. Anteriormente, el cierre de compra se bloqueaba cuando el comprador hacía clic en Realizar pedido y no se pudo completar la compra. GitHub-34204
- Ahora se admite la opción de pago Venmo.
- PayPal ahora puede rastrear por código BN.
bin/magento setup:upgrade
ahora se ejecuta según lo esperado al actualizar desde Adobe Commerce 2.4.2-p1. Anteriormente, Adobe Commerce arrojaba este error:Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal
. GitHub-33678
- El ID de tienda correcto ahora se utiliza para recuperar las tarjetas de crédito guardadas durante la colocación del pedido del administrador. Las tarjetas de crédito almacenadas ahora se muestran durante la realización del pedido según la configuración del ámbito del sitio web. Anteriormente, cuando un administrador intentaba crear un pedido para un cliente desde el Administrador y seleccionaba el método de Tarjetas de crédito almacenadas, no había opciones disponibles para las tarjetas almacenadas.
- Se han resuelto las anomalías en la visualización de los importes de las tarjetas de regalo con PayPal Credit. Anteriormente, cuando se habilitaba el crédito de PayPal y se configuraban varios importes de tarjetas regalo, si un comprador cambiaba el importe del valor de una tarjeta regalo, la tienda no actualizaba el importe de los pagos a plazos. Este era un problema conocido de Adobe Commerce 2.4.3.
PayPal
- Adobe Commerce ya no muestra un error durante el proceso de pago con la forma de pago PayPal Express. Anteriormente, aunque el proceso de cierre de compra se completaba, Adobe Commerce mostraba este error:
Something went wrong
.
- PayPal Express ahora funciona como se espera del carro de compras. Anteriormente, al hacer clic en PayPal para iniciar el cierre de compra rápido desde el carro, Adobe Commerce arrojó este error:
To check out, please sign in with your email address
. GitHub-33445
- PayPal Payflow Pro ahora realiza una captura retrasada con los ID de transacción principales correctos en implementaciones en las que PayPal Payflow Pro se conecta con Acción de pago se establece en Autorización. A Venta La transacción se envía a Payflow con un ID de transacción principal del token de Vault creado al realizar la compra según lo esperado. Anteriormente, un Captura retrasada La transacción se ha creado y enviado al flujo de pago de PayPal. GitHub-33445
- Los compradores ahora son redirigidos a la página de éxito como se espera después de que el pago con PayPal Payments Advanced se completa. Anteriormente, los compradores no eran redirigidos a esta página aunque el pago se procesara correctamente y no se registraran errores.
Rendimiento
- Se ha añadido un índice de a
magento_giftcardaccount.code
para mejorar el rendimiento.
- Se ha mejorado el tiempo de ejecución de carga de la lista de módulos.
- El rendimiento de la caché de Términos de búsqueda populares ha mejorado. Anteriormente, cuanto más grande era el
search_query
, cuanto más tardara una consulta en completarse. GitHub-27559
- De forma predeterminada, Adobe Commerce cambia el tamaño de las imágenes sincrónicamente durante el guardado del producto. Los comerciantes ahora pueden cambiar el tamaño de las imágenes como un proceso asincrónico en segundo plano realizando pequeñas ediciones en un
di.xml
archivo.
- El rendimiento del indexador Productos de categoría se ha mejorado en implementaciones de varias tiendas. GitHub-33984
- La nueva caché en memoria para
glob()
llamadas al sistema mejora el rendimiento al reducir el número deglob()
llamadas. GitHub-34025
- Se ha mejorado el rendimiento del proceso de reindexación asincrónica de la cuadrícula de pedidos.
- Se ha optimizado el consumo de memoria durante la exportación del producto.
- Se ha optimizado la carga de páginas de detalles de productos con productos relacionados. También se han optimizado las consultas de condiciones de producto relacionadas.
Precio
- La clasificación de precios ahora funciona como se espera cuando los precios del producto están cerca o iguales a cero y los catálogos compartidos están habilitados. Anteriormente, los precios de nivel cero se ignoraban durante la reindexación de precios.
- Adobe Commerce ya no genera un error si el filtro de precios de la página Categoría no contiene un segundo valor. Anteriormente, Adobe Commerce arrojaba una excepción en el archivo de registro.
ProductAlert
- El nuevo
product_alert
consumidor mejora el envío de alertas de clientes mediante la creación de mensajes en cola, la ejecución del consumidor y la mejora del tiempo de ejecución. Anteriormente, Adobe Commerce producía una excepción de memoria insuficiente al enviar más de 100 000 alertas de producto. Adobe Commerce también tardó más de 20 horas en enviar todas las alertas.
Vídeo del producto
- Adobe Commerce ahora habilita el Guardar y autocompleta los campos cuando se introduce una URL incompleta al añadir un vídeo (Administrador Catálogo > Productos > Añadir vídeo). Anteriormente, la variable Guardar El botón estaba desactivado y los campos no se rellenaban.
Autorizaciones de devolución de mercancía (RMA)
- La cuadrícula Administrador Crear producto de devolución ahora muestra los impuestos, incluidos los precios solo de los productos configurados para mostrar los impuestos con los precios. Anteriormente, Adobe Commerce no comprobaba la configuración de visualización en
tax/calculation/price_includes_tax
Indicador.
Críticas
- La vista de lista de productos ahora muestra la clasificación con estrellas correcta de los productos. GitHub-30196
- Las críticas ahora son visibles como se espera cuando un comprador hace clic Revisar en la página de producto de la tienda.
- La clasificación por estrellas de producto ahora es coherente en las vistas Cuadrícula y Lista de la página de lista de productos de la tienda. Anteriormente, el mismo producto podía tener clasificaciones diferentes en los modos de vista Cuadrícula y Lista.
Recompensas
- Ahora, el historial de puntos de recompensa y saldo de puntos de recompensa muestra el mismo saldo. Los puntos caducados ahora se deducen correctamente. Anteriormente, el saldo de puntos de recompensa no reflejaba con precisión los puntos vencidos.
- Los puntos de recompensa vencidos ahora se marcan como Caducado en la sección Motivo de la cuadrícula Historial de puntos de recompensa de la tienda.
Ventas
- Se ha mejorado el rendimiento de las actualizaciones de la cuadrícula de ventas en modo asincrónico para tablas con grandes conjuntos de datos después de la actualización a MariaDB 10.2.34.
- Adobe Commerce ahora elimina las etiquetas de HTML según lo esperado de la tienda Cuenta > Mis pedidos > Ver pedido página. Anteriormente, Adobe Commerce mostraba las etiquetas de HTML en la sección de comentarios de pedidos de clientes de tiendas.
- Cobertura de prueba automatizada para verificar la existencia de un índice para
sales_shipment_grid.order_id
se ha añadido.
POST V1/orders
las llamadas ahora actualizan los atributos de extensión sin errores. Anteriormente, se producía un error de sintaxis SQL.
Buscar search-heading
- Las opciones de navegación por capas para el rango de precios ahora funcionan según lo esperado con atributos de precios personalizados. Adobe Commerce utiliza la configuración del paso de navegación de precios al filtrar atributos de precios personalizados. Anteriormente, Adobe Commerce utilizaba la configuración de pasos manual.
- La tienda ahora muestra todas las subcategorías de la categoría actual en la navegación por capas, independientemente del número de categorías disponibles en el catálogo.
- Las búsquedas en el catálogo de Elasticsearch ahora no distinguen entre diacríticos. Anteriormente, las búsquedas de términos sin acento producían resultados diferentes a las búsquedas en el mismo término con acento.
- La ponderación de búsqueda ahora se establece correctamente en los atributos SKU que contienen caracteres especiales.
category_name
se ha añadido a los códigos de atributo de producto reservados para el sistema. Adobe Commerce ahora muestra un error si un usuario intenta crear un atributo de producto con el código de atributocategory_name
. Anteriormente, los productos no se enumeraban en la categoría esperada y se registraba un error del Elasticsearch.
- Los términos de búsqueda populares ahora se actualizan después de cada consulta de búsqueda de GraphQL.
- Adobe Commerce ahora agrega los campos de precio correctos a la asignación de índice de precios de Elasticsearch. Anteriormente, se añadían campos de precio incorrectos al índice con ID de tienda en lugar de ID de sitio web.
Envío
- El correo electrónico de envío ahora incluye solo el número de seguimiento del envío actual. Anteriormente, cuando un pedido incluía varios envíos, el correo electrónico de cada envío incluía los números de seguimiento de todos los envíos relacionados con el pedido.
- Adobe Commerce ahora actualiza correctamente el minicarrito cuando un comprador elimina un producto de su carro de compras mientras está en modo de envío múltiple y, a continuación, cambia a una sola dirección de envío. Anteriormente, los precios de los productos no se actualizaban según lo esperado.
- La importación de tasas de tabla ahora funciona según lo esperado al utilizar el adaptador de almacenamiento S3. Anteriormente, Adobe Commerce mostraba este error:
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found
. GitHub-33072
- Ahora puede desactivar los correos electrónicos de actualización de envíos como se espera de Tiendas > Configuración > Ventas > Correos electrónicos de ventas. GitHub-33165
- Adobe Commerce ahora muestra los gastos de envío gratuitos (0) en los totales de la página de facturas de administración y tienda. Anteriormente, cuando el envío era cero para un pedido, Adobe Commerce no mostraba el importe de envío en totales en el total de envío de la página de factura.
- Las solicitudes de tarifas a los transportistas en línea se han reducido de varias solicitudes a una. El seguro del paquete y el precio de manipulación por artículo/paquete ahora se calculan correctamente. Anteriormente, Adobe Commerce mostraba tarifas de envío incorrectas para los métodos de envío de FedEx.
- Adobe Commerce ahora muestra las tarifas de UPS al crear etiquetas de envío para el envío desde Puerto Rico. Anteriormente, Adobe Commerce no mostraba estas tasas de UPS.
- La dirección de la calle de envío ahora se borra por completo como se espera después de eliminarla del cuadro de entrada. Anteriormente, el cuadro de texto conservaba uno o varios caracteres después de eliminar la dirección.
Ensayo
- Las imágenes y los vídeos de actualización programada del producto ahora se guardan correctamente. Anteriormente, los vídeos, las direcciones URL, los títulos y las descripciones se eliminaban después de crear una nueva actualización programada.
- Adobe Commerce ahora muestra el atributo Precio mínimo anunciado en el formulario Programar nueva actualización para las vistas de tienda para las que el atributo está habilitado.
- Adobe Commerce ahora solo muestra una pestaña Imágenes en el formulario Actualización programada del producto según lo esperado. Anteriormente, Adobe Commerce duplicaba esta pestaña.
- El estado de stock del producto ahora se muestra correctamente en las vistas previas de Programar actualización. Anteriormente, el estado del producto se mostraba como agotado cuando se habilitaba un producto deshabilitado anteriormente durante la creación de la Actualización de programación.
Almacenar
- La función Iniciar sesión como cliente ahora funciona como se espera en implementaciones que contienen varios almacenes en distintas direcciones URL. Anteriormente, Adobe Commerce no cargaba el almacén correcto, incluso al acceder al dominio de almacén correcto.
Herramienta de análisis de todo el sitio
- Los comerciantes ahora pueden acceder a la herramienta de análisis de todo el sitio según lo esperado. Anteriormente, los pares de claves dañados evitaban que algunos comerciantes accedieran a la herramienta.
Impuestos
- Adobe Commerce ahora calcula correctamente el subtotal del minicarrito cuando un cliente elimina un artículo después de seleccionar el envío a varias direcciones.
- Adobe Commerce ahora muestra la misma tasa de impuestos en todas las páginas de cierre de compra cuando el carro de compras contiene solo productos virtuales.
- Los precios de nivel para los productos configurables ahora muestran valores de impuestos incluidos y excluidos precisos en la tienda. Anteriormente, se mostraban los mismos valores para los impuestos incluidos y excluidos. GitHub-33673
Prueba
- Las pruebas WebAPI ahora son compatibles con PHP 8.1. GitHub-34653
- Las pruebas de integración son ahora compatibles con PHP 8.1. GitHub-34567, GitHub-34569
- Los comerciantes ahora pueden probar la experiencia del comprador en el país en el que se encuentra, en lugar de la ubicación del comerciante.
- Se ha reducido el consumo de memoria de prueba de integración, lo que mejora el rendimiento de la prueba y reduce el tiempo necesario para completarla.
- Se ha añadido una prueba para verificar el formato de atributo de fecha personalizado para tienda y administrador.
- Se corrigieron errores con
StorefrontPOWorkflowVerifyApprovalFlowTabTest
. GitHub-34378
- Las pruebas funcionales se han estabilizado para la compatibilidad con PHP 8.x. GitHub-34327, GitHub-34188
- Se han corregido problemas funcionales en las pruebas WebAPI. GitHub-34196
- Se corrigieron errores que dieron como resultado pruebas estáticas con falsos positivos. GitHub-34056
- Se ha actualizado la cobertura de pruebas para
call_user_func_array
. GitHub-34301
- El
Magento\GraphQl\CatalogGraphQl\ProductSearchTest
La prueba ya no genera este error cuando se ejecuta con el Elasticsearch de AWS:Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257
.
-
Se han corregido numerosas advertencias de prueba unitaria no crítica cambiando el nombre de todas las variables simuladas para incluir el
Mock
y quitando referencias a una clase obsoleta del Administrador de objetos. GitHub-33695 -
El
Magento\Framework\MessageQueue\TopologyTest
La prueba ahora es compatible con AWS MQ para RabbitMQ servicio. Anteriormente, esta prueba fallaba con este mensaje:Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal
.
- Las pruebas unitarias ahora son compatibles con PHP 8.1. GitHub-34441
Pruebas unitarias
Se han refactorizado las siguientes pruebas unitarias para usarlas PHPUnit
en lugar de AspectMock
:
AllureHelperTest
GitHub-33294
ObjectHandlerUtil
GitHub-33584
MockModuleResolverBuilder
GitHub-33583
MagentoTestCase
GitHub-33582
ModuleResolverTest
GitHub-33308
ParallelGroupSorterTest
GitHub-33306
SuiteGeneratorTest
GitHub-33299
OperationDataArrayResolverTest
GitHub-33296
Tema
- Los mensajes de notificación ahora se muestran correctamente cuando Adobe Commerce tiene una subruta configurada en su dirección URL base.
- Se ha añadido un
aria-label
a la plantilla de página de tienda para indicar la página a la que se desplazará el comprador al hacer clic en un vínculo. Anteriormente, se utilizaba el mismo texto de vínculo para los vínculos a páginas diferentes. GitHub-33075
- Adobe Commerce ya no muestra un mensaje de error al cargar la página principal de una tienda con una temática personalizada preexistente. Anteriormente, Adobe Commerce mostraba este mensaje:
The store will not work correctly in the case when cookies are disabled
.
Traducciones y configuraciones regionales
- El
UserExpiration
el validador ya no falla conde_DE
yuk_UA
Configuraciones regionales. Anteriormente, Adobe Commerce arrojaba un error cuando un administrador intentaba establecer una fecha de caducidad al crear un nuevo usuario desde el Administrador con configuraciones regionales establecidas ende_DE
ouk_UA
. GitHub-32497
- Los nombres de regiones suizas ahora se presentan de forma coherente en inglés en los formularios de creación o edición de direcciones. GitHub-32602
- Actualizado
zip_codes.xml
patrones para que Guernsey admita códigos postales GY10 para la Isla de Sark. GitHub-33144
- Añadió las regiones de Bielorrusia al
directory_country_region
tabla. GitHub-33924
- Se han resuelto las anomalías de visualización con tiendas que ejecutan las configuraciones regionales de Filipino (Filipinas). GitHub-33996
- Ahora puede introducir correctamente una fecha de nacimiento de cliente al crear una cuenta nueva en tiendas configuradas en una configuración regional portuguesa (Portugal). Anteriormente, Adobe Commerce generaba un error al intentar crear una cuenta. GitHub-34130
- La página de detalles del producto ahora se muestra correctamente con la configuración regional árabe (Arabia Saudí). Anteriormente, esta configuración regional rompía la página de detalles del producto.
IU
- Errores corregidos con pruebas MFTF que utilizan
maps.googleapis.com
.
- Adobe Commerce ahora recorta los caracteres de espacio de no separación del campo de entrada del correo electrónico del formulario Contáctenos. Anteriormente, el formulario se enviaba sin eliminar los caracteres de espacio de no separación de la entrada de correo electrónico (si se daban), lo que provocaba errores en los archivos de registro. El Responder a también faltaba el campo en el mensaje de correo electrónico de contacto generado al administrador de la tienda.
- Adobe Commerce ahora muestra productos relacionados, productos de mejora de ventas y productos de venta cruzada según sus puestos en el administrador.
.action-close
ahora funcionan según lo esperado cuandoMultiselect
se utiliza en un modal. Anteriormente, la variableaction-close
El botón no funcionaba porque heredaba el CSS del.action-close
del modal. GitHub-27240
- El fragmento enriquecido de Ofertas ahora está presente en el campo de precio principal de la vista Producto. Anteriormente, este fragmento faltaba en este campo en el bloque de productos relacionados en la vista de producto, lo que provocaba que los resultados de búsqueda de Google mostraran precios incorrectos. GitHub-34063
- Se han resuelto problemas con la altura modal en dispositivos que ejecutan iOS. GitHub-34467
- Los menús desplegables de Acciones ahora se colocan correctamente en toda la tienda. GitHub-31379
- Se han resuelto los errores de accesibilidad con la navegación en el carro de compras y las páginas de cierre de compra. GitHub-34483
- Los lectores de pantalla ahora pueden leer todos los elementos de formulario relevantes en las páginas de producto.
- Orden de clasificación de widget de producto del catálogo de tiendas (Catálogo > Categoría > Productos) ahora coincide con el orden configurado en el Administrador. GitHub-27126
- El selector de región ahora funciona según lo esperado en la página Crear una cuenta. GitHub-30099
- La cuadrícula de administración de clientes ahora muestra todos los datos de clientes, incluidos los recién añadidos
date
atributos personalizados, según lo esperado. Anteriormente, Adobe Commerce generaba un error y no mostraba correctamente la cuadrícula de cliente de administración cuando eldate
el conjunto de atributos se ha establecido como una columna.
- Etiquetas de entrada en Catálogo > Product La página de detalles de se ha cambiado para reflejar con precisión el propósito de la entrada. Los campos para los que no se requiere la entrada del usuario ya no muestran etiquetas con asterisco.
- Ahora se puede acceder a la barra de herramientas del editor de texto enriquecido mediante el tabulador.
- El nombre accesible del control ahora incluye el texto de su etiqueta visible para el número de elementos por página desplegable.
- Los controles de tabla de la Catálogo > Product la página de detalles ahora tiene etiquetas visibles y un nombre accesible cuando la tabla está contraída.
- Los botones de la tienda ahora tienen nombres descriptivos y únicos a los que se puede acceder. Anteriormente, los botones divididos con un botón de texto y un botón de flecha abajo adyacente tenían el mismo nombre accesible.
- Se ha añadido un Hoy Consulte la opción en los gráficos del panel de control Pedidos e Importes de Administración para proporcionar un resumen de las ventas y los pedidos a lo largo del día. GitHub-34008
- El estado activo (clic) de la selección múltiple Cerrar ahora funciona de forma coherente. GitHub-34338
- Adobe Commerce ya no muestra este mensaje después de la actualización cuando el modo de restricción de cookies está deshabilitado:
The store will not work correctly in the case when cookies are disabled
. GitHub-33811
- Las imágenes de producto en pantalla completa ahora se muestran correctamente en las temáticas con dirección de navegación de miniaturas verticales en dispositivos móviles. Anteriormente, las imágenes de producto se escalaban incorrectamente o eran invisibles en temáticas con dirección de navegación de miniaturas verticales en dispositivos móviles en modo de pantalla completa.
- Los mensajes de error en la página de detalles del producto ya no desaparecen rápidamente cuando Sincronización de productos de widget con almacenamiento back-end La opción de configuración está habilitada.
- La validación de valores negativos se ha agregado a Cantidad a devolver en el formulario Crear nueva devolución.
- Adobe Commerce ya no muestra direcciones duplicadas cuando un comprador hace clic en Cambiar dirección en la página Revisión y pagos de una implementación en la que se ha Búsqueda de direcciones La opción de configuración está habilitada.
- El Añadir productos ahora está habilitado, tal como se espera, para los administradores con permisos restringidos mientras trabajan en el ámbito de vista de tienda en la página Categoría de administración.
- Los puntos de interrupción de vista ahora son coherentes en Adobe Commerce.
- Adobe Commerce ahora muestra correctamente los atributos de fecha del cliente personalizados con configuraciones regionales personalizadas en la página del cliente de administración.
- Las imágenes agregadas mediante Page Builder ya no se duplican en la tienda cuando se muestran con una anchura de ventana del explorador de 768 píxeles. Anteriormente, con este ancho de ventana del explorador, Adobe Commerce duplicaba imágenes en la tienda mostrando tanto la versión móvil como la de escritorio de las imágenes.
Reescrituras de URL
- Las reescrituras de URL ya no se vuelven a generar para todas las vistas de tienda durante la creación de una nueva vista de tienda mientras se ejecuta
bin/magento setup:upgrade
. GitHub-32954
Visual Merchandiser
- Visual Merchandiser Agotar existencias hasta la parte inferior la opción de clasificación automática ahora funciona como se espera para los productos configurables cuando todos los productos simples están agotados.
- La regla de Visual Merchandiser ya no se guarda cuando no se han agregado condiciones.
Marco de API web
- Las solicitudes de API web para recursos de clientes autoautorizados ya no generan errores de autorización cuando se habilita el carro de compras persistente.
- Ahora puede crear objetos utilizando las clases secundarias de
\Magento\Framework\Api\AbstractSimpleObjectBuilder
en PHP 7.3. Anteriormente,preg_match
lanzó este mensaje de advertencia cuando Adobe Commerce estaba alojado en Redhat con PHP 7.3:Warning: preg_match(): Compilation failed: unrecognized character follows...
.
- Los totales recuperados por el
PUT /V1/guest-carts/:cartId/collect-totals
Las solicitudes de ahora se actualizan mediante elshippingMethod
. GitHub-18508
- Añadir un nuevo deserializador a la API de REST ya no elimina otros deserializadores. Anteriormente, la API de REST aceptaba un nuevo tipo de contenido, pero los tipos de contenido definidos por CORE para las API ya no funcionaban y devolvían un error 400. GitHub-26433
- Ahora puede quitar una anulación de un parámetro definido en un
webapi.xml
archivo. GitHub-33843
- Adobe Commerce ahora genera un
customertoken
por solicitudes de API de GraphQL o REST como se espera después de varios intentos de inicio de sesión consecutivos fallidos. Anteriormente, Adobe Commerce no comprobaba si el valor delock_expires_at
inoauth_token_request_log
era mayor que la fecha y hora actuales y siempre devolvía el número de intentos fallidos, lo que impedía que el cliente iniciara sesión. GitHub-34067
- Añadir un ID de presupuesto enmascarado a
QuoteRepository::getList
ya no provoca un bucle infinito. Anteriormente, el uso del procesador de pagos que dependía de la API de REST para actualizar pedidos activaba este comportamiento. GitHub-33675
- El
/rest/all/V1/categories/<above_created_category_id>
La llamada al PUT ahora respeta los valores especificados poravailable_sort_by
. Anteriormente, se seleccionaba la lista desplegable Ordenar por con todas las opciones posibles en la página Categoría y la variable Usar todo casilla de verificación seleccionada. GitHub-32596
- Se ha mejorado el rendimiento de las solicitudes de API de REST para crear tokens de cliente.
- Se ha corregido un error que se producía cuando Añadir código de tienda a las direcciones URL se establece en Sí y una llamada REST no incluía un código de tienda. Aunque la carga útil era válida, la llamada devolvió el siguiente error:
Fatal error: Allowed memory size of **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75
.
- Ahora se pueden crear facturas parciales para el mismo pedido simultáneamente mediante la API de REST.
Lista de deseos
- Adobe Commerce ya no muestra una lista de deseos en la barra lateral de categorías cuando el Mostrar en barra lateral la opción de lista de deseos está desactivada. Anteriormente, Adobe Commerce ignoraba esta opción.
WYSIWYG
- PageBuilder ahora procesa correctamente los widgets personalizados con el editor WYSIWYG.
Problemas conocidos
Problema: Los comerciantes pueden observar avisos de reducción de versión del paquete durante la actualización de Adobe Commerce 2.4.4 a Adobe Commerce 2.4.4-p1. Estos mensajes se pueden ignorar. La discrepancia en las versiones del paquete se debe a anomalías durante la generación del paquete. No se ha visto afectada ninguna funcionalidad del producto. Consulte la Paquetes degradados después de actualizar de 2.4.4 a 2.4.4-p1 Artículo de la Base de conocimiento para analizar los escenarios afectados y las soluciones alternativas.
Problema: los comerciantes no pueden enviar reembolsos parciales para pedidos pagados con Apple Pay a través del Braintree. Cuando un comerciante intenta crear una nota de abono para una devolución parcial de la factura de pedido, la Cantidad a reembolsar el campo no se puede editar. Solución: Aplicar parche braintree-disabled-partial-capture-for-applepay-googlepay.patch
. Consulte la Adobe Commerce 2.4.4: No se pueden crear facturas parciales Artículo de la Base de conocimiento.
Problema: los compradores no pueden añadir un producto al carro de compras cuando no se selecciona ninguna opción en Administración Almacenar > Configuración > General > Opciones de país > Permitir países. Adobe Commerce muestra este error de consola: Failed to load resource: the server responded with a status of 400 (Bad Request)
.
Problema: la descripción de Dotdigital en Buscar socios y extensiones > Magento Marketplace está obsoleto. Esta es una descripción actualizada:
Dotdigital es una plataforma de participación del cliente que ayuda a los especialistas en marketing digital y a los desarrolladores a ofrecer comunicaciones a través del recorrido del cliente. Aprovechamos el poder de los datos de los clientes, lo que potencia la participación, la conversión y la lealtad de las marcas a medida que crecen y se amplían. A los clientes les encanta nuestra plataforma fácil de usar que conecta datos de origen en todos los sistemas, sacando a la luz información valiosa y automatizando los mensajes predictivos multicanal.
Los más de 350 empleados de Dotdigital atienden a empresas medianas y empresariales de todo el mundo y de todas las industrias. Aspiramos a inspirar marketing responsable y estamos comprometidos con la sostenibilidad, la privacidad y la seguridad. Dotdigital se enorgullece de ser la primera plataforma de automatización de marketing neutra en carbono del mundo, certificada para ISO 14001, ISO 27701 e ISO 27001.
Consulte Dotdigital — Automatización de marketing para obtener información de compra y descarga.
Contribuciones comunitarias
Agradecemos a la comunidad Magento Open Source en general y quisiéramos agradecer sus aportaciones a esta versión.
El equipo de ingeniería de la comunidad Colaboradores Magento mantiene una lista de las personas y socios que más contribuyen por mes, trimestre y año. Desde esa página de colaboradores, puede seguir los vínculos a sus PR fusionadas en GitHub.
Contribuciones de socios
En el cuadro siguiente se destacan las contribuciones de los asociados. Esta tabla enumera el socio que contribuyó con la solicitud de extracción, el número de solicitud de extracción externa y el número de problema de GitHub asociado a ella (si está disponible).
Contribuciones de colaborador individual
La siguiente tabla identifica las contribuciones de los miembros de nuestra comunidad. Esta tabla enumera el miembro de la comunidad que contribuyó con la solicitud de extracción, el número de solicitud de extracción externa y el número de problema de GitHub asociado a ella (si está disponible).
Requisitos del sistema
Nuestra pila de tecnología está construida sobre PHP y MySQL. Para obtener más información, consulte Requisitos del sistema.
Instrucciones de instalación y actualización
Puede instalar Adobe Commerce 2.4.4 mediante Compositor.
Kits de herramientas de migración
La herramienta de migración de datos ayuda a transferir los datos del almacén de Magento 1.x existente al Magento 2.x. Esta interfaz de línea de comandos incluye funciones de verificación, seguimiento de progreso, registro y prueba. Para obtener instrucciones de instalación, consulte Instalación de la herramienta de migración de datos. Considere la posibilidad de explorar o contribuir al Repositorio de migración de datos.
El Code Migration Toolkit ayuda a transferir las extensiones y personalizaciones de almacén de Magento 1.x existentes a Magento 2.x. La interfaz de línea de comandos incluye secuencias de comandos para convertir módulos y diseños de Magento 1.x.