Notas de la versión de Adobe Commerce 2.4.6

Adobe Commerce 2.4.6 presenta soporte para PHP 8.2. PHP 8.1 sigue siendo totalmente compatible, pero se ha eliminado el soporte para PHP 7.4. Incluye mejoras significativas en rendimiento y escalabilidad. Se han optimizado las operaciones de GraphQL para operaciones de carro de compras por lotes y respuesta de procesamiento del árbol de categorías. Esta versión presenta el metapaquete de extensión de Adobe Commerce.

Esta versión incluye más de 300 correcciones y mejoras de calidad. Las dependencias del Compositor principal y las bibliotecas de terceros se han actualizado a las últimas versiones compatibles con PHP 8.2.

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

Otra información de la versión

Aunque el código de estas funciones está empaquetado con versiones 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.

Elementos destacados de Adobe Commerce 2.4.6

Busque los siguientes aspectos destacados en esta versión.

Mejoras de seguridad

Esta versión incluye ocho correcciones de seguridad y mejoras de seguridad de la plataforma.

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 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:

  • Se han corregido las lagunas en los registros de acciones de administración con una auditoría más específica de las acciones dentro de las vistas de cuadrícula, acciones masivas y exportaciones.

  • La validación de reCAPTCHA ya no falla durante el cierre de compra cuando se producen errores inesperados durante el procesamiento del pago. GitHub-35093

  • Nueva configuración del sistema para requerir confirmación por correo electrónico cuando un usuario administrador cambia su correo electrónico. Para reducir la vulnerabilidad del sitio, se agregó una nueva configuración del sistema (deshabilitada de forma predeterminada) para requerir confirmación por correo electrónico cuando un usuario administrador cambia su correo electrónico: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Cuando esta opción está habilitada, la aplicación solicitará una confirmación por correo electrónico cada vez que el usuario administrador cambie su dirección de correo electrónico. El siguiente módulo se ve afectado por este cambio: Magento_Customer.

Mejoras de Platform

Adobe Commerce 2.4.6 presenta soporte para PHP 8.2. PHP 8.1 sigue siendo totalmente compatible.

La compatibilidad con PHP 7.4 se ha eliminado de esta versión. No se puede ejecutar Adobe Commerce 2.4.6 en PHP 7.4.

Adobe Commerce 2.4.6 ahora es compatible con:

  • Composer 2.2.x. Se ha eliminado Composer 1.x.

  • Redis 7.0.x Aunque la compatibilidad con Redis 6.2 se mantiene, se recomienda implementar esta versión con Redis 7.0.x porque se espera que Redis 6.2 llegue al final de su vida útil en 2024.

  • OpenSearch ahora se admite como motor de búsqueda predeterminado para implementaciones locales y en la nube de Adobe Commerce. Se admite como motor de búsqueda independiente para Magento Open Source. Esta versión es compatible con OpenSearch v2.x y se ha probado con OpenSearch 2.5. Aunque sigue siendo compatible con OpenSearch 1.x, recomendamos utilizar esta versión con OpenSearch 2.x. Puede instalar y ejecutar Adobe Commerce y Magento Open Source 2.4.6 con OpenSearch 2.x tanto en la nube como en los requisitos previos del motor de búsqueda locales.

  • Elasticsearch 8.x. Ver Elasticsearch de actualización.

  • MariaDB 10.6 (versión LTS). Esta versión sigue siendo compatible con MariaDB 10.4, pero se recomienda actualizar a MariaDB 10.6.

Otras actualizaciones y reemplazos

  • El esquema DHL se ha migrado de la versión 6.2 a la versión 10.0.

  • Las bibliotecas de JavaScript obsoletas se han actualizado a sus versiones más recientes y se han eliminado las dependencias obsoletas. Estos cambios son compatibles con versiones anteriores.

  • La compatibilidad con PHP 7.4 ha sido eliminada de la base de código de Commerce.

  • Las dependencias de Symfony se han actualizado a la nueva versión de LTS. Las dependencias incluyen:

    • friendsofphp/php-cs-fixer
    • symfony/console
    • symfony/event-dispatcher
    • symfony/finder
    • symfony/process
    • web-token/jwt-framework
  • jquery-migrate se ha eliminado del código base de Commerce. GitHub-21406

  • Se ha actualizado la biblioteca jQuery/fileUpload a la versión 10.32.

  • Los componentes del marco Zend (ZF1) que han llegado al final de su vida útil se han eliminado de la base de código. Ver resaltados de cambios incompatibles con versiones anteriores.

  • Las dependencias de Laminas se han actualizado para admitir PHP 8.2.

  • Se ha quitado el complemento Compositor laminas/laminas-dependency-plugin. GitHub-36515

  • Reemplazó a Zend_Filter con laminas/laminas-filter.

  • Se ha actualizado web-token/jwt-framework a la versión 3.0.5. (versión más reciente)

  • Se actualizó allure-framework/allure-phpunit a la versión 2.x.

  • Se ha actualizado la biblioteca Chart-js a la versión 3.9.1

Mejoras de rendimiento y escalabilidad

  • Rendimiento mejorado para las operaciones que afectan a muchos segmentos de clientes. Los comerciantes pueden mejorar el rendimiento de las operaciones que implican más de 100 segmentos de clientes habilitando una nueva configuración. La configuración Real-time Check if Customer is Matched by Segment se puede deshabilitar según sea necesario para reducir el tiempo de procesamiento al reducir la validación de cada segmento de cliente con respecto a los clientes. Consulte Validación de segmentos de clientes.

  • Nueva configuración del sistema para limitar el número de productos mostrados en la cuadrícula de productos. Los comerciantes pueden usar la nueva configuración de Limit Number of Products in Grid para mejorar el rendimiento de la cuadrícula de productos. Este límite está configurado para 20000 de forma predeterminada y solo afecta a las colecciones de productos que utilizan los componentes de la interfaz de usuario. Limitar el número de productos mostrados puede mejorar el rendimiento de las operaciones para cuadrículas con más de 200 000 productos. Ver Limitar número de productos en la cuadrícula

  • Rendimiento de importación mejorado (hasta 100.000 registros por minuto). Los comerciantes pueden usar el nuevo extremo de la API REST POST /rest/<store_view_code>/V1/import/csv para importar datos en Adobe Commerce. Este punto de conexión proporciona las mismas capacidades que la función de importación de administración y admite el uso de un archivo CSV para crear, actualizar y eliminar productos, precios de productos y entidades de clientes. Ver Importar datos.

  • Rendimiento de procesamiento de pedidos de alto rendimiento mejorado mediante el equilibrio de carga. Adobe Commerce 2.4.6 en la nube Los clientes de infraestructura en la nube que tienen un gran volumen de pedidos simultáneos (1000 pedidos por minuto) ahora pueden mejorar el rendimiento del procesamiento de pedidos al equilibrar la carga en su base de datos en diferentes nodos. Los comerciantes pueden volver a equilibrar esta carga habilitando conexiones secundarias para las instancias de base de datos MySQL y Redis. Ver Procesamiento de pedidos de alto rendimiento

Metpaquete de extensión de Adobe Commerce

Esta versión presenta la extensión de Adobe Commerce metapackage v1.1.0, que agrupa automáticamente las extensiones de Adobe Commerce seleccionadas con esta versión principal. Las versiones de estas extensiones que se incluyen en este metapaquete se instalan cuando se ejecuta composer update, lo que simplifica el proceso de actualización de estas extensiones al actualizar a la última versión principal. Estas extensiones seguirán manteniendo programaciones de versiones independientes.

El metapaquete de extensión de Adobe Commerce para Adobe Commerce 2.4.6 incluye estas dos extensiones:

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

Eventos de Adobe I/O para Adobe Commerce

Eventos de Adobe I/O para Adobe Commerce captura eventos de Commerce y transfiere datos de Adobe Commerce a otros sistemas de Adobe. Los desarrolladores pueden crear aplicaciones nativas de la nube en Adobe Developer App Builder que se suscriban a eventos de Commerce, como actualizaciones de inventario, cambios de estado de pedidos y actualizaciones de precios. Los desarrolladores pueden utilizar esta capacidad para intercambiar datos para la organización de todo el recorrido comprador en sus sistemas esenciales.

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 etiqueta de texto visual para el botón Sign in coincide ahora con su nombre accesible. (Una práctica recomendada recomienda que el nombre accesible de un elemento de la interfaz de usuario comience con el texto de etiqueta visible).
  • Se han agregado nombres descriptivos accesibles a los botones de toda la tienda.
  • Se han agregado etiquetas descriptivas verbales a las casillas de verificación Has Video en los filtros de búsqueda.
  • Los usuarios solo de teclado ahora pueden acceder a todas las funciones de la página en la tienda. Anteriormente, los compradores no podían acceder a los vínculos de subnavegación pulsando únicamente las teclas.

Integración de Adobe Commerce con Adobe IMS

Los siguientes módulos IMS de Adobe se han desunido del código principal de Adobe Commerce 2.4.6 y ahora se empaquetan como un metapaquete independiente:

  • adobe-ims
  • adobe-ims-api
  • admin-adobe-ims

La nueva versión 2.2.0 de adobe-ims-metapackage está integrada con Adobe Commerce 2.4.6. No se cambió ninguna funcionalidad en esta versión.

B2B

La función Pedidos de compra para empresas ahora está totalmente expuesta por la API de GraphQL. Esta versión presenta dos esquemas de GraphQL:

  • El esquema de GraphQL de pedidos de compra cubre la funcionalidad de Order Management de compra del usuario de la empresa B2B, como la creación, edición y eliminación de pedidos de compra. Ver Pedidos de compra (B2B).
  • El esquema de GraphQL de reglas de pedidos de compra permite crear, editar y eliminar reglas de aprobación, así como validar manualmente pedidos de compra. Consulte Reglas de aprobación de pedidos de compra (B2B).

Esta versión incluye varias correcciones de errores. Ver Notas de la versión B2B.

Braintree

  • Se han habilitado el botón Pay Later y los titulares (mensajes) de Italia y España para Braintree.
  • Se han activado los mensajes PayAfter con PayPal Vault.
  • Se agregaron los enlaces web Protección contra el fraude y ACH. El enlace web de Protección contra el Fraude se activa cuando se ha tomado una decisión sobre el riesgo en Braintree. El enlace web ACH se activa cuando el estado de un pago ACH se actualiza a settled o settlement decline.
  • Se ha añadido el enlace web LPM (métodos de pago locales).

GraphQL

Las mejoras de rendimiento de GraphQL incluyen:

Se mejoró el tiempo de respuesta al consultar categorías con permisos de categoría habilitados. Los tiempos de respuesta han mejorado al consultar productos en categorías para las que los permisos de categoría están habilitados y que contienen muchos grupos de clientes o catálogos compartidos. Los cambios de código que admiten esta mejora de rendimiento incluyen:

  • Se ha optimizado la operación de resolución de GraphQL.
  • El proveedor de datos ya no vuelve a establecer los datos en caché en tiempo de ejecución para cada nuevo producto que se procese, lo que ha mejorado el rendimiento.
  • El procesamiento de permisos del producto se ha optimizado en la resolución de GraphQL. Los permisos de producto ahora se aplican a colecciones de productos en lugar de ahora por producto.
  • Permisos optimizados leídos en catálogos compartidos en la mutación addProductsToCart.
  • Los permisos del producto se han optimizado con fragmentos en línea del producto.

Rendimiento optimizado de la representación del árbol de categorías. La consulta categoryList se ha optimizado para admitir clientes con un gran número de categorías. Los comerciantes que utilicen esta consulta para buscar más de 1500 categorías con hasta cinco niveles de subcategorías anidadas notarán una mejora del rendimiento. La carga de elementos secundarios de categoría mediante la refactorización del código se ha mejorado eliminando las llamadas a métodos innecesarias, mejorando el almacenamiento en caché del árbol de categorías y cargando los datos de categoría de forma recursiva. Los cambios de código que admiten esta mejora de rendimiento incluyen:

  • Se ha mejorado la captura de metadatos de atributos personalizados para modelos de categoría.
  • Se mejoró la captura del ID de categoría y se redujeron las llamadas a getChildren.
  • Se mejoró la carga de elementos secundarios de categoría.

Tiempos de respuesta de consulta de operaciones de carro de compras en lotes reducidos. Las mutaciones de productos añadidos se han optimizado para mejorar el rendimiento de las consultas al añadir hasta 500 productos simples y configurables. Los productos agrupados no se ven afectados. Las mutaciones optimizadas incluyen addProductsToCart, addConfigurableProductsToCart, addDownloadableProductsToCart, addSimpleProductsToCart, addVirtualProductsToCart, addWishlistItemsToCart y updateCartItems.

la consulta del cliente ahora admite la ordenación de pedidos. El objeto de salida orders de la consulta customer contiene ahora un campo de ordenación. Ahora puede ordenar los pedidos por número de orden o fecha de creación y en orden ascendente o descendente.

Nuevas mutaciones:

deleteCustomer

Page Builder

Page Builder 1.7.3 es compatible con Adobe Commerce 2.4.6.

PWA Studio

PWA Studio v.13.0.x es compatible con Adobe Commerce 2.4.6. Incluye varias mejoras para mejorar la accesibilidad. Para obtener información acerca de las 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 Adobe Commerce compatibles.

Problema conocido

Problema: New Relic no es compatible actualmente con PHP 8.2. Las implementaciones que ejecuten New Relic pueden ejecutar Adobe Commerce 2.4.6 en PHP 8.1 pero no en PHP 8.2. Solución alternativa: Ejecute Adobe Commerce 2.4.6 en PHP 8.1 hasta que se publique una nueva versión de New Relic compatible con PHP 8.2. Se espera esta versión para el verano de 2023.

Problemas solucionados

Hemos corregido cientos de problemas en el código principal de Adobe Commerce 2.4.6. A continuación, se describe un subconjunto de los problemas corregidos incluidos en Adobe Commerce 2.4.6.

Instalación, actualización e implementación

  • La implementación de contenido estático ya no agota el tiempo de espera o falla durante las implementaciones estándar o compactas con varias configuraciones regionales y sitios web.
  • La estrategia de compactación ya no causa una referencia no válida a un dominio externo al ejecutar la implementación de contenido estático (bin/magento set:static-content:deploy -f --strategy compact).
  • La ejecución de bin/magento setup:di:compile -vvv (o con las opciones -v o -vv) ahora devuelve un mensaje informativo en caso de error. GitHub-35391
  • Adobe Commerce ya no genera la siguiente excepción cuando se ejecuta el comando bin/magento setup:upgrade en una implementación que ya ejecuta la herramienta de migración de datos: PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34. GitHub-35604
  • El comando bin/magento setup:db:status ya no falla en entornos que ejecutan MySQL 8.0.29. Anteriormente, la salida del comando indicaba erróneamente que el esquema declarativo estaba obsoleto. GitHub-35671
  • El comando composer install ya no sobrescribe .gitignore archivos. GitHub-32888
  • Ya no se produce el siguiente error al ejecutar bin/magento sampledata:remove para eliminar los datos de ejemplo después de la actualización en Alpine Linux: Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE. GitHub-36062
  • bin/magento setup:upgrade ahora se ejecuta correctamente después de ejecutar composer install --no-dev por primera vez. GitHub-36351
  • Las entradas de seguimiento de pila de excepciones y excepciones ahora se incluyen en var/log/exception.log. GitHub-36054
  • Adobe Commerce ahora genera un error de validación de parámetros cuando se utiliza la línea de comandos para establecer una conexión de Redis sin contraseña.

Accesibilidad

  • Los botones Proceed to Checkout, Review Order y Place Order del flujo de trabajo de cierre de compra ahora funcionan según lo esperado con la entrada de teclado.
  • La indicación visual del enfoque en los botones al usar TAB o SHIFT + TAB para navegar por los controles de página ahora funciona según lo esperado.

Lectores de pantalla

  • El lector de pantalla de la página del historial de pedidos ahora lee la descripción de imagen correcta.

Los lectores de pantalla ahora anuncian:

  • Se encontró un total de elementos en los resultados de búsqueda según lo esperado
  • Nombre de usuario que inició sesión cuando un usuario inicia sesión correctamente usando los controles de teclado
  • El encabezado de página de resultados de búsqueda de productos ahora lee el valor correcto para el elemento <title>
  • Si los campos de entrada son obligatorios
  • Corregir el estado actual de los elementos de acordeón (contraídos y expandidos)
  • Cuando el contenido de la página se ha actualizado después de que el usuario haya hecho clic en el botón Create an account

Paquete de productos

  • La actualización del producto del paquete a través de la API para una vista de tienda específica ahora no anula los datos de otras vistas de tienda del mismo producto del paquete. Anteriormente, los títulos de opciones de producto del paquete se sobrescribían con el primer título de opción para otras vistas de tienda.
  • Los productos agrupados ahora se pueden filtrar correctamente desde Administración Catalog > Products al utilizar una configuración regional en neerlandés. Anteriormente, Adobe Commerce mostraba este error cuando intentaba filtrar por Type: Bundle Product: Something went wrong with processing the default view and we have restored the filter to its original state. GitHub-35704
  • La cuadrícula de productos ya no genera una excepción cuando los productos agrupados tienen un precio especial que supera los 1000. Anteriormente, cuando buscaba el producto por SKU o navegaba a Catalog > Products, Adobe Commerce arrojaba este error: Non Numeric value encountered. GitHub-36284)
  • Las columnas de los PDF de notas de abono y facturas para pedidos que contienen una combinación de paquete y productos simples ahora se representan correctamente. Anteriormente, las columnas estaban distorsionadas o mal alineadas.
  • En las consultas de GraphQL que contienen un fragmento BundleProduct, el objeto items.options.product contiene datos según lo esperado. Anteriormente, el objeto podía ser nulo en algunas circunstancias.
  • Las cantidades decimales para las opciones de paquete ahora se representan correctamente cuando Quantity uses decimals está habilitado. Anteriormente, solo se representaba la parte entera de la cantidad, no el componente fraccional. Por ejemplo, una cantidad de 1,5 se representó como 1,0. GitHub-35964
  • Las consultas de productos de GraphQL ahora solo devuelven opciones de productos agrupados dentro del ámbito del almacén que se consulta.
  • Los productos que no están asignados a categorías pero que son opciones de producto para paquetes o productos agrupados ahora se devuelven en las respuestas cuando la configuración de Allow Category Browsing está habilitada para que el cliente envíe la consulta.

Caché

  • La caché de página completa ya no se vacía después de la realización del pedido a menos que el producto solicitado esté agotado. Anteriormente, la caché se depuraba para la categoría cada vez que se creaba un envío.
  • Ahora los datos se almacenan en caché correctamente cuando la caché L2 está configurada y los datos remotos se desalojan parcialmente. Anteriormente, después de vaciar únicamente la caché de datos sin hash de esos datos, la nueva caché no se guardaba mientras existían los hash de datos.
  • Se corrigieron defectos en CatalogUrlResolverIdentity y CmsUrlResolverIdentity que impedían el almacenamiento en caché. Esto afectó al almacenamiento en caché de consultas de ruta en varias solicitudes.

Carro y cierre de compra

  • Los compradores ahora pueden agregar un artículo adicional al carro de compras cuando este contiene la cantidad mínima del producto simple.
  • Las llamadas a la API de REST para recuperar datos del carro de compras ahora devuelven los mismos valores grand_total y base_grand_total cuando la moneda de la tienda y la moneda base son la misma. GitHub-34649
  • El valor exportado de Maximum Qty Allowed in Shopping Cart ahora coincide con el valor predeterminado establecido en la configuración de administración.
  • Adobe Commerce ahora calcula correctamente el total general de los reembolsos de pedidos con un descuento en el envío.
  • Google reCAPTCHA ahora funciona según lo esperado para pedidos de tiendas. Anteriormente, Adobe Commerce mostraba estos errores cuando no se seleccionaba Google ReCAPTCHA por primera vez antes de que un comprador intentara realizar un pedido por primera vez: ReCaptcha validation failed, please try again y No such cart with id = ID.
  • La actualización de la imagen CAPTCHA ahora respeta la configuración de la administración y no se activa cuando la configuración está desactivada. Anteriormente, la actualización se activaba cada vez que cambiaba el método de pago, independientemente de si la configuración estaba habilitada o deshabilitada. GitHub-34855
  • Adobe Commerce ahora muestra una ventana emergente de confirmación como se espera antes de redirigir al comprador a la página siguiente cuando cambia la cantidad de productos en la página del carro de compras sin actualizar el carro de compras y luego intenta navegar a la página siguiente.
  • Los compradores ahora pueden reducir la cantidad de un producto de su carro de compras después de que se haya reducido en el Administrador. Anteriormente, Adobe Commerce arrojaba el siguiente error cuando un comprador intentaba reducir la cantidad de productos: The requested qty is not available. GitHub-35780
  • Adobe Commerce ya no genera un error en la consola de JavaScript cuando la cantidad de productos supera el máximo configurado durante el cierre de compra de envío múltiple. En su lugar, Adobe Commerce ahora muestra un mensaje de error informativo. GitHub-36184
  • La cantidad de artículos en la página del carro de compras ya no se representa como un número negativo cuando un comprador utiliza la tecla de flecha hacia abajo en el teclado para cambiar la cantidad de productos. GitHub-36299
  • Los compradores ya no pueden añadir al carro de compras un producto de una categoría que ahora no está permitida después de cambiar el grupo de clientes al que pertenece el comprador. Adobe Commerce ahora comprueba el acceso a los permisos del grupo de clientes para categorías específicas cuando se cambian los ajustes de configuración de los permisos.
  • Los carros de compras de los clientes ya no se vacían antes de la creación del pedido del administrador y el contenido del carro de compras ahora se restaura si se cancela o abandona el pedido. Los artículos ahora se eliminan del carro de compras solo después de la creación del pedido. Anteriormente, cada vez que un usuario administrador intentaba crear un pedido en la página Administrar carro de compras, se vaciaba el carro de compras.
  • El minicarrito ahora muestra las imágenes de producto correctas después de ejecutar bin/magento catalog:image:resize. Anteriormente, todas las imágenes se reemplazaban por la imagen de marcador de posición de producto predeterminada. GitHub-35535
  • El cierre de compra ahora se puede completar correctamente cuando la dirección de envío contiene un atributo de extensión. Anteriormente, Adobe Commerce arrojó este error: Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string. GitHub-34202
  • La mutación addBundleProductsToCart ya no agrega productos a una cotización si una opción de producto requerida no tiene valor. GitHub-25676
  • Adobe Commerce devuelve ahora un mensaje informativo cuando falla una mutación addProductsToCart al agregar un producto al carro de compras con permisos insuficientes.
  • Adobe Commerce ya no genera un error en la página del carro de compras cuando se utiliza el pedido rápido para agregar un producto en una cantidad que supera el inventario disponible.
  • La mutación setGiftOptionsOnCart ahora requiere la autorización del cliente para las operaciones del carro de compras del cliente.

Regla de precio del carro

  • Las opciones de envío gratuito establecidas durante la creación de reglas de la regla de precios del carro de compras ahora se aplican a los pedidos según lo esperado. Anteriormente, las opciones de envío gratuito aplicadas durante la creación de la regla se omitían durante el cierre de compra y no se permitía el envío gratuito cuando se aplicaba la regla. GitHub-35013
  • La columna discount_percent de la tabla sales_order_item de un producto ahora se rellena según lo esperado con el porcentaje de descuento cuando la cantidad de descuento del artículo no está establecida o es mayor o igual que la cantidad del artículo del pedido. Anteriormente, esta columna no se rellenaba cuando se aplicaba una regla de precio de carro de compras a este producto.
  • El widget de lista de productos ya no muestra precios incorrectos o almacenados en caché para un comprador que ha iniciado sesión. El precio mostrado en el widget de página de inicio ahora coincide con la dirección del comprador y se actualiza cuando el comprador actualiza la dirección. Anteriormente, la caché del explorador no actualizaba los precios del producto en la página de inicio en función de las reglas fiscales del grupo de clientes.
  • La función de lista Comparar productos ahora funciona correctamente en una implementación de varios sitios web y depende del sitio web.
  • Adobe Commerce ya no muestra los datos de la página anterior cuando vuelve a cargar una página de detalles del producto. Anteriormente, cuando se volvía a cargar la página de detalles del producto, los datos de la primera pestaña se combinaban con los datos recién cargados durante una división de segundo.
  • Ahora, las categorías con subcategorías se pueden expandir en el menú principal en dispositivos móviles según lo esperado. Anteriormente, los compradores no podían abrir ni expandir categorías con subcategorías en implementaciones móviles. GitHub-35329
  • Los listados de categorías ahora se actualizan según lo esperado cuando se asigna un producto a un nuevo sitio web o tienda. Anteriormente, el indizador de precios del producto no se marcaba como no válido y, posteriormente, se reactivaba en una ejecución de cron según lo esperado. Como resultado, la entrada de precios del producto no aparecía en la tabla de índices de precios y no se mostraba en la nueva tienda o sitio web.
  • El recuento de inventario de tienda ahora es preciso cuando la configuración de Display Out of Stock Products está habilitada. GitHub-35899
  • La página de categoría ya no está vacía cuando la configuración Allow All Products Per Page está habilitada. GitHub-35900
  • La opción de configuración Display Out of Stock Products ahora funciona según lo esperado cuando está habilitada. Anteriormente, todos los productos se mostraban como agotados en la tienda cuando esta opción estaba habilitada en el Administrador. GitHub-35898
  • Los clientes asignados a un grupo de mayoristas ahora pueden agregar un producto agrupado al carro de compras cuando lo permitan los permisos de categoría. Si este permiso no está definido para un grupo de clientes, la configuración tiene prioridad.
  • La ordenación de productos por atributos booleanos ahora funciona según lo esperado. GitHub-36390
  • Los descuentos de la regla de precio de catálogo ya no se aplican a las opciones de producto personalizadas de precio fijo, sino que solo se aplican al precio original del producto.
  • Los productos relacionados ahora se recuperan correctamente en la página de detalles del producto de la tienda cuando se generan mediante la regla de producto relacionada para los atributos de producto alfanuméricos. GitHub-36285
  • Las reglas de precios de catálogo ahora tienen en cuenta el ámbito seleccionado y se aplican a los productos únicamente para los sitios web para los que el atributo tiene un valor de opción que coincide con la regla. Anteriormente, la regla no tenía en cuenta el ámbito seleccionado en implementaciones de varios sitios. GitHub-36049
  • Los atributos de tamaño y color de las opciones de muestra ahora se preseleccionan en la página de detalles del producto cuando un comprador modifica el producto configurable de la página Mi carro de compras. (La versión de jQuery 3.x ahora admite el nombre del widget swatchRenderer, que ahora es camel case). Anteriormente, la opción de muestra no estaba preseleccionada.
  • Ahora se notifica a los clientes de las caídas de precios de productos cuando el cliente está suscrito a la alerta de caída de precios. Anteriormente, las notificaciones de caída de precios no siempre se enviaban debido al almacenamiento en caché de nivel de aplicación.
  • Las reglas de catálogo basadas en SKU con la condición is not one of ahora funcionan según lo esperado.
  • Adobe Commerce ya no supone erróneamente que una categoría es la categoría principal de otra según la ruta de la categoría. Anteriormente, cuando dos categorías eran adyacentes y un ID de categoría empezaba por el ID de categoría de otra categoría, Adobe Commerce suponía que las categorías tenían la misma categoría principal. GitHub-32464

Productos configurables

  • Adobe Commerce ya no genera un error cuando un usuario administrador agrega productos manualmente a un producto configurable que ya tiene muchos productos simples asignados. Anteriormente, Adobe Commerce mostraba este error: Something went wrong with processing the default view and we have restored the filter to its original state.
  • Los compradores ya no pueden agregar productos configurables con una cantidad comercializable de 0 al carro de compras en implementaciones con pedidos pendientes deshabilitados. Adobe Commerce ahora indica que el producto está agotado. GitHub-35319
  • La creación de un nuevo producto mediante la importación de un producto configurable con muchas opciones desde una vista de tienda diferente ahora resulta en una copia exacta del primer producto según lo esperado. Anteriormente, el orden de clasificación de las opciones configurables del nuevo producto era incorrecto y los títulos no se traducían a la configuración regional de la nueva vista de tienda en implementaciones con varias vistas de tienda y configuraciones regionales. GitHub-35200
  • Los productos configurables con todos los productos secundarios agotados ahora se muestran como agotados en la tienda.
  • Los SKU y los nombres de productos configurables ahora se muestran con precisión. Anteriormente, los nombres y SKU se mostraban como indefinidos después de mover un grupo de atributos sobre el grupo Detalles del producto en Stores > Attribute set. GitHub-36309

Cupones

  • Se ha añadido una lógica de validación al flujo de trabajo Administrar códigos de cupones para aplicar la configuración del código de cupones al generar cupones. Anteriormente, la generación de código de cupón ignoraba la configuración Code Length cuando el valor de Coupon Qty era mayor que 2500.
  • Los puntos de recompensa ahora se añaden a la cuenta de un cliente como se espera cuando se aplica un cupón de recompensa durante el pago con el método de pago PayPal Express.
  • Ahora puede aplicar un código de cupón durante la creación de la solicitud de administración cuando la regla de precio del carro de compras tenga el peso como condición. Anteriormente, los códigos de cupón no se establecían si no se seleccionaban otros campos para el producto. GitHub-36271
  • Ahora puede filtrar informes de cupones según varias reglas de precio del carro de compras. GitHub-36272
  • Las opciones personalizadas ahora se aplican y se guardan cuando un usuario administrador presiona Enter mientras configura un producto con opciones personalizadas. Anteriormente, podía seleccionar opciones y agregar el producto a un pedido, pero las opciones no se guardaban y se le pedía al usuario administrador que volviera a seleccionar las opciones del producto. GitHub-35284
  • Los códigos de cupones ahora se pueden exportar correctamente a Excel XML. Anteriormente, el archivo generado no contenía todos los códigos de cupones seleccionados, sino solo tantos elementos como se seleccionaron en el selector elementos por página.GitHub-36073

cron

  • El trabajo cron de catalog_index_refresh_price ahora se ejecuta correctamente. Anteriormente, Adobe Commerce registraba este error durante la ejecución de cron: report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens.

Moneda

  • Se ha agregado un espacio que falta entre los símbolos de moneda personalizados y los precios a los precios de productos de tienda y administrador. Se han agregado la condición y la expresión regex adecuadas para permitir un NBSP personalizado en los símbolos de moneda. Por ejemplo, IDRx 105.00 se mostraba anteriormente como IDRx105.00.

Segmento de cliente

  • El filtro Sí/No en la cuadrícula Segmentos de cliente de administración durante la creación de una nueva regla de precios del carro de compras ahora funciona según lo esperado.

Correo electrónico

  • Adobe Commerce ya no envía correos electrónicos duplicados a los clientes después de crear un pedido desde el administrador.
  • Los correos electrónicos de órdenes de administrador ya no se envían cuando se deshabilita la configuración de Email order confirmation. GitHub-36256
  • Las opciones de imagen ya no se muestran como marcado de HTML en la nota de crédito, la confirmación de pedido y los correos electrónicos de cliente de factura (plantilla predeterminada) para productos con opciones personalizadas.

Marcos

  • Los usuarios administradores ahora pueden abrir correctamente la página Administración Store > Configuration cuando no haya ningún país en la configuración de Países de la Unión Europea (Stores > Configuration > General > Country options > European Union Countries). Anteriormente, cuando un usuario administrador intentaba abrir esta página, Adobe Commerce arrojaba este error: TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46. GitHub-35901
  • Las dependencias jquery.cookie ahora funcionan según lo esperado con dependencias de JavaScript. Anteriormente, no se podían usar alias para jquery/jquery.cookie. GitHub-35913
  • El comando bin/magento i18n:collect-phrases ahora incluye texto <title> en el archivo CSV exportado. GitHub-35462
  • Magento\Framework\Code\Reader\ArgumentsReader::getParentCall() ahora admite argumentos de constructor con nombre. Ahora puede llamar a una función configurando los parámetros por su nombre.
  • Los errores ahora se registran como se espera en el archivo exception.log. Anteriormente, aunque se registraban errores en el archivo system.log, no se registraban errores en var/log/exception.log.
  • Los comerciantes ahora pueden especificar un proveedor SMTP externo personalizado. GitHub-26104
  • Ahora, las integraciones de OAuth se pueden volver a autorizar como se espera en implementaciones que ejecuten Adobe Commerce 2.4.3-p2. Anteriormente, se produjo este error en la reautorización: The attempt to post data to consumer failed due to an unexpected error. Please try again later. Adobe Commerce también intentó descifrar valores no cifrados. GitHub-35313
  • El parámetro rowId correcto ahora se pasa cuando se guarda la categoría urlKey para las categorías que tienen categorías secundarias. Anteriormente, se pasó un categoryId incorrecto al guardar la categoría URLKey.
  • El código de atributo de producto event se ha agregado a la lista de códigos de atributo de producto reservados, lo que elimina los errores asociados con el uso de un atributo con este nombre en la tienda. Anteriormente, la aplicación arrojaba este error en las páginas de detalles del producto y de búsqueda/lista de productos cuando se usaba event: report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23.
  • Los mensajes de error de validación de tienda que se producen durante la realización del pedido ahora se muestran de forma coherente. Anteriormente, los mensajes aparecían, se contraían y luego volvían a aparecer. GitHub-35651
  • Los consumidores de AMQP ya no fallan debido a una función trim() obsoleta en implementaciones que ejecutan PHP 8.1. Anteriormente, cuando el consumidor de AMQP se iniciaba después de la instalación, Adobe Commerce arrojaba este error: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143. GitHub-35380
  • El método getFilteredTimerIds ahora funciona según lo esperado. La clase Magento\Framework\Profiler\Driver\Standard\Stat ahora es compatible con PHP 8.1. Anteriormente, Adobe Commerce arrojaba una excepción cuando se llamaba a este método. GitHub-35307
  • Se ha eliminado la dependencia de la biblioteca imagemin-svgo.
  • El proceso de minificación de plantillas ahora procesa correctamente comentarios consecutivos cuando el primer comentario comienza con //. GitHub-34880
  • Se corrigió una consulta de base de datos emitida por el módulo BundleGraphQl que devolvió este error: "debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130".GitHub-34991

Correcciones generales

  • Adobe Commerce ahora muestra un intervalo de tiempo preciso cuando un usuario administrador selecciona la opción Last 24 Hours del panel de estadísticas de administración. Anteriormente, Adobe Commerce mostraba un intervalo de tiempo incorrecto. Esto ocurrió porque la zona horaria de la base de datos permaneció sin cambios.
  • Ahora se pueden generar notas de abono para cantidades enteras y decimales. Anteriormente, solo se admitían cantidades enteras.
  • La regla de validación de entrada de código postal del cliente para el tipo numeric only funciona ahora según lo esperado en el campo Edit Customer Address (Store > Attribute > Customer Address). Anteriormente, la información de la dirección del cliente se guardaba sin validar el código postal.
  • Los usuarios administradores con acceso restringido a un sitio web ahora pueden iniciar sesión correctamente en el Administrador mediante la función Iniciar sesión como cliente.
  • Las cuentas de cliente compartidas globalmente ahora tienen direcciones validadas con la lista de países permitidos para el sitio web actual y guardadas correctamente. Anteriormente, estas cuentas se validaban incorrectamente en los países permitidos del sitio web en el que se registraba el cliente.
  • Las rutas de exploración de la jerarquía de páginas de CMS ya no se muestran cuando Enable Hierarchy Functionality está deshabilitado. Anteriormente, se mostraban las rutas de exploración y, cuando los compradores hacían clic en ellas, se mostraba una página 404. GitHub-35513
  • La eliminación de un producto de todos los sitios web mediante el administrador ya no causa el siguiente error: SQLSTATE[42000]: Syntax error or access violation. GitHub-35133
  • Los clientes que superen el número máximo de intentos fallidos de inicio de sesión ahora pueden iniciar sesión después de restablecer la contraseña. GitHub-34981
  • El componente de filas dinámicas ahora se comporta como se espera cuando un usuario administrador agrega un nuevo elemento. Anteriormente, el componente de fila se comportaba incorrectamente cuando se agregaba un nuevo producto simple a un producto agrupado. GitHub-34850
  • Se corrigieron errores tipográficos y gramática incorrecta en el archivo app/code/Magento/Backend/etc/menu.xsd.
  • El archivo app/code/Magento/Authorization/README.md se ha actualizado para describir con precisión la creación de tablas.
  • El método recordLogin se ha actualizado para establecer valores de inicio de sesión en el modelo de usuario, así como para conservar los valores correctos en los campos logdate y lognum de la tabla admin_user. Anteriormente, no se registraban los intentos de inicio de sesión de los usuarios administradores actualizados.
  • Las plantillas de problemas de GitHub se han convertido en formularios de problemas para problemas de experiencia del desarrollador y solicitudes de funciones.
  • El atributo de cliente Is required ahora se implementa correctamente por ámbito de sitio web para el formulario de edición de cliente de administrador.
  • El campo Grid Filter Condition Type de los atributos de cliente y dirección de cliente ya no está visible en la página de edición de atributos cuando la configuración Use in Filter Options está deshabilitada.
  • Adobe Commerce ahora muestra un mensaje de error informativo si un comerciante no introduce un valor de atributo SKU opcional al crear un producto. Anteriormente, la aplicación arrojaba esta excepción cuando el atributo era opcional: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/mg244/project-community-edition/vendor/magento/module-eav/Model/Entity/AbstractEntity.php on line 932. GitHub-35810
  • El filtro Show my quotes en la página My Quotes ahora funciona según lo esperado. Anteriormente, los resultados de los filtros incluían citas de otros usuarios administradores.

Tarjetas de regalo

  • Las cantidades de productos de la tarjeta de regalo ahora son las mismas que las especificadas en un archivo CSV durante la importación. Se han añadido comprobaciones de las opciones existentes y los valores anteriores ahora se actualizan en función de una clave única. Anteriormente, las cantidades de tarjetas regalo se duplicaban cuando las tarjetas regalo se importaban varias veces.

Envoltorio para regalos

  • El precio del envoltorio para regalos ahora se muestra como se espera en el bloque de resumen del pedido cuando el envoltorio para regalos se ha aplicado en el nivel de pedido a un pedido que contiene productos físicos y virtuales. Anteriormente, Adobe Commerce no mostraba el precio del envoltorio para regalos.

GraphQL

  • Types que implementan varias interfaces en el código de GraphQL ahora pueden separarse mediante un signo &, así como , de acuerdo con la especificación @doc de GraphQL.
  • La mutación setShippingAddressesOnCart ahora admite la configuración de códigos de región numéricos como region. Anteriormente, esta mutación no funcionaba correctamente para valores numéricos de código de región.
  • La consulta products ahora devuelve solamente las revisiones asociadas con el ámbito especificado. Anteriormente, las consultas devolvían revisiones de todas las tiendas.
  • Los permisos de categoría ahora se respetan durante las solicitudes de GraphQL.
  • La consulta customer ahora filtra correctamente los pedidos con un intervalo especificado de from y to. GitHub-31537
  • La consulta product devuelve ahora los datos de categoría correctos en la agregación. Anteriormente, attribute_code.category_uid devolvió el valor de category_id en lugar de category_uid.
  • La consulta customerOrders ya no genera un error \"model\" value should be specified. GitHub-35852
  • La consulta customer ahora filtra pedidos según el ámbito. Ahora puede especificar si la consulta debe filtrar los pedidos por tienda, sitio web o globalmente.
  • La consulta categoryList ahora devuelve un recuento preciso de productos para las categorías principales ancladas y no ancladas. El nuevo atributo is_anchor se ha agregado a la lista de columnas seleccionadas de la colección de categorías. Anteriormente, las solicitudes devolvían un recuento de productos 0. GitHub-36300
  • La mutación generateCustomerTokenAsAdmin funciona ahora según lo esperado al crear un token para iniciar sesión en un almacén no predeterminado en una implementación de varias tiendas. GitHub-35084
  • La mutación createEmptyCart ahora genera una excepción como se espera cuando se usa un token caducado. GitHub-26112
  • Los mensajes de error de consulta del carro de compras son más informativos. GitHub-34546
  • Los datos agregados en la respuesta de una consulta products ahora incluyen valores correctos para el atributo de tipo de precio attribute_code y label. GitHub-28878
  • La consulta products devuelve información de categoría como se espera cuando el prefijo de base de datos tiene un valor no nulo. Anteriormente, devolvía un Internal server error. GitHub-36117
  • Se corrigió el tipo de valor devuelto para el método getCustomerIsGuest. GitHub-29529
  • El complemento Magento\CatalogGraphQl\Plugin\DesignLoader se ha refactorizado.
  • La recarga del carro de compras ahora se activa una sola vez, tal como se espera, cuando el carro de compras se inicializa mediante mutaciones de GraphQL. Anteriormente, la carga del carro de compras activaba una revalidación innecesaria contra el inventario de existencias, lo que consumía recursos significativos cada vez que se cargaba el carro de compras.
  • Se agregó el tipo gift_message a OrderItemInterface. GitHub-29418
  • Las opciones de producto devueltas en las respuestas de GraphQL ahora incluyen solo los productos que están dentro del catálogo al que pertenece el usuario. Si el usuario pertenece a un catálogo compartido, solo se devolverán los productos de los catálogos compartidos. Si el usuario es un invitado o no forma parte de un catálogo compartido personalizado, solo se devuelven los productos del catálogo público.

Google ReCAPTCHA

  • Se ha resuelto un error reCAPTCHA en el archivo var/log/exception.log para el inicio de sesión del administrador de reCAPTCHA de Google V3 y no se ha registrado ningún mensaje de error. Anteriormente, se producía el siguiente error cada pocos segundos cuando un usuario administrador configuraba su configuración de Configuration > Security > Google reCAPTCHA Admin Panel: main.ERROR: Can not resolve reCAPTCHA parameter. {"exception":"[object] (Magento\Framework\Exception\InputException(code: 0): Can not resolve reCAPTCHA parameter. at /home/xxxxxxx/public_html/vendor/magento/module-re-captcha-ui/Model/CaptchaResponseResolver.php:25)"} []. GitHub-34975

Imagen

  • Se han actualizado las recomendaciones sobre el tamaño del logotipo para el albarán de factura de PDF.

Importar/exportar

  • La importación de un producto con la misma clave de URL numérica que un producto existente pero sin su carácter alfabético de terminal ya no provoca un error de validación cuando Product URL Suffix se establece como vacío en el Administrador.
  • El comando bin/magento app:config:import ahora importa correctamente el contenido de un archivo config.php cuando contiene ciertas expresiones cron. Anteriormente, se produjo este error en la importación: Import failed: Notice: Trying to access array offset on value of type null in [..]/vendor/magento/module-config/Model/Config/Backend/Currency/Cron.php on line 66. GitHub-31428
  • La exportación completa ahora funciona correctamente cuando AWS S3 se utiliza como almacenamiento remoto. Anteriormente, la exportación fallaba debido al tamaño del archivo cargado.
  • El estado del producto ahora se importa correctamente cuando faltan columnas de datos de inventario en el archivo CSV. Anteriormente, después de la importación del producto, se asignaba automáticamente el origen predeterminado al producto, su cantidad se establecía en cero y su estado se enumeraba como agotado cuando faltaban columnas de datos de inventario en el archivo CSV.
  • La importación de valores de precios avanzados ahora proporciona el recuento correcto de registros nuevos y actualizados cuando la importación incluye más de 100 registros. Anteriormente, el mensaje de éxito de la importación proporcionaba un recuento incorrecto.
  • Los archivos CSV exportados ahora contienen las rutas correctas a los nombres de categoría guardados en varios idiomas. Se ha agregado un ID de tienda para la colección de categorías. Anteriormente, los archivos exportados contenían rutas mixtas con diferentes idiomas en lugar de una ruta de categoría derivada de la vista de almacén predeterminada.
  • La actualización de las opciones personalizadas de un producto en una vista de tienda específica mediante la importación ahora se realiza correctamente. Anteriormente, se producía un error interno del servidor si las filas relacionadas con un producto se dividían en varios lotes.
  • El servicio de importación de Fixer.io ahora funciona según lo esperado. Las tasas de cambio ahora se importan correctamente. GitHub-36010

Índice

  • El indizador batch_size para el índice catalogpermissions_category ahora cambia al valor proporcionado en el archivo env.php según lo esperado. Anteriormente, un error tipográfico en la ruta de acceso para la invalidación del indizador batch_size impedía cambiar el tamaño del lote al valor proporcionado en env.php. GitHub-652
  • La reindexación de precios ahora se ejecuta correctamente cuando el catálogo contiene productos agrupados que no están asignados a ningún sitio web. Anteriormente, se produjo el siguiente error al ejecutar el índice de precios del producto: Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117. GitHub-35796

Infraestructura

  • Se agregó la desinfección de DATE y DATETIME valores en volcados de base de datos para la compatibilidad con Adobe Commerce. Anteriormente, los campos de tipo fecha y hora no se saneaban para las tablas cliente/oferta/pedido en la tabla de copia de seguridad de la base de datos.
  • La función escaper.js escapeHtml convierte ahora el carácter especial de signo & en "$amp;" según la regla InnerHtml. Esta solución genérica resuelve los problemas de conversión de referencias a caracteres y caracteres especiales en el cuadro de entrada del título y guarda el valor exacto como insertado. Anteriormente, los caracteres ampersand (&) se codificaban incorrectamente en los nombres de nodo en la jerarquía de contenido.
  • Se han resuelto los problemas con el módulo colinmollenhour/php-redis-session-abstract de terceros y PHP 8.1. GitHub-35634

Galería de medios

  • La Galería multimedia heredada ahora está deshabilitada de forma predeterminada. Anteriormente, Enable old Media gallery se estableció en Yes.
  • La Galería de nuevos medios se ha optimizado para mejorar la carga del árbol de directorios en la página de categorías.

Registro

  • Ahora puede generar informes del sistema para archivos de registro de 0 bytes. Anteriormente, Adobe Commerce arrojaba un error al generar un informe para una colección de archivos de registro cuando uno o más archivos estaban vacíos.

Pedido

  • La página Administrador de notas de abono de pedidos de venta ahora muestra el total general correcto para los pedidos creados con crédito de tienda y varias facturas. Anteriormente, el cálculo del total general era incorrecto y el usuario no podía generar una nota de crédito.
  • El prefijo de pedido que se pasa en la secuencia de comandos de instalación ahora se agrega correctamente al ID de pedido.
  • La página de detalles del pedido ahora se carga correctamente cuando el pedido contiene un producto con un valor de texto personalizado largo. Anteriormente, la página de detalles del pedido no se cargaba y el valor de la columna sales_order_item.product_options no se almacenaba correctamente si un producto contenía un valor largo para una opción personalizada de texto.
  • El estado de los pedidos de tienda ahora es preciso para los pedidos parcialmente reembolsados. Anteriormente, un pedido permanecía en el estado de procesamiento después del envío cuando se aplicaba un reembolso parcial. GitHub-35528
  • El grupo de clientes ahora se representa con precisión como Sin sesión iniciada para un pedido creado por un usuario invitado. Anteriormente, el grupo de clientes era NULL en los resúmenes de pedidos de invitado, lo que afectaba a los correos electrónicos de confirmación y a la exportación de pedidos. GitHub-35440
  • Ahora se asigna un estado de Closed a los pedidos virtuales como se espera después de que se haya emitido una nota de crédito y se reembolse al cliente. Anteriormente, los productos virtuales se mostraban como Complete en la lista desplegable Estado, pero Closed en el pie de página de los comentarios del pedido cuando se agregó el comentario desde el administrador. GitHub-35283
  • Los invitados ahora pueden realizar pedidos de productos con una cantidad inferior a uno y la cantidad de productos ahora se ha escrito estrictamente como float. Anteriormente, debido a que la cantidad de producto se escribía estrictamente como int, los pedidos de una cantidad de producto inferior a uno no se realizaron correctamente con este mensaje: Some of the products are disabled. GitHub-36060
  • Los reembolsos de envío ahora se calculan correctamente cuando la opción de configuración Apply discount on prices se establece en including taxes.
  • Las cuadrículas de facturas, envíos y notas de abono ahora se actualizan de forma asíncrona después de archivar los pedidos.
  • Los pedidos duplicados ya no son el resultado de solicitudes de GraphQL simultáneas e idénticas. Las ofertas ahora están bloqueadas durante un máximo de 10 segundos para evitar la creación de pedidos duplicados y la segunda solicitud falla con estos errores: The cart isn't active o The order has already been placed and is currently processing. Este valor de bloqueo se puede configurar mediante el id. para el parámetro lockWaitTimeout de clase Magento\Quote\Model\PlaceOrderMutex. GitHub-36274
  • Añadir un comentario a un pedido archivado ya no lo devuelve a la cuadrícula de pedidos no archivados y mantiene su estado archivado.
  • Los valores de atributos de la compañía ahora se muestran según lo esperado en las secciones de dirección de facturación y envío del flujo de trabajo de cierre de compra. Anteriormente, los atributos de empresa no se mostraban correctamente en la página de detalles del pedido porque las tiendas no se configuraban correctamente durante la creación del pedido. Los valores de atributo se almacenaron correctamente solamente cuando la propiedad Mostrar compañía se estableció en optional para Sitio web principal en implementaciones de varias tiendas.
  • El valor customer_address_id ahora se establece como se espera para una nueva dirección de facturación cuando se marca la casilla de verificación My billing and shipping address are the same. Se ha introducido una condición adicional para identificar si la dirección de facturación es la misma que la de envío antes de establecer el ID de dirección del cliente para la dirección de envío.
  • Se han resuelto los problemas de simultaneidad con la colocación del pedido. Anteriormente, si dos pedidos se realizaban desde exploradores diferentes al mismo tiempo o casi al mismo tiempo, a ambos se les asignaba el mismo ID de pedido. GitHub-35833
  • Realizar un pedido facturado automáticamente de un producto gratuito cuando la indexación asíncrona está habilitada ahora funciona según lo esperado. No se agregaron entradas a la tabla sales_order_grid or sales_invoice_grid para estos pedidos. Anteriormente, Adobe Commerce arrojaba una excepción porque la aplicación intentaba indexar las cuadrículas durante la colocación del pedido en lugar de depender de cron. GitHub-36334

Page Builder

  • Ahora puede utilizar la función de arrastrar y soltar de Page Builder para importar imágenes en lote en la galería.
  • Se han resuelto los problemas con la regla CSS del regulador de Page Builder. GitHub-34527
  • Los atributos Dropdown, Text area y Text field ya están disponibles en la lista de atributos del producto Page Builder. Anteriormente, solo estaban disponibles los atributos Dropdown y Text area.

Pago

  • El método de pago contra reembolso ya no se muestra en el flujo de trabajo de cierre de compra de la tienda cuando se exime el pago contra reembolso en el país especificado en las direcciones de envío y facturación. Anteriormente, no se implementaban las opciones de configuración de administración de esta función.
  • La información de pago de Vault ya no se muestra en la sección Pago del flujo de trabajo de creación de pedidos de administración si el comprador no ha guardado un token. GitHub-33954
  • Los precios personalizados ya no se duplican después de aplicar un descuento mediante la regla de precio del carro de compras. GitHub-35154
  • El nuevo estado de pedido pendiente ahora se acepta como se espera cuando se realiza un pedido mediante el método de pago de cierre de compra de subtotal cero.
  • La configuración del correo electrónico de invitado ahora se respeta durante la creación del pedido para un comprador invitado con PayPal Express a través de GraphQL. Anteriormente, el conjunto de direcciones de correo electrónico se sobrescribía con la dirección de correo electrónico establecida en la cuenta de PayPal.

Braintree

  • Los ID de pedido ahora se añaden a las solicitudes de liquidación de las transacciones de pago.
  • Adobe Commerce ya no genera el siguiente error cuando un comerciante hace clic en Reports > Braintree Settlement: Error: Undefined constant Braintree\PaymentInstrumentType::ANDROID_PAY_CARD in /var/www/html/vendor/paypal/module-braintree-core/Ui/Component/Report/Listing/Column/PaymentType.php:49. GitHub-35434
  • La consulta customerPaymentTokens ya no devuelve tokens de Braintree cuando el almacén está desactivado en el administrador.
  • Se han habilitado el botón Pay Later y los titulares para Italia y España.
  • Los usuarios administradores ahora pueden crear un pedido o reordenar cuando el método de pago del Braintree está activado. Anteriormente, Adobe Commerce arrojó este error: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174.
  • El proceso de pago mediante el método de pago al Braintree ahora se completa correctamente cuando el Braintree PayPal está habilitado y Enable Card Payments está deshabilitado. Anteriormente, la barra de progreso nunca se resolvía y Adobe Commerce mostraba este error de consola: adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66). GitHub-35961
  • Se han implementado enlaces web de protección contra el fraude, pago ACH y método de pago local. El enlace web de protección contra el fraude se activa solo si se ha tomado una decisión de riesgo en el Braintree. El enlace web de ACH se activa solamente después de que un pago de ACH se haya actualizado a settled o settlement decline.
  • Los campos de configuración Tagline y Layout se han eliminado de todos los botones PayPal de la sección Estilo de administración.
  • La opción de método de pago de Braintree Vault permanece seleccionada en el flujo de trabajo de cierre de compra cuando un comprador actualiza su dirección de facturación. Anteriormente, el método de pago se anulaba cuando el comprador anulaba la selección del botón My billing and shipping address are the same.
  • Los elementos de línea ahora se pasan para transacciones de PayPal cuando la configuración de Send Line Items está habilitada desde el administrador.
  • La lógica de validación del campo de método de pago ACH Account Number ahora admite texto de cuatro a 17 dígitos.
  • La consulta customerPaymentTokens ya no devuelve tokens de Braintree cuando el Administrador desactiva el almacén.
  • Los usuarios administradores ahora pueden crear un pedido o repedido para los clientes cuando el método de pago del Braintree está activado. Anteriormente, Adobe Commerce arrojó este error: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
  • Los compradores ahora pueden usar el método de pago del Braintree en tiendas donde Enable Card Payments se ha deshabilitado. Anteriormente, Adobe Commerce arrojaba este error de JavaScript: _adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).

Rendimiento

  • El indexador de precios ahora elimina los datos obsoletos como se espera después de reemplazar registros durante la reindexación parcial de catálogos grandes. Anteriormente, el proceso de reindexación eliminaba los registros obsoletos antes de reemplazarlos, lo que provocaba que los productos desaparecieran temporalmente de la tienda. GitHub-35616
  • Se ha mejorado el rendimiento del comando bin/magento/setup:upgrade. Anteriormente, este comando recreaba los déclencheur de la base de datos, lo que causaba un tiempo de inactividad significativo durante la ejecución del comando. Además, los indexadores no volvieron al modo programado y permanecieron en modo de guardado. GitHub-33386
  • La actualización de los precios de nivel por API ahora se ejecuta más rápido. Anteriormente, al actualizar los precios de nivel se generaban SELECT consultas innecesarias, lo que retrasaba la ejecución cuando se asignaban muchos grupos de clientes a un producto.
  • Se ha optimizado la carga de páginas que incluyen la lista de productos del widget de catálogo. Anteriormente, los atributos no globales se cargaban directamente desde la base de datos.

Informes

  • El informe de registro de administración ahora muestra un valor Value before change preciso cuando se actualiza una regla de categoría.
  • Las fechas del informe Total de pedidos de y a ahora se muestran correctamente después de seleccionarlas en el selector de fechas.
  • La constante ANDROID_PAY_CARD de Braintree/Ui/Component/Report/Listing/Column/PaymentType.php ha reemplazado a GOOGLE_PAY_CARD. Esto resuelve los problemas con el informe de Braintree.

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

  • El campo de comentarios RMA (Orders > Return) ya no contiene espacios en blanco redundantes. (Las etiquetas <textarea> y <?php están ahora en una línea.
  • La casilla de verificación Use Config Settings del campo Enable RMA ahora guarda su valor como se espera cuando se guarda un producto.

Críticas

  • Los usuarios administradores con acceso restringido a un ámbito específico ahora pueden eliminar críticas de producto según lo esperado.

Funciones

  • Se ha agregado una ACL que falta para Stores > Configuration > Services > OAuth. Anteriormente, no se podía definir el acceso a esta configuración de OAuth al configurar permisos de funciones.

Buscar search-heading

  • Las búsquedas de cadenas entre comillas ahora funcionan según lo esperado cuando el valor de configuración Minimum Terms to Match está habilitado. Anteriormente, Adobe Commerce arrojó este error: {"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ....
  • El filtro de búsqueda Punto de registro para registros de clientes en las cuadrículas de clientes de pedidos de venta ahora funciona según lo esperado durante la creación del pedido.
  • Se ha mejorado la calidad de las sugerencias de búsqueda para consultas de varias palabras.
  • Los resultados de la búsqueda ahora incluyen salidas de opciones agotadas para todos los productos disponibles cuando Display Out Of Stock Products está habilitado GitHub-36055

Envío

  • Las tarifas de envío de FedEx, USPS y UPS se calculan correctamente cuando la regla del carro de envío gratuito está configurada para que coincida únicamente con un subconjunto de artículos del carro de compras.
  • La página de envío Administrador ya no muestra la opción de envío gratuito cuando el total del pedido es inferior al importe mínimo especificado que es apto para el envío gratuito. GitHub-33697
  • Adobe Commerce ahora respeta la configuración del cliente administrador Show Company al mostrar la dirección de envío o de cliente. Cuando esta opción está deshabilitada, la empresa de envío ya no se incluye en el envío, la dirección del cliente ni en el registro de pedidos de la base de datos. Anteriormente, la información se mostraba a pesar de la deshabilitación de la configuración. GitHub-33729
  • Se ha eliminado una operación de guardado superflua en las ofertas al estimar el envío.
  • El ámbito storeId ahora se aplica directamente desde $request->getStoreId() para garantizar que el ámbito no se pierda cuando un usuario administrador cree un presupuesto. Anteriormente, ocasionalmente se producían problemas con los métodos de envío cuando se creaba una oferta desde el administrador utilizando módulos de terceros.
  • Ahora se generan direcciones URL compatibles con SEO para los productos cuya configuración url_key se anula en el nivel de vista de tienda. Anteriormente, las direcciones URL de productos de categorías no se redirigían a direcciones URL compatibles con SEO.
  • Adobe Commerce ya no genera un error de importe mínimo de pedido cuando se aplica un descuento a los costes de envío.
  • Los reembolsos de envío ahora se calculan correctamente cuando se aplican impuestos después de aplicar un descuento al envío.
  • Todas las promociones aplicables para un carro solicitado a través de la consulta de GraphQL cart se devuelven juntas. Las promociones incluyen descuentos de artículos de línea, reglas/descuentos de carro de compras, cupones, tarjetas regalo y crédito de la tienda. GitHub-35545
  • Se agregaron los tipos price_excl_tax y price_excl_tax al resultado de la mutación setShippingMethodsOnCart. GitHub-31206
  • Los ID de envío únicos ahora se pasan en las respuestas de GraphQL según lo esperado con los detalles de envío de los pedidos enviados a varias direcciones para consultas de GraphQL.

Ensayo

  • La reprogramación de la fecha de finalización de una actualización de ensayo ya no genera un error una vez completada la actualización. Anteriormente, los administradores no podían abrir las páginas de productos ni las cuadrículas de productos y Adobe Commerce arrojó este error: report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists.
  • El panel de ensayo ahora muestra el número total correcto de registros, y la paginación del panel ahora funciona según lo esperado. Anteriormente. el tablero mostraba un máximo de 20 registros.
  • Las previsualizaciones de ensayo de contenido ahora se cargan más rápido en implementaciones con muchos almacenes. Vista previa de reindexación ahora reindexe solo las tiendas seleccionadas.
  • Ahora, los productos se pueden añadir al carro de compras en el modo de vista previa de programación. Al actualizar los vínculos de rutas de exploración en el modo de vista previa de programación con estos parámetros se corrigió este problema: version, timestamp y signature.

Impuestos

  • La configuración de Display Zero Tax Subtotal ahora se aplica según lo esperado a pedidos en implementaciones que ofrecen varios métodos de envío. Anteriormente, el campo de impuestos cero estaba visible en la página del carro de compras durante el cierre de compra antes de seleccionar un método de envío, incluso cuando esta configuración estaba deshabilitada. GitHub-35561
  • Adobe Commerce ahora puede mostrar productos agrupados con impuestos en la página de categoría de tienda en implementaciones que ejecuten PHP 8.1. Anteriormente, Adobe Commerce no mostraba una lista de productos y arrojó esta excepción: main.CRITICAL: Exception: Deprecated Functionality: ucfirst(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/m24/vendor/magento/module-tax/Pricing/Render/Adjustment.php on line 188 in /var/www/m24/vendor/magento/framework/App/ErrorHandler.php:61. GitHub-35500
  • Los comerciantes ya no pueden mover una actualización programada a otra actualización que contenga el mismo ID de regla. Anteriormente, las actualizaciones de programación para reglas de precios de carro de compras creaban programaciones duplicadas cuando una actualización se movía a otra actualización que contenía el mismo ID de regla.
  • La asignación automática de grupos de clientes ahora funciona cuando no hay ningún ID de IVA asociado a la dirección del cliente. Si la dirección no contiene un ID de IVA, se trata como perteneciente a un cliente registrado sin IVA y Adobe Commerce cambia el grupo de clientes a un grupo sin IVA. Anteriormente, cuando se habilitaba Enable Automatic Assignment to Customer Group, la cuenta de cliente no se asignaba automáticamente a customerGroup cuando se eliminaba el identificador de IVA de la cuenta de cliente.
  • Ahora se muestran los bloques dinámicos correctos para las reglas de catálogo organizadas en el modo de vista previa provisional. Anteriormente, se mostraban bloques dinámicos no relacionados.
  • Ahora se representan correctamente varios impuestos en la sección Resumen de Impuestos de facturas y notas de abono cuando se aplica el envío múltiple durante el cierre de compra.
  • Los descuentos ya no se aplican cuando un subtotal de pedido, incluidos los impuestos, junto con el importe de impuestos fijos sobre productos supera la condición de regla de carro de compras en la página de carro de compras. Anteriormente, los descuentos se aplicaban incluso cuando el total superaba la condición de regla del carro de compras.
  • Ahora puede especificar un vat_id al usar GraphQL para agregar o actualizar la dirección de un comprador invitado.

Prueba

  • Se corrigieron errores de pruebas unitarias para distintas versiones de las bibliotecas ICU y libxml.
  • Ahora los desarrolladores pueden indicar al sistema que ejecute un accesorio de datos en una vista de almacén específica. El nuevo parámetro opcional scope acepta un elemento string que corresponde al alias de sujeción de almacén.
  • Se ha agregado la capacidad de generar varias instancias de una sujeción de datos mediante el parámetro opcional count.
  • Se ha eliminado la función array_first no nativa de las dependencias de desarrollo en el marco MFTF.

Traducciones y configuraciones regionales

  • La traducción en línea ahora funciona correctamente con caracteres especiales, incluidos caracteres Unicode extendidos, en frases ubicadas en etiquetas SCRIPT. Anteriormente, los caracteres japoneses se representaban incorrectamente en el script editado al utilizar la traducción en línea.
  • El carácter ñ de un nombre de producto ahora se convierte en n durante la generación de claves de URL.
  • El resultado de ejecutar bin/magento i18n:collect-phrases ahora incluye traducciones de plantillas de correo en construcciones de depend según lo esperado. GitHub-35449
  • Ahora, los caracteres japoneses se pueden introducir directamente en el conjunto de atributos de la página de productos (cuadro combinado). Anteriormente, al introducir directamente caracteres japoneses en este cuadro combinado, se cambiaban o eliminaban caracteres al ejecutar el explorador Firefox en MacOS. El atributo de HTML textInput, que puede administrar mejor la conversión de caracteres japoneses en todos los exploradores, ha reemplazado los atributos Value y valueUpdate.
  • El método getOptions ahora recupera correctamente price valores de etiqueta de atributo basados en la vista de tienda. Anteriormente, el atributo price se tradujo durante las operaciones de GraphQL para la vista de almacén incorrecta.

IU

  • La moneda específica del sitio web ahora se utiliza según lo esperado para las columnas Precio especial, Coste y MSRP en la cuadrícula de productos del administrador. Anteriormente, el símbolo de moneda correcto no se mostraba en la cuadrícula de productos del catálogo de administración al filtrar por la vista de la tienda para un precio especial.
  • La funcionalidad de arrastrar y soltar de las opciones personalizadas del producto ahora funciona según lo esperado. Ahora puede mover una opción personalizable de una página a otra cuando hay varias páginas disponibles en la cuadrícula de opciones personalizables.
  • Los gráficos del tablero de administración ahora muestran los intervalos de tiempo hasta la fecha desde el comienzo del año natural actual hasta la fecha actual según lo esperado. Anteriormente, los intervalos de fechas incluían más de 12 meses.
  • Se ha añadido un icono de favoritos predeterminado que falta en la página principal de la tienda. GitHub-35493
  • El administrador ahora muestra correctamente la última fecha de inicio de sesión de cada usuario administrador. Anteriormente, cuando un usuario administrador iniciaba sesión en el Administrador por primera vez, se mostraba un valor de fecha de inicio de sesión vacío en la cuadrícula del usuario Administrador.
  • La característica de vista previa de plantillas de correo electrónico (Marketing > Communications > Email Templates) ahora muestra las plantillas correctamente. Anteriormente, la imagen de vista previa se truncaba. GitHub-35697
  • Se ha agregado la clase new-shipping-address-modal para admitir el estilo del nuevo modal de dirección de envío.
  • Se agregó texto informativo debajo del campo de entrada Storefront Properties del atributo Search Weight en el administrador Stores > Attributes > Product.
  • Las vistas previas de correo electrónico ahora se abren en una pestaña independiente en lugar de en una ventana emergente, que proporciona una vista más amplia del contenido del correo electrónico. Anteriormente, el contenido del correo electrónico se truncaba.
  • La función de filtro para la cuadrícula de funciones de usuario (Administración System > Permissions > User roles > Administrators) ahora funciona según lo esperado. El valor de la matriz ahora se gestiona por separado. Anteriormente, al intentar escribir una consulta en esta cuadrícula, Adobe Commerce arrojaba este error de consola y la página no se cargaba: Uncaught TypeError: Cannot read properties of null. GitHub-35993
  • Se ha añadido validación para valores de atributo al crear un cliente a través de la API de REST. El proceso de creación falla ahora cuando se proporcionan valores de atributos no válidos. Anteriormente, no había ninguna validación para el sexo, que no es un campo obligatorio. Durante la creación del cliente, el valor pasado para el género se guardó en la tabla customer_entity.
  • Las direcciones añadidas durante el cierre de compra ahora mantienen el formato esperado. Anteriormente, se omitían las líneas en blanco.
  • Cambiar la vista de cuadrícula de columnas de la cuadrícula de producto y seleccionar nuevas columnas para una vista personalizada ya no déclencheur la acción Seleccionar todas las columnas de cuadrícula. Anteriormente, el cuadro de columna desaparecía y los productos de la cuadrícula se seleccionaban o anulaban su selección. GitHub-36302
  • Los usuarios administradores ahora pueden borrar el registro de tareas completadas de administración correctamente. Anteriormente, el administrador mostraba este error: Something went wrong. GitHub-36255
  • La configuración del encabezado del tema Welcome Text ahora puede contener un carácter de comillas simples. Anteriormente, Adobe Commerce arrojaba este error de JavaScript: Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }".

Reescrituras de URL

  • Si se cambia la visibilidad del producto a Not Visible Individually en el ámbito global de todas las vistas de tienda, ahora solo se quitarán las reescrituras de URL para las vistas de tienda que no hayan anulado el atributo de visibilidad. Cambiar la visibilidad del producto de esta manera también genera reescrituras de URL para todas las vistas de tienda, incluidas aquellas que han anulado el atributo de clave de URL (pero no la configuración de visibilidad). Anteriormente, las reglas de reescritura de URL no se aplicaban cuando se cambiaba la configuración de visibilidad.

Visual Merchandiser

  • Ya no puede cambiar manualmente las posiciones de los productos en los listados de categorías de Visual Merchandiser cuando los productos coinciden con una regla.
  • Los usuarios administradores con acceso restringido a un único almacén ya no pueden arrastrar y soltar productos dentro de una categoría en Visual Merchandiser. Ahora pueden usar la columna Position para reorganizar la posición del producto. Anteriormente, estos usuarios solo podían cambiar la posición del producto dentro de una categoría arrastrando y soltando.
  • La sección Productos en categoría de la página de edición de categorías ahora muestra la cantidad correcta de productos configurables. La columna de tabla correcta ahora se utiliza para recuperar la cantidad de productos configurables.

Marco de API web

  • La API de REST DELETE /rest/V1/products/:sku/media/:entryId devuelve ahora un mensaje de error si la imagen no se quita del producto porque está asignada a una función en otras vistas de la tienda. Anteriormente, la API devolvía una respuesta correcta incluso cuando la imagen no se eliminaba correctamente.
  • Los comerciantes ahora pueden utilizar la API de REST para crear un abono para un pedido con un total general cero. Anteriormente, Adobe Commerce mostraba este error: The order does not allow a credit memo to be created. The credit memo's total must be positive. We can't create a credit memo for the invoice/order.
  • La página de edición del producto Administrador ahora refleja con precisión las asignaciones de un producto después de que la asignación del sitio web del producto se haya cambiado mediante la API de REST. GitHub-36281
  • Ya no se pueden incluir ID de opción duplicados para atributos de selección múltiple durante solicitudes de API de REST masivas para actualizar productos. Anteriormente, se podían establecer ID de opción duplicados para atributos de selección múltiple al enviar una solicitud de API masiva para actualizar un producto. Cuando ese atributo de selección múltiple se configuró para su inclusión en la navegación por capas, la indexación EAV falló con un error Duplicate entry.
  • Los nombres de productos en los carros de compras ahora utilizan los valores especificados de la vista de la tienda según lo esperado. Anteriormente, los nombres de producto en el carro de compras siempre devolvían el valor de vista de tienda predeterminado en las respuestas del carro de compras de la API de REST.
  • Los valores de opciones personalizadas de elementos del carro de compras ahora se pueden actualizar mediante la API de REST. GitHub-35768
  • Las solicitudes de API en lotes de más de 20 sourceItems ahora se completan correctamente en implementaciones en las que el inventario está habilitado.
  • El servicio de moneda Fixer ahora funciona como se espera con las claves generadas a través de ApiLayer, y las tasas de moneda se exportan correctamente. Anteriormente, Adobe Commerce generaba un error cuando un comerciante intentaba importar tasas de cambio a través del administrador.
  • Ahora puede usar la solicitud de la API de REST /rest/V1/bulk?searchCriteria[filter_groups] para consultar operaciones masivas por criterios de búsqueda. Anteriormente, se devolvió el siguiente error: report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
  • Los precios de los productos ahora se actualizan correctamente en las páginas de búsqueda del catálogo de administración y de tienda mediante la API Administrar precio base. GitHub-33767

Lista de deseos

  • Los compradores ahora pueden añadir productos a su lista de deseos después de iniciar sesión. Anteriormente, debido a problemas con la validación de la clave del formulario después de iniciar sesión, la clave del formulario enviada con la solicitud de complemento a la lista de deseos se invalidó.
  • Los productos ahora se añaden según lo esperado a la lista de deseos desde la lista de productos y la vista de páginas después de que un cliente invitado confirme su cuenta mediante un correo electrónico de confirmación. Anteriormente, los productos no se añadían a la lista de deseos después de la confirmación de la cuenta.
  • La consulta addProductsToWishlist devuelve ahora un mensaje de error informativo cuando un comprador intenta agregar un artículo a una lista de artículos deseados con un valor no válido para la opción personalizada del producto select. Anteriormente, faltaba la validación del servidor para el valor de la opción personalizada desplegable, lo que provocaba un valor no válido en la base de datos. Como resultado, el extremo devolvió este error interno del servidor: GraphQL endpoint returns Internal server error with "Call.

Problema conocido

Problema: Las etiquetas de reglas de ventas escalonadas pueden no coincidir después de actualizar a Adobe Commerce 2.4.6 o posterior desde versiones anteriores a la 2.4.5. Solución alternativa: aplique ACSD-50625_2.4.5-P1.patch durante la actualización antes del paso Actualizar metadatos. Ver problemas de etiquetas salesRules al actualizar desde versiones < 2.4.5 artículo de Knowledge Base.

Pasos generales para resolver este problema:

  1. Descargue el parche necesario. Consulte los problemas de las etiquetas salesRules al actualizar desde versiones < 2.4.5 Artículo de Knowledge Base.
  2. Siga los pasos de actualización descritos en la fase Administrar paquetes del proceso de actualización Realizar una actualización.
  3. Aplique este parche durante la actualización después de la fase Administrar paquetes y antes de la fase Actualizar metadatos. Consulte Cómo aplicar un parche de Compositor proporcionado por el Adobe .
  4. Complete el proceso de actualización.

Problema: no puede crear un abono cuando el envío gratuito está habilitado (Stores > Configuration > Sales > Delivery Methods) y el precio de envío mostrado incluye impuestos. Cuando intenta crear un abono, Adobe Commerce genera esta excepción: "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139. GitHub-36800

Solución alternativa: Ya está disponible una solución para este problema. Vaya a Herramienta Parches de calidad: busque parches y busque el parche ACSD-50814.

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

Socio
Solicitudes de extracción
Problemas relacionados con GitHub
Ampersand
magento/magento2#36529 magento/magento2#36224 magento/magento2#34117
magento/magento2#36726 magento/magento2#35546 magento/magento2#36334 magento/magento2#36628
Elgentos
magento/magento2#36414
magento/magento2#36831
Ojo De Peces
magento/magento2#36329 magento/magento2#36304 magento/magento2#36239 magento/magento2#36187 magento/magento2#35738 magento/magento2#35631 magento/magento2#35540 magento/magento2#35436 🔗magento/magento2#350337} magento/magento2#34186
magento/magento2#36641 magento/magento2#36338 magento/magento2#36554 magento/magento2#36646 magento/magento2#36648 magento/magento2#35325 magento/magento2#35711 magento/magento2#35488 magento/magento2#343217}
Perspective Studio
magento/magento2#36036 magento/magento2#36031 magento/magento2#36027
magento/magento2#36337
MRM COMMERCE
magento/magento2#35807 magento/magento2#32979
magento/magento2#35994
Interactivo4
magento/magento2#35564
magento/magento2#35568
Atwix
magento/magento2#33411 magento/magento2#33148 magento/magento2#33093 magento/magento2#32889 magento/magento2#32481 magento/magento2#31794 magento/magento2#29417 magento/magento2#25677
magento/magento2#35858 magento/magento2#29418
Asesoría inteligente
magento/magento2#31606
magento/magento2#31643 magento/magento2#31866
Blue Acorn iCi
magento/magento2#31360 magento/magento2#31355
magento/magento2#31443 magento/magento2#31373 magento/magento2#32625
creativestyle
magento/magento2#30647
magento/magento2#30672 magento/magento2#32985 magento/magento2#30613

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

Miembro de la comunidad colaborador
Solicitudes de extracción
Problemas relacionados con GitHub
poner a prueba
magento/magento2#36663
magento/magento2#14495
conveniente
magento/magento2#36529
magento/magento2#36726 magento/magento2#35546
rehén
magento/magento2#36495
magento/magento2#36515
sinhaparul
magento/magento2#36458
magento/magento2#36639
barryvdh
magento/magento2#36452
magento/magento2#32004 magento/magento2#36891
peterjaap
magento/magento2#36414
magento/magento2#36831
engcom-Delta
magento/magento2#36411
magento/magento2#35971 magento/magento2#36841
liofilizado
magento/magento2#36379
magento/magento2#36640
linitskyi
magento/magento2#36370
magento/magento2#36482 magento/magento2#36471
pykettk
magento/magento2#36329
magento/magento2#36641
sofocado
magento/magento2#36304
magento/magento2#36338
asim-blueprintprep
magento/magento2#36253
magento/magento2#36252
texboy
magento/magento2#36241
magento/magento2#36349 magento/magento2#29448
conveniente
magento/magento2#36224
magento/magento2#36334
sofocado
magento/magento2#36187
magento/magento2#36554
serbinia
magento/magento2#36036
magento/magento2#36337
dshevtsov
magento/magento2#35990
magento/magento2#36230 magento/magento2#36651
Bashev
magento/magento2#35986
magento/magento2#35899 magento/magento2#36055 magento/magento2#36312 Smile-SA/elasticsuite#2772 plumrocket/module-layered-navigation-fix-magento-2.4.5#1
lbajsarowicz
magento/magento2#35948
magento/magento2#36539
tkotosz
magento/magento2#35940
magento/magento2#36642
MeCapron
magento/magento2#35885
magento/magento2#36042
poner a prueba
magento/magento2#35848
magento/magento2#35939
Viper9x
magento/magento2#35846
magento/magento2#36643
lalittmohan
magento/magento2#35818
magento/magento2#36644
vo1
magento/magento2#35817
magento/magento2#36645
pavoroso
magento/magento2#35816
magento/magento2#36593
bgorski
magento/magento2#35807
magento/magento2#35994
pykettk
magento/magento2#35738
magento/magento2#36646
mrtuvn
magento/magento2#35656
magento/magento2#36647
pykettk
magento/magento2#35631
magento/magento2#36648
pmzandbergen
magento/magento2#35572
magento/magento2#35579 Smile-SA/magento2-module-store-locator#134
osrecio
magento/magento2#35564
magento/magento2#35568
sofocado
magento/magento2#35540
magento/magento2#35325 magento/magento2#35711
nicka101
magento/magento2#35524
magento/magento2#35719
nazarklovanych
magento/magento2#35441
magento/magento2#35558
pykettk
magento/magento2#35436
magento/magento2#35488
VladyslavSikailo
magento/magento2#35216
magento/magento2#35417
Sental
magento/magento2#35060
magento/magento2#32177
novakivskiy
magento/magento2#34992
magento/magento2#34991
erfanimani
magento/magento2#34232
magento/magento2#34246 magento/magento2#34247
sofocado
magento/magento2#34186
magento/magento2#34321
conveniente
magento/magento2#34117
magento/magento2#36628
khoimm92
magento/magento2#34061
magento/magento2#35481
dudzio12
magento/magento2#33892
magento/magento2#33820
kassner
magento/magento2#33859
magento/magento2#34439
duxabilii
magento/magento2#33841
magento/magento2#35187
sergeynezbritskiy
magento/magento2#33803
magento/magento2#33802
sean-breeden
magento/magento2#33742
magento/magento2#34524
SilinMykola
magento/magento2#32889
magento/magento2#35858
aligent-lturner
magento/magento2#31606
magento/magento2#31643 magento/magento2#31866
lbajsarowicz
magento/magento2#31360
magento/magento2#31443
lbajsarowicz
magento/magento2#31355
magento/magento2#31373 magento/magento2#32625
krzksz
magento/magento2#30647
magento/magento2#30672 magento/magento2#32985 magento/magento2#30613
Usik2203
magento/magento2#29417
magento/magento2#29418

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.6 con Composer.

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