Elementos destacados de Magento Open Source 2.4.5
Busque los siguientes aspectos destacados en esta versión.
Mejoras de seguridad
Esta versión incluye 20 correcciones de seguridad y mejoras de seguridad de la plataforma. Esta corrección de seguridad se ha trasladado a Magento Open Source 2.4.4-p1 y Magento Open Source 2.3.7-p4.
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 de Adobe para conocer las últimas novedades sobre 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:
-
La compatibilidad con reCAPTCHA se ha agregado a los formularios de Lista de deseos compartida, Crear nueva cuenta de cliente y Tarjeta de regalo.
-
Se han agregado recursos ACL al inventario.
-
Se ha mejorado la seguridad de la plantilla de inventario.
-
El filtro
MaliciousCode
se ha actualizado para utilizar la bibliotecaHtmlPurifier
.
Mejoras de Platform
Ahora, Magento Open Source 2.4.5 es compatible con
-
Compositor 2.2
-
TinyMCE (5.10.2). Las versiones anteriores de TinyMCE (v5.9.2 o anteriores) permitían la ejecución arbitraria de JavaScript cuando se actualizaba una URL especialmente diseñada o una imagen con una URL especialmente diseñada.
-
jQueryUI (1.13.1)
-
PHPStan
(^1.5.7 con restricción) GitHub-35315
El esquema de integración de DHL se ha actualizado de la versión 6.0 a la versión 6.2. Esta actualización no producirá un cambio en el comportamiento del producto.
Los bibliotecas de JavaScript obsoletos se han actualizado a sus últimas versiones y se han eliminado dependencias obsoletas. Estos cambios son compatibles con versiones anteriores.
Actualizaciones de dependencias del Compositor
Las siguientes dependencias del Compositor se han actualizado a las versiones más recientes con restricciones:
colinmollenhour/credis
(1.13.0)guzzlehttp/guzzle
(^7.4.2)laminas/laminas-captcha
(actualizado con una restricción ^2.12)laminas/laminas-db
(^2.15.0)laminas/laminas-di
(^3.7.0)laminas/laminas-escaper
(~2.10.0)laminas/laminas-eventmanager
(^3.5.0)laminas/laminas-feed
(^2.17.0)laminas/laminas-mail
(^2.16.0)laminas/laminas-mvc
(^3.3.3)laminas/laminas-server
(^2.11.1)laminas/laminas-servicemanager
(^3.11.0)laminas/laminas-validator
(^2.17.0)league/fly
(2.4.3)monolog/monolog
(^2.5)phpmd/phpmd
(^2.12.0)phpstan/phpstan
(^1.5.7)phpunit/phpunit
(~9.5.20)php-cs-fixer
(^3.4.0)webonyx/graphql-php
(14.11.6)
Se han quitado las dependencias laminas/laminas-session
, laminas/laminas-text
y laminas/laminas-view
.
Otras actualizaciones y reemplazos
-
El esquema de integración de DHL se ha actualizado de la versión 6.0 a la versión 6.2.
-
La dirección URL de puerta de enlace predeterminada para el envío de USPS se ha actualizado para que utilice
https
en lugar dehttp
. -
La biblioteca
Froogaloop
se ha reemplazado con la bibliotecaPlayer.js
de Vimeo (2.16.4). -
La biblioteca
grunt-eslint
(NPM) se ha actualizado a la última versión. -
Las
jQuery Storage
bibliotecas se han sustituido porjulien-maurel/js-storage
. -
Las herramientas de análisis de código estático
php-cs-fixer
yphpcs
ahora son compatibles con PHP 8.x. -
Dependencia
glob.js
(actualizada con restricción a ~7.2.0) -
Dependencia
serve-static.js
(actualizada con restricción ~1.14.2) -
Dependencia
underscore.js
(NPM) (1.14.2) -
moment-timezone-with-data.js
(0.5.34) -
La biblioteca
jquery/jquery-cookie
se ha reemplazado conjs-cookie/js-cookie
. -
Las bibliotecas
jarallax.js
yjaralax-video.js
se han actualizado para utilizar la última versión de la API de REST de Vimeo.
Actualizaciones de accesibilidad
El enfoque de esta versión ha sido crear una experiencia de tienda en Venia (PWA) que sea más perceptible, operable, comprensible y robusta. Estas mejoras incluyen:
- La información de resumen de los resultados de búsqueda ahora se anuncia a los usuarios del lector de pantalla
- Ahora se informa a los lectores de pantalla cuando se carga una nueva vista de página
- Se ha mejorado la accesibilidad Contraste y del teclado
Google Analytics
Google ha actualizado los mecanismos de seguimiento e integración de AdWords y Analytics en aplicaciones web mediante la integración con GTag. Esta integración de la funcionalidad de Google en las páginas del sitio web amplía las oportunidades de seguimiento y administración de contenido a través de los servicios de Google. Adobe Commerce tiene un conjunto de módulos integrados que incluyen Google AdWords, Analytics, Optimizer y TagManager que aprovechan la API anterior para integrarse con los servicios de Google. En esta versión, hemos vuelto a implementar esta integración con el enfoque GTag Ver Migrar de analytics.js a gtag.js (Universal Analytics).
GraphQL
Las mejoras de rendimiento de GraphQL incluyen:
-
Los desarrolladores y administradores experimentan una reconstrucción más rápida del esquema de GraphQL de tienda unificada en la implementación o al cambiar atributos en la producción. Los compradores también experimentan velocidades de carga de página significativamente más rápidas cuando, por cualquier razón, se debe reconstruir el esquema de GraphQL.
-
Se ha agregado la capacidad de consumir la fecha y hora de caducidad del token de autorización mediante el uso de tokens web JSON (JWT) en la API de GraphQL.
-
El comando
bin/magento config:set graphql/session/disable 1
permite a los comerciantes deshabilitar por completo la creación de cookies de sesión para todas las operaciones de GraphQL. De forma predeterminada, la aplicación Open Source crea estas cookies y se basa en ellas para la autorización, lo que afecta al rendimiento. En adelante, recomendamos el uso de tokens de como única forma de autorización para las solicitudes de GraphQL. No se recomienda el uso de cookies de sesión solas o junto con tokens de autorización. Ver Autorización de GraphQL. -
Las cookies de sesión ahora se inician en operaciones de GraphQL utilizando proxies de clase solo cuando es necesario.
-
Se ha eliminado el uso de la sesión de
http
procesadores de encabezado en GraphQL, como tienda, cliente o divisa.
Consulte la Guía para desarrolladores de GraphQL para obtener más información sobre estas mejoras.
Inventario
Se ha mejorado la seguridad de la plantilla de inventario.
Page Builder
Page Builder v.1.7.2 es compatible con Magento Open Source 2.4.5.
El diseño de columna de Page Builder incluye estas mejoras:
-
Ahora se exponen las columnas, lo que permite a los usuarios controlar la configuración de las columnas de la tienda.
-
El cambio de tamaño de columna ahora admite el ajuste activado por las acciones del usuario.
Pagos
Apple Pay ya está disponible para todos los comerciantes que realicen implementaciones con Servicios de pago habilitados. Este método de pago no requiere que los compradores introduzcan los datos de su tarjeta de crédito o débito. Apple Pay está disponible en la página de detalles del producto, en el minicarrito, en el carro de compras y en el flujo de trabajo de cierre de compra. Los comerciantes pueden activar esta función.
PayPal
-
Los comerciantes en España e Italia ahora pueden ofrecer PayPal Pay later a los compradores.
-
Las vistas previas de los botones PayPal, Crédito y Pagar más tarde ahora están disponibles en la Admin para las páginas de pago, minicart, carro de compras y productos. Las vistas previas muestran el aspecto que tendrán estos botones cuando se activen y procesen en la tienda.
Braintree
-
Braintree ha interrumpido la integración de protección contra fraudes KOUNT. Se ha eliminado de la base de código de Magento Open Source.
-
La opción Solicitar siempre 3DS se ha agregado al administrador.
PWA Studio
PWA Studio v.12.5.x es compatible con Magento Open Source 2.4.5.
Las nuevas funciones de esta versión incluyen:
-
Los datos de comportamiento del comprador se recopilan en la tienda de PWA Studio para servicios de análisis web. Los comerciantes ahora pueden suscribirse y ampliar estos eventos según sea necesario.
-
Los comerciantes ahora pueden seleccionar un servicio para implementarlo desde el administrador (Google Tag Manager).
Para obtener información acerca de mejoras y correcciones de errores, consulte Versiones de PWA Studio. Consulte Compatibilidad de versiones para obtener una lista de versiones de PWA Studio y sus versiones principales de Magento Open Source compatibles.
Problemas solucionados
Hemos corregido cientos de problemas en el código principal de Magento Open Source 2.4.5.
Instalación, actualización e implementación
- Ahora puede cambiar el nombre de un parche de datos y agregar el nombre de clase anterior como un alias en la tabla de base de datos
patch_list
. Magento Open Source ahora comprueba si ya existían alias de parches de datos en la base de datos antes de aplicar el parche. Anteriormente, la aplicación Abrir Source arrojaba un error en estas condiciones.
- Magento Open Source ya no genera una excepción cuando intenta cambiar la URL del administrador a una URL personalizada desde el administrador. Anteriormente, después de cambiar la URL de administración, no se podía iniciar sesión. GitHub-35416
- Los comerciantes ahora pueden actualizar correctamente desde una implementación de Magento Open Source 2.4.2 con Klarna a Magento Open Source 2.4.3. GitHub-33760
- La ruta de acceso a Magento Open Source Analytics ya no está codificada. Anteriormente, esta ruta codificada producía conflictos cuando se instalaban varias instancias Magento Open Source en un servidor. GitHub-29373
Accesibilidad
- El botón Bolsa de compras ahora proporciona una indicación programática o textual de su estado. Se informa a los usuarios del lector de pantalla de que al hacer clic en este botón se expandirá otro contenido, o de que el contenido asociado se expande o contrae. Anteriormente, este botón no proporcionaba una indicación programática o textual de su estado.
- Los elementos de texto de opciones de tarjetas de crédito de información de pago o las imágenes de texto ahora cumplen la relación de contraste de color mínima requerida por WCAG 2.0 de 4.5:1 para texto estándar de 18 pt (24 px) o 14 pt (19 px) si está en negrita. Anteriormente, no cumplían la relación de contraste esperada.
- Libreta de direcciones > Comunicación > Información de la cuenta Los indicadores de enfoque personalizados ahora proporcionan una relación de contraste de al menos 3:1 con respecto al color de fondo.
- El texto de botón Filter y Sort cumple ahora la relación de contraste de color mínima requerida para WCAG 2.0 de 4.5:1 para texto estándar de 18 pt (24 px) o 14 pt (19 px) si está en negrita. Anteriormente, los botones de navegación para carruseles no cumplían estos requisitos mínimos de contraste.
- Los lectores de pantalla anuncian la palabra "Venia" solo una vez al navegar a los encabezados y pies de página de Venia. Anteriormente, la misma palabra se anunciaba dos veces consecutivas.
- Los botones en los que aparecen listas desplegables de déclencheur ahora proporcionan información a los lectores de pantalla que indican su estado expandido o contraído y los nombres accesibles.
- Se informa a los usuarios del lector de pantalla cuando se procesa una nueva vista de página. Anteriormente, cuando se cambiaba el título de una página, no se anunciaba.
Adobe Stock
- Los usuarios ahora pueden cerrar la sesión de Adobe Stock correctamente.
Paquete de productos
- Ahora puede usar el punto de conexión
PUT /V1/products
para actualizar los atributos de precios de productos de un sitio web específico. Anteriormente, si algunos atributos de producto se anulaban para una vista de tienda específica, no se podía actualizar un atributo de precio para ese producto en esa misma vista de tienda.
- Magento Open Source ahora calcula correctamente el total del carro de compras de un producto agrupado cuando se aplica la regla de subselección de productos.
Caché
- Ya no se muestra la caché de la página completa como deshabilitada en el Administrador cuando se vacía la caché de Magento Open Source y se habilita
use_stale_cache
.
- Los marcadores de implementación de New Relic ahora funcionan como se espera cuando se vacía la caché. GitHub-32649
Carro y cierre de compra
- La ventana emergente de búsqueda de direcciones en el paso de facturación del flujo de trabajo de cierre de compra ya no provoca errores DOM.
- La mutación
addProductsToCart
ahora funciona correctamente con varios productos. Anteriormente, esta consulta devolvía el primer producto con un subtotal preciso, pero devolvía un subtotal de 0 para otros productos.
- Las excepciones de permisos ahora se gestionan para productos restringidos añadidos por SKU. Ahora se envía un mensaje adecuado a los compradores en la tienda y el campo de cantidad de la tabla de errores está desactivado. Anteriormente, applicationOpen Source arrojaba una excepción como esta:
There has been an error processing your request
.
- La consulta SQL que actualiza las ofertas afectadas después de deshabilitar una regla de precios del carro de compras se ha optimizado para evitar bloquear toda la tabla de ofertas.
- Ya no es necesario que los compradores con uso compartido de cuentas globales inicien sesión de nuevo en un sitio web secundario en una implementación de varios sitios cuando se desactiva el cierre de compra de invitados. Los datos del cliente ahora se cargan cuando el comprador navega al subdominio. Ya no se pide al comprador que vuelva a iniciar sesión y se muestra el contenido del carro de compras anterior.
- Los valores desplegables de dirección en el flujo de trabajo de pago ya no cambian para los elementos restantes de una cita cuando se elimina un solo elemento de dirección cantidad en un cierre de compra de varias direcciones. Anteriormente, cuando se eliminaba un producto de una cotización durante el cierre de compra con varias direcciones, el valor desplegable de la dirección cambiaba al valor predeterminado para todos los productos.
- La consulta
cart
ya no devuelve respuestas nulas cuando un producto está agotado. Se introdujo un nuevo elementoerrors
que contiene el mensaje de error a la respuesta. Anteriormente, cuando se ejecutaba una consulta con un producto agotado, la aplicación Abrir Source mostraba un valornull
en la secciónitems
de la respuesta. Ver consulta de carro.
- Los métodos de envío ahora están disponibles según lo esperado cuando un comprador invitado crea una cuenta después de agregar un producto al carro de compras antes de continuar con el cierre de compra. Anteriormente, cuando un invitado agregaba un producto al carro de compras antes de crear una cuenta, no había métodos de envío disponibles durante el cierre de compra. Después de agregar otros productos al carro de compras, los métodos de envío quedaron disponibles.
- Los compradores ahora pueden agregar productos a sus carros cuando no se ha seleccionado ninguna opción en el campo Permitir países.
- El contenido del carro de compras y el estado de inicio de sesión ahora se recargan como se espera después de que una sesión se agote cuando Habilitar persistencia se establece en Sí. GitHub-35182
- Los subtotales de minicarrito ahora se actualizan correctamente cuando un comprador navega de la página de envío a la página del carro de compras en el flujo de trabajo de cierre de compra de un pedido con varias direcciones de envío. Anteriormente, el subtotal se duplicaba.
- El minicarrito ahora muestra los productos agregados anteriormente después de un tiempo de espera de sesión cuando Habilitar persistencia está habilitado GitHub-35183
- Los comerciantes ahora pueden crear una nota de crédito en la que Reembolsar envío (incl. Impuesto) se ha establecido en -0.01 y ahora puede establecer esta cantidad en 0. Anteriormente, la nota de crédito no se podía crear en estas condiciones.
Regla de precio del carro
- El ámbito de atributo
Parent Only
ahora se utiliza correctamente en la condición Regla de carro de compras.
Catálogo
- Las claves de URL del producto ahora permanecen inalteradas al actualizar el nombre del producto mediante
PUT /V1/products/
para una vista de tienda. Anteriormente, se generaba una nueva clave URL basada en el nuevo nombre de producto y asignada al producto, que sobrescribía la clave URL en esa vista de tienda.
- Añadir un producto a una categoría desde el conjunto de widgets de producto Page Builder al modo de carrusel ya no supone un déclencheur para la recarga de una página.
- Los productos configurados en No visible individualmente ya no aparecen en los resultados de búsqueda avanzada del catálogo.
- Los atributos del paquete dinámico ahora se actualizan correctamente en la página Actualización masiva de atributos. Anteriormente, el atributo Dynamic SKU permanecía establecido en Yes aunque estaba deshabilitado en la página de actualización masiva.
- Las reglas de catálogo ahora se aplican correctamente utilizando indexadores incrementales en lugar de un reindexado completo.
- Ahora puede cambiar correctamente entre las vistas de lista y de cuadrícula de las listas de productos de varias páginas. Anteriormente, cuando se navegaba a la última página de una vista de lista de productos de varias páginas antes de cambiar a la vista de cuadrícula, la aplicación Abrir Source mostraba este error:
Unfortunately there are no products in this category on our website currently
.
- Los informes del registro de acciones de administración ahora muestran el ID de producto actualizado y la información de estado actualizada según lo esperado.
- Los déclencheur ahora se restauran según lo esperado en la tabla
catalogrule_product_price
después de un reindexado completo. Anteriormente, los déclencheur se eliminaban de la tablacatalogrule_product_price
después de un reíndice completo decatalogrule_rule
ocatalogrule_product
.
- Las reglas de categoría que se usan para asignar productos a categorías ya no cambian aleatoriamente.
- Un administrador con acceso restringido al ámbito ya no puede actualizar globalmente las categorías. Anteriormente, cuando varios sitios web usaban la misma categoría pero productos diferentes, y un administrador con permiso restringido a un almacén cambiaba los productos en la categoría, la selección de productos también cambiaba para otras tiendas.
- El Página de detalles del producto ahora muestra el precio correcto cuando se utiliza una moneda no predeterminada para una configuración regional especificada. Anteriormente, los números no se localizaban como se esperaba en el escaparate.
- El mismo mensaje de error ahora se muestra en la API y en el escaparate cuando se intenta recuperar los precios de nivel de un producto con registros duplicado. Anteriormente,
PUT /V1/products/tier-prices
devolvió un mensaje de error incorrecto.
- Magento Open Source ahora proporciona mensajes de error de validación cuando intenta agregar una clave de URL de producto con un guion final. También hay disponible información sobre herramientas.
- El nuevo campo
ConfigurableWishlistItem.configured_variant
ha reemplazado el campoConfigurableWishlistItem.child_sku
. Este último campo activó un error interno cuando una lista de deseos del cliente contenía un producto configurable no configurado.
- Ahora, las reescrituras de URL solo se generan para las tiendas seleccionadas durante la actualización masiva de atributos para cambiar la visibilidad del producto. Anteriormente, la actualización masiva de atributos creaba una reescritura de URL para el almacén incorrecto.
- Cuando la configuración
Synchronize widget products with backend storage
está habilitada, la aplicación Abrir Source agrega datos de productos de vista reciente a la tabla de base de datoscatalog_product_frontend_action
. Incluye el ID de cliente o visitante al añadir registros. La secciónrecently_viewed_product
de la respuesta está ahora vacía si el ID de cliente y el ID de visitante son nulos. Como resultado, cuando se envía la solicitud Ajaxcustomer/section/load
, la aplicación Abrir Source puede filtrar correctamente los productos vistos recientemente en función del ID de cliente o visitante. Anteriormente, la respuesta incluía todos los datos disponibles en la tabla de la base de datoscatalog_product_frontend_action
porque no se comprobó si había un ID de visitante o cliente vacío.
- Los administradores ahora pueden cambiar las opciones de productos configurables en un carro de compras desde el panel de diapositivas Administrador. Anteriormente, el panel de diapositivas no funcionaba correctamente.
- La caché de página ahora se borra según lo esperado para el producto principal configurable cuando se guardan los cambios en un producto secundario. Anteriormente, como no se borraba la caché, no se seleccionaban los cambios en la página de producto de la configuración de la tienda. GitHub-34508
- Las listas de productos ahora se representan correctamente en el Administrador. Anteriormente, la lista de productos no se representaba y Magento Open Source mostraba este error:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
. GitHub-33145
- Los precios de los productos ahora son los mismos en la página de detalles del producto y en la búsqueda de tiendas en implementaciones de varias tiendas después de que el ámbito del precio del catálogo cambie de sitio web a global. Anteriormente, la página Resultados de la búsqueda en el catálogo mostraba el precio global y la página de detalles del producto mostraba el precio de sitio web. GitHub-34074
- La navegación por capas ahora muestra los productos con los precios más altos como se esperaba cuando el Cálculo del paso de navegación de precios se establece en Manual.
- Ahora puede cambiar el límite de productos por página que se muestra dentro de una categoría cuando Recordar paginación de categorías está habilitado. Anteriormente, la cookie
form_key
y la interfaz de usuarioform_key
diferían y Magento Open Source mostraba este error:Invalid Form Key. Please refresh the page
.
- El indizador EAV ahora procesa los ID de producto como tipo
int
para evitar posibles problemas de rendimiento.
- Ahora se genera correctamente una nueva caché de productos después de agregar una nueva imagen con un nombre que contiene '.' a un producto y, a continuación, guarde el producto y limpie la caché de imágenes. GitHub-32699
-
Magento Open Source ahora muestra un mensaje de error como se espera cuando intenta crear un atributo desde la página del producto sin completar el campo Admin. GitHub-33099
-
Las clasificaciones de productos ahora son correctas en todas las listas de productos del catálogo cuando la página de inicio contiene varias listas de catálogo. GitHub-33867
Productos configurables
- Magento Open Source ahora muestra el precio de producto correcto para un producto configurable con una opción seleccionada después de cambiar su cantidad en la página de detalles del producto. Anteriormente, el precio se restablecía al valor inicial después de que cambiara la cantidad.
- La consulta
products
ahora recupera precios para productos configurables que reflejan con precisión la configuración de Mostrar sin existencias. Anteriormente, la consulta no devolvía precios exactos.
- Las opciones configurables ahora están vinculadas a productos configurables que se crean en la administración mediante
POST /V1/configurable-products/configurable1/child
.
- Los atributos de selección múltiple ahora se guardan correctamente durante la edición del producto. Anteriormente, la Origen applicationOpen guardaba la opción predeterminada para los atributos no seleccionados, así como los atributos seleccionados al guardar un producto.
- Magento Open Source ahora muestra los atributos configurables tal como se espera durante la creación de los atributos globales
select
mediante un script de parche. Anteriormente, los atributos globales aptos estaban ocultos.
-
La mutación
addConfigurableProductsToCart
ahora se puede usar para agregar productos configurables con opciones personalizadas. Anteriormente, applicationOpen Source arrojó este error:Magento 2.3.4 graphql Notice: Undefined index: option_value in /var/www/html/mg234/vendor/magento/module-configurable-product-graph-ql/Model/Resolver/ConfigurableCartItemOptions.php on line 62
. GitHub-28860 -
Ahora puede reordenar los productos configurables con opciones personalizadas opcionales. Anteriormente, los intentos de reorganización fallaban y significaban que se mostraba este error:
Some of the selected options are not currently available
. GitHub-35409
- La mutación
addConfigurableProductsToCart
ahora funciona como se espera con varios productos. Anteriormente, se devolvía información de producto incorrecta o se devolvía un mensaje de error no válido. GitHub-30948
Cliente
- Magento Open Source ahora muestra correctamente los atributos predefinidos del sistema EAV según la configuración del sitio web en la tienda. Anteriormente, los atributos de cliente de nivel de sitio web habilitados para un sitio web y deshabilitados para otro se mostraban como habilitados para ambos.
Descargable
- Ahora puede quitar vínculos y archivos de ejemplo de un producto descargable. GitHub-31887
Correo electrónico
- Los correos electrónicos emitidos por el sistema ahora se envían correctamente a los destinatarios con ".-" en su correo electrónico.
- Los clientes ahora reciben recordatorios por correo electrónico sobre sus carros de compras abandonados en el horario correcto. La nueva función SQL
TIMESTAMPDIFF(DAY, ,)
ha reemplazado la funciónTO_DAYS()
y calcula la diferencia en las marcas de tiempo basándose en la fecha y la hora. Anteriormente, los recordatorios de correo electrónico no se enviaban por programación debido al cálculo incorrecto de dos valores de fecha y hora de abandono del carro de compras (cualquier zona horaria) y hora del servidor (UTC).
- Magento Open Source ahora muestra un mensaje de error en la página de envío cuando un comprador introduce un formato de correo electrónico no válido después de que haga clic en Realizar pedido. Anteriormente, el mensaje de error se mostraba en la página Pago. [GitHub-33590](https://github.com/magento/magento2/issues/33590
Marcos
- El comando
bin/magento setup:config:set
ya no invalida los prefijos de identificador de caché ya establecidos enapp/etc/env.php
.
- El comando
bin/magento setup:static-content:deploy -s compact
ahora incluye estilos de temas secundarios según lo esperado. Anteriormente, los archivos CSS de temas no estaban presentes en la tienda después de la implementación.
- Se ha agregado un nuevo fragmento para comprobar si se utilizan barras oblicuas de cierre en
void
elementos.
- Magento Open Source ya no genera un error SQL después de asignar un nuevo origen a un producto y cambiar su cantidad. GitHub-35262
- El criterio de ordenación de atributos ahora funciona como se especifica en el archivo
di.xml
después de la actualización.
- La función
updateCartCurrency
ahora establece una cadena en lugar de un objeto dentro del objeto de carro de compras. Anteriormente, applicationOpen Source no cargaba un presupuesto congetQuote
porque la funciónupdateCartCurrency
establecía un objeto en lugar de una cadena dentro del objeto de carro de compras. GitHub-34199
- Los avisos de desaprobación ya no se producen en las pruebas unitarias debido a
\DateTimeFormatter::formatObject()
. Este método ahora funciona como se espera con numérica valores para$format
.
- Magento Open Source ya no muestra un error
preg_replace()
en el administrador. El tercer argumento ($subject
) es ahora del tipoarray|string
en lugar debool
.
- El método
isFreeShipping
devuelve ahora un entero en lugar de un booleano.GitHub-35164
- Magento Open Source ya no genera el siguiente error cuando crea un complemento para cualquier método de la clase
vendor/magento/module-backend/Model/Menu.php
:Error: Call to undefined method ReflectionUnionType::getName()
. GitHub-35292
- Magento Open Source ahora devuelve un error 404 en lugar de un error 500 al navegar a
/checkout/sidebar/updateItemQty/?item_qty=error
en la tienda. Anteriormente, se generó este error:Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69
. GitHub-34380
- Magento Open Source ya no almacena en déclencheur un error
trim(): Passing null to parameter #1 ($string) of type string is deprecated
cuando la conexión AMPQ se configura sin la configuración SSL.
- Corrigió la definición de base de datos
longblog
enlong blob
. GitHub-35108
- El texto de cobertura que contiene comillas simples ahora se puede traducir. GitHub-34319
- Se ha corregido un(a)
TypeError
enmagento2/app/code/Magento/Security/Model/AdminSessionsManager.php
deint
astring
. GitHub-34415
.htpasswd
se ha agregado a ubicaciones prohibidas en el archivo de configuración denginx
. GitHub-35150
- Se ha mejorado el tiempo de carga de las páginas de lista de productos de categoría al agregar
Magento_Ui/js/core/app
comodeps
aapp/code/Magento/Ui/view/frontend/requirejs-config.js
. GitHub-34847
- El método
ProductRepository.php:get
ahora devuelve claves de caché una vez. Anteriormente, se devolvían dos veces. GitHub-34958
- Se ha agregado un mensaje de error a una nueva excepción que se creó en el controlador de excepciones para trabajos cron. GitHub-34941
- Se han actualizado los archivos Léame de los módulos
GraphQl-GroupedProductGraphQl
. GitHub-34951
- Las páginas de pedido de impresión/factura/nota de abono de la tienda ya no muestran el logotipo predeterminado de Luma en lugar del logotipo que se ha especificado para su visualización en el sitio web. GitHub-34942
Correcciones generales
- Si establece el tamaño máximo de la sesión en 0 (Administración Almacén > Configuración > Configuración - Avanzada), ya no cerrará la sesión del administrador. GitHub-35312
- Los ajustes de configuración de los atributos de dirección del cliente ahora se cargan correctamente en función del sitio web al que se asigna el cliente cuando se añade una nueva dirección de cliente del administrador asignada a un sitio web no predeterminado.
- Magento Open Source ya no emite una excepción cuando se añade un producto agrupado a través de Page Builder.
- Ahora puede crear una cuenta de cliente en un dispositivo iOS con el apóstrofo inclinado (') en el nombre, el segundo o los apellidos. Anteriormente, solo se permitía el apóstrofo recto y, si se utilizaba el apóstrofo inclinado predeterminado de iOS 11+, se producía un error de
Name is not valid!
.
- Ahora, la
products
consulta devuelve información del producto que refleja con precisión la configuración de "Mostrar productos relacionados". Losrelated_products
campos ,upsell_products
, ycrosssell_products
GraphQL ProductInterface ahora se resuelven de acuerdo con Mostrar configuración de Productos relacionados, Productos de ventas adicionales de Mostrar y Mostrar Productos de venta cruzada, respectivamente.
- El atributo Establecer producto como Nuevo Desde fecha ahora muestra la fecha correcta cuando el atributo Establecer producto como Nuevo se configura a través de una actualización masiva masiva del producto. Anteriormente, Set Product as Nuevo From Date se mostraba como Jan 1, 1970.
- A los usuarios con funciones restringidas ya no se les concede acceso automáticamente a los nuevos módulos.
- Las condiciones de las reglas de productos relacionadas ahora funcionan según lo esperado con los productos que contienen
multiselect
atributos.
- Los comerciantes ahora pueden agregar un atributo de precio de nivel (
tier_price
) a las comparaciones de productos. Anteriormente, la página de comparaciones de productos se bloqueaba cuando se habilitaba la configuración Comparable en tienda para este atributo. GitHub-35244
- Magento Open Source ahora muestra un mensaje de error cuando establece un dominio de cookie no válido (Almacenar > Configuraciones > Web > Configuración de cookie predeterminada Dominio de cookie). Anteriormente, el sitio web se bloqueaba. GitHub-35048
- Magento Open Source ya no genera un error cuando un administrador con funciones asignadas a un solo sitio web agrega un producto a Elementos de contenido mediante PageBuilder. Anteriormente, applicationOpen Source arrojaba un error SQL.
- La validación se ha agregado a la segunda línea de la dirección en las páginas Editar y agregar dirección. Ahora se aplican las longitudes de texto mínimas y máximas especificadas en la segunda.
- Magento Open Source ya no genera el siguiente error durante la creación de una regla de catálogo en el administrador después de la actualización:
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
.
- Magento Open Source ya no genera un error cuando activa la casilla de verificación Marcar aquí para vincular una fuente RSS a su Lista de deseos antes de hacer clic en Compartir lista de deseos. GitHub-34998
- El título de la casilla de verificación Mostrar contraseña (Inicio de sesión del cliente, Registro de cliente, Edición del cliente (sección Cambiar contraseña) y Formularios de nueva contraseña definidos por el cliente) ahora se puede traducir. GitHub-34857
- Se han actualizado las etiquetas y las descripciones de los comentarios en
app/code/Magento/NewRelicReporting/etc/adminhtml/system.xml
. GitHub-31947
- Se han eliminado los archivos innecesarios
csp_whitelist.xml
. GitHub-30607
GraphQL
- Se ha agregado un atributo
price_range
que falta al tipoBundleItemOption
de GraphQL. GitHub-35010
- La consulta
products
ya no devuelve atributos como una agregación cuando la opción de navegación por capas Usar en resultados de búsqueda está deshabilitada. GitHub-33318
- Se ha agregado un campo
price_including_tax
aCartItemPrices
. GitHub-29057
- El
new_from_data
ynew_to_datefields
inProductInterface
ya no se consideran obsoletos. GitHub-34783
- La consulta
categories
ya no genera una excepción al recuperar una lista de categorías, una de las cuales contiene una imagen que no se puede encontrar en el sistema de archivos. Anteriormente, applicationOpen Source arrojó esta excepción:Category image not found
. GitHub-34266
- La consulta
products
ahora devuelvecategory_uid
como una agregación según lo esperado. GitHub-32557
- La mutación
updateCartItems
ahora elimina los productos como se esperaba cuando el stock de productos ha alcanzado la cantidad máxima de stock. GitHub-30220
- Ahora, el
urlResolver
consulta resuelve correctamente el delimitador de ruta (/) cuando varias páginas principales tienen el mismo identificador. Anteriormente, la consulta no resolvía el delimitador y devolvía nulo. GitHub-33615
customer
consultas ahora recuperan las opciones de selección múltiple de productos del paquete como se espera al consultar pedidos. GitHub-34717
- Las sesiones de Magento Open Source ya no finalizan después de realizar una solicitud de GraphQL. Anteriormente, el complemento
ClearCustomerSessionAfterRequest
cerraba la sesión del comprador. GitHub-34550
- El rango de precios de productos configurables en
products
respuestas de consulta ahora se calcula correctamente cuando el ajuste de configuración Mostrar productos sin existencias está habilitado. Anteriormente, las opciones desactivadas se tenían en cuenta en el cálculo del precio mínimo y máximo.
- La consulta
products
ahora devuelve varias categorías correctamente filtradas al ordenar por posición.
setShippingAddressesOnCart
solicitudes ahora validan correctamente los ID de región. Anteriormente, la Source applicationOpen arrojaba un error cuando se utilizaba el ID de región en lugar del código de región.
products
consultas ahora devuelven solamente las categorías asociadas con el almacén pasado en la solicitud.
- La consulta
categoryList
devuelve ahora resultados que reflejan la categoría raíz del almacén consultado cuando el almacén se especifica en el encabezado. Anteriormente, las categorías de la categoría raíz predeterminada se incluían en los resultados aunque se especificara otro almacén en el encabezado.
- La consulta
products
ya no devuelve atributos como una agregación cuando la opción Usar en la navegación por capas de los resultados de búsqueda está deshabilitada. GitHub-33318
- La consulta
cart
ahora devuelve solamente un método de pago para los pedidos gratuitos. Anteriormente, todos los métodos de pago activos se devolvían en la respuesta de consulta. GitHub-34036
products
consultas ya no devuelveprice_range
valores para productos configurables afectados por variantes deshabilitadas. GitHub-33629
- Se agregó un complemento antes de la llamada de
collectQuoteTotals
para garantizar que los créditos de la tienda no se apliquen varias veces.
- La mutación
generateCustomerTokenAsAdmin
ahora recupera los tokens de cliente según lo esperado. Anteriormente no se devolvían tokens y se devolvió este error:Customer email provided does not exist
.
- El esquema de GraphQL ahora es válido cuando se define un atributo de producto personalizado
type
. Anteriormente, el esquema no era válido porque el atributotype
de los tipos de productos fue sobrescrito por el atributo personalizadotype
. GitHub-34929
- Los clientes agregados o actualizados con la mutación
createCustomer
,createCustomerV2
,updateCustomer
oupdateCustomerV2
ahora se agregan con suscripciones a boletines informativos activas. Anteriormente, se cancelaba la suscripción de los clientes a los boletines incluso cuando la solicitud contenía los parámetros de entrada adecuados. GitHub-33599
- La consulta
products
para una vista de tienda específica ahora devuelve solamente las categorías que están en la categoría raíz del sitio web específico en la implementación de varios sitios. Anteriormente, la consulta devolvía categorías de las categorías raíz de otros sitios web. GitHub-34570
- La consulta
products
ahora devuelve solamente la subcategoría del ID de categoría proporcionado. Anteriormente, devolvía todas las categorías. GitHub-35220
- La consulta
customerOrders
responde ahora como se espera cuando el objetogift_message
se especifica en la respuesta, pero no existe ningún mensaje de regalo. Anteriormente, la consulta devolvió este mensaje:Can't load gift message for order is returned
. GitHub-28957
- Se ha corregido un error con el
catalog_category_product
indizador que provocaba que elproducts
consulta devolviera categorías de otro tienda. GitHub-31253
- La
generateCustomerToken
mutación ahora crea una entrada en lacustomer_log
función como se esperaba después de generar un token de cliente. GitHub-33378