Otra información de la versión

Aunque el código para estas características se incluye con versiones trimestrales, varios de estos proyectos (por ejemplo, B2B, Page Builder y Progressive Web Applications (PWA) Studio) también se publican de forma independiente. Las correcciones de estos proyectos se documentan en la información de versión separada y específica del proyecto que está disponible en la documentación de cada proyecto.

Aplicar MC-43048__set_rate_limits__2.4.3.parche para solucionar el problema con la limitación de velocidad de la API

Esta revisión proporciona una solución para el problema en el que las API de Web no pueden procesar solicitudes que contienen más de 20 elementos en una matriz.Este problema afecta a las implementaciones que ejecutan Magento Open Source 2.4.3, Adobe Systems Commerce 2.4.3 o 2.3.7-p1. Se agregó la limitación de velocidad incorporada a estas versiones para evitar ataques de denegación de servicio (DoS), y el máximo predeterminado se estableció en 20. Este parche revierte el límite predeterminado a un valor superior. Si sospecha que su tienda está experimentando un ataque de denegación de servicio, Adobe recomienda reducir los límites de entrada predeterminados a un valor más bajo para restringir el número de recursos que se pueden solicitar. Consulte el artículo de la base de conocimiento API web no puede procesar solicitudes con más de 20 elementos en la matriz.

Aplique AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch para solucionar el error grave de PHP en la actualización

Durante la actualización a Adobe Commerce 2.4.3 puede producirse el siguiente error grave:

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

Este error se debe al uso de la str_contains función, que es una función PHP 8.x. Adobe Commerce 2.4.3 no admite PHP 8.x. Este hotfix reemplaza esta función con una función compatible con PHP 7.x. Consulte el artículo de Knowledge Base de actualización de Adobe Systems Commerce 2.4.3, 2.3.7-p1 PHP Fatal error Hotfix .

AC-3022.patch Aplicar seguir ofreciendo DHL como transportista

DHL ha introducido la versión de esquema 6.2 y dejará de utilizar la versión de esquema 6.0 en un futuro próximo. Adobe Commerce 2.4.4 y las versiones anteriores compatibles con la integración de DHL solo admiten la versión 6.0. Los comerciantes que implementen estas versiones deben aplicar AC-3022.patch lo antes posible para seguir ofreciendo DHL como transportista. Consulte el artículo de la base de conocimiento Aplicar un parche para seguir ofreciendo DHL como transportista para obtener información sobre cómo descargar e instalar el parche.

Características destacadas

Busque los siguientes aspectos destacados en esta versión.

Mejoras sustanciales en materia de seguridad

Esta versión incluye 33 correcciones de seguridad y mejoras de seguridad de la plataforma. Muchas de estas correcciones de seguridad se han transferido a 2.4.2-p2 y 2.3.7-p1.

Treinta y tres mejoras de seguridad que ayudan a cerrar las vulnerabilidades de ejecución remota de código (RCE) y ejecución de scripts en sitios múltiples (XSS)

Hasta la fecha no se han producido ataques confirmados relacionados con estos problemas. Sin embargo, ciertas vulnerabilidades pueden explotarse para acceder a la información del cliente o hacerse cargo de sesiones de administrador. La mayoría de estos problemas requieren que un atacante obtenga primero acceso al administrador. Como resultado, le recordamos que tome todas las medidas necesarias para proteger a su Administrador, incluidos, entre otros, estos esfuerzos: lista de direcciones IP permitidas, autenticación de doble factor, uso de una VPN, el uso de una ubicación única en lugar /adminde , y una buena higiene contraseña. Consulte Adobe Systems boletín de seguridad para obtener información sobre estos problemas corregidos.

Mejoras de seguridad adicionales

Las mejoras de seguridad de esta versión mejoran el cumplimiento de las prácticas recomendadas de seguridad más recientes, entre las que se incluyen:

  • Un nuevo plug-in Composer ayuda a evitar confusiones de dependencias e identifica paquetes maliciosos con los mismos nombres que los paquetes internos en el repositorio de paquetes públicos. Consulte las versiones de Adobe Systems Nuevo complemento Composer con la versión 2.4.3 publicación de blog.

  • La limitación de velocidad ahora está integrada en las API para evitar ataques de denegación de servicio (DoS). Las API web ahora imponen restricciones sobre el tamaño o el número de recursos (el máximo predeterminado es 20 y se puede configurar en un valor diferente según necesidad empresarial) que puede solicitar un cliente. Consulte Limitación de velocidad para obtener información sobre cómo configurar estas restricciones.

  • La cobertura de ReCAPTCHA se ha ampliado para incluir:

    • Las API web que tienen páginas HTML correspondientes se cubren a través de ReCAPTCHA. (Esto excluye las API web a las que acceden las integraciones). La cobertura de ReCAPTCHA protege los endpoints de ataques de spam. Cuando un servicio de integración de terceros que usa OAuth accede a las API web, ReCAPTCHA se desactiva.

    • La Página de escaparate de realizar pedido y las API web relacionadas con el pago. La protección ReCAPTCHA para estas páginas está deshabilitada de forma predeterminada y puede habilitarse desde el administrador. Esta cobertura agrega un mecanismo de fuerza bruta para proteger a las tiendas de ataques de carding.

NOTE
A partir de la versión 2.3.2 de, asignaremos y publicaremos números de Vulnerabilidades comunes y exposiciones (CVE) indexados con cada error de seguridad que nos comuniquen partes externas. Esto permite a los usuarios identificar con mayor facilidad las vulnerabilidades sin solucionar en su implementación. Puede obtener más información sobre los identificadores CVE en CVE.

Mejoras de infraestructura

Esta versión contiene mejoras que mejoran la calidad del marco de trabajo y de las siguientes áreas funcionales:

  • Cuenta de cliente

  • Catálogo

  • CMS

  • OMS

  • Importar/Exportar

  • Promociones y direccionamiento

  • Carro y cierre de compra

  • B2B

  • Puesta en escena y Vista previa

PayPal Paga después ahora se admite en implementaciones que incluyen PayPal. Esta función permite a los compradores pagar un pedido en cuotas quincenales en lugar de pagar el monto total en el momento de la compra.

use_application_lock Nuevo modo de indexación. El use_application_lock modo permite habilitar la reindexación mediante el uso de entorno variables o configurando el app/etc/env.php archivo. Ya no es necesario restablecer manualmente el indizador después de un error con este modo habilitado. Consulte Uso aplicación modo de bloqueo para procesos de reindexación.

Platform mejoras

Versión 2.4.3 aún no es compatible con PHP 8.x, pero las siguientes actualizaciones de la plataforma nos acercan a la compatibilidad futura con PHP 8.x.

  • Las dependencias del Compositor principal y los bibliotecas terceros se han actualizado a las últimas versiones compatibles con PHP 8.x.

  • El biblioteca KnockoutJS se ha actualizado a la versión 3.5.1 (la última versión).

  • Se ha eliminado la biblioteca TinyMCE v3 obsoleta. Las Magento_Tinymce3Banner pruebas módulo y MFTF relacionadas con TinyMCE v3.x se han eliminado de Adobe Systems Commerce.

  • Versión 2.4.3 ha sido probado y confirmado como compatible con Redis 6.0.12. (la versión 2.4.x sigue siendo compatible con Redis 5.x.)

  • Las dependencias biblioteca de Laminas se han actualizado a versiones compatibles con PHP 8.x. Se han quitado algunas dependencias redundantes del archivo composer.json. Adobe Commerce 2.4.3 usa Laminas 3.4.0.

Mejoras de rendimiento

Esta versión incluye mejoras que reducen el tiempo de indexación de los indexadores Precio del producto y Regla de catálogo. Los comerciantes ahora pueden excluir un sitio web de un grupo de clientes o un catálogo compartido, lo que reduce el número de registros para la indexación y mejora los tiempos de indexación.

Live Search impulsado por Adobe Sensei ofrece un experiencia de búsqueda intuitivo mediante el uso de algoritmos de aprendizaje artificial y inteligencia artificial para realizar una análisis profunda de datos sobre visitantes agregados.Consulte las notas de la versión de Search en vivo.

GraphQL

Esta versión añade compatibilidad con GraphQL para las siguientes funciones:

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

B2B

La versión 2.4.3 presenta B2B v1.3.2. Esta versión incluye varias correcciones de errores. Ver Notas de la versión B2B.

Page Builder

Page Builder ahora está disponible como una extensión empaquetada en Magento Open Source. Ahora es el herramienta de edición Contenido predeterminado para Adobe Systems Commerce 2.4.3 y Magento Open Source 2.4.3. Puede reemplazar el editor WYSIWG con cualquier terceros módulo.

Page Builder reemplaza el editor TinyMCE en las siguientes áreas de administración:

  • Página CMS
  • Bloque CMS
  • Categoría Descripción
  • Descripción del producto

Todos los contenido creados en TinyMCE se han migrado a Page Builder como HTML.

PWA Studio

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

Actualizar Compatibilidad herramienta

El ámbito de la herramienta de Compatibilidad de actualización se ha ampliado en función de los comentarios del comunidad. Unirse nuestro #upgrade de compatibilidad herramienta Slack canal obtener apoyo del producto de Adobe equipo y el comunidad, así como ayudar a guía la dirección futura del herramienta.

Actualizaciones de servicios administrados en la nube

Esta versión incluye mejoras en nuestra compatibilidad con Amazon Simple Storage Service (AWS S3) y los servicios administrados en la nube de Amazon Aurora. Proporciona compatibilidad certificada con AWS ElastiCache, AWS Elasticsearch y AWS Managed Queues (Rabbit MQ). (Hemos probado la funcionalidad, el rendimiento y la integración de estos servicios con Adobe Commerce).

Integración Adobe Stock

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

Extensiones desarrolladas por el proveedor

Consulte los siguientes temas para conocer las actualizaciones de las características y los cambios de esta versión:

Problemas solucionados

Hemos corregido cientos de problemas en el código principal 2.4.3.

Instalación, actualización implementación

  • El bin/magento setup:db:status comando ahora devuelve un mensaje que indica que todo está actualizado después de una actualización correcta. Anteriormente, el aplicación mostraba este error: Declarative Schema is not up to date.
  • Los valores de configuración ahora se conservan en el formulario recargar cuando se produce un error en la creación de un nuevo producto configurable. Anteriormente, los valores se perdían durante el formulario recargar y el aplicación mostraba este error: The value specified in the URL Key field would generate a URL that already exists. GitHub-32102
  • El aplicación ya no produce una excepción cuando se ejecuta bin/magento setup:upgrade para actualizar desde una implementación Magento Open Source con Redis a Adobe Systems Commerce.
  • Las reglas de precios carro de compras creadas anteriormente ahora se muestran en el Página de panel de ensayo de contenido después de actualizar un implementación de Magento Open Source a Adobe Systems Commerce.
  • Las implementaciones que se ejecutan en Galera Cluster ahora dan soporte a más clientes. GitHub-31038
  • Los administradores ahora pueden iniciar sesión correctamente en un implementación cuando el aplicación se haya instalado con la opción o con web/seo/use_rewrites 0 —use-rewrites=0 en core_config_data_table. GitHub-32100
  • Se ha actualizado la sortOrder carga para AsyncCssPlugin. El aplicación ahora se carga antes de AsyncCssPlugin JsFooterPlugin. GitHub-30882
  • Magento\Config\Model\Config\PathValidator Ahora comprueba la ruta de visualización para determinar si existe un elemento y, si tiene una ruta de configuración, utiliza la ruta en config.xml su lugar para validación. GitHub-27678
  • La compilación de archivos Less con Grunt o por compilación del lado del servidor ahora produce los mismos resultados. Anteriormente. .abs- styles, que extiende otros .abs- styles en _extends.less, no se generaron correctamente cuando se compilaron con Grunt. Esto resultaba en diferencias entre las implementaciones de producción y desarrollo. GitHub-7231

AdminGWS

  • Admin GWS ahora usa int valores para la website_id condición SQL en las colecciones de Admin para administradores con permisos personalizados.

Integración Adobe Stock

  • La aplicación ahora muestra un mensaje informativo y un vínculo a la página Administrador Tiendas > Configuración > Avanzado > Sistema en la página Buscar Adobe Stock cuando no se han establecido Clave de API (ID de cliente) y Secreto de cliente. Anteriormente, la aplicación mostraba este error: We couldn't find any records y ningún vínculo.

Servidor

  • Los administradores con acceso restringido (por ejemplo, a los que se les asigna acceso a un solo sitio web) ya no pueden editar las categorías configuradas como Ámbito global.
  • El informe del sistema generado (soporte > del sistema > informe del sistema) ahora se representa correctamente. Anteriormente, los contenido de informe estaban desalineados.
  • Ahora, la aplicación desactiva validación en el campo Precio como se espera cuando la configuración de precio dinámico está habilitada durante paquete creación del producto. Anteriormente, el aplicación producía un error de validación al quitar un valor del campo Precio cuando estaba habilitado el ajuste Precio dinámico. GitHub-26214
  • Los redireccionamientos infinitos ya no se producen cuando el URL de administración difiere del sitio web predeterminado URL en implementaciones donde el aplicación está configurado para ser accesible desde dos URL.

Productos del paquete

  • Ahora puede usar la addProductsToCart mutación para agregar un producto paquete con más de una opción de casilla de verificación a una carro de compras.
  • La indexación de precios de paquete productos ahora se ejecuta utilizando tablas temporales, lo que evita bloquear las tablas de la base de datos. Anteriormente, la aplicación utilizaba tablas físicas, lo que resultaba en tablas bloqueadas.
  • El precio de un artículo paquete ahora se puede establecer en 0,00. Anteriormente, cuando se volvía al Página de edición después de establecer el precio en 0,00, el precio volvía a su valor predeterminado. GitHub-32383
  • Los detalles del pedido para pedidos que contienen productos agrupados ahora muestran el precio correcto para los productos agrupados si el precio se cambió antes de realizar el pedido.
  • El estado de stock del producto agrupado ahora se actualiza en función del estado de stock de sus productos secundarios. Anteriormente, los productos agrupados se mostraban como agotados cuando se eliminaba una opción del producto y el producto agrupado tenía dos opciones con el mismo SKU.
  • Un administrador ahora puede cambiar el valor del atributo Shipment Type de un producto agrupado después de que se haya movido a un grupo de atributos diferente. Anteriormente, este atributo siempre se guardaba con un valor Together si se movía a un grupo de atributos distinto del predeterminado en el conjunto de atributos.
  • La mutación setGuestEmailOnCart de GraphQL ahora actualiza correctamente el correo electrónico de invitado. Anteriormente, las tablas de direcciones de presupuesto y presupuesto no se actualizaban.
  • Agregar, quitar o actualizar un producto secundario a un producto paquete a través de llamadas a la API de REST ahora desencadena la reindexación según lo esperado. Anteriormente, estas acciones no desencadenaban la reindexación y, como resultado, el producto paquete no cambiaba su estado de existencias hasta que se realizaba la reindexación manual.
  • Ahora, la aplicación muestra el rango de precios correcto para paquete productos con precios escalonados. GitHub-30284
  • El aplicación ahora muestra el mismo precio total que se esperaba en el Página de carro de compras y en el paso de envío del flujo de trabajo de pago después de que el precio de una opción de paquete haya cambiado.
  • Ahora puede configurar correctamente un producto paquete accediendo a él desde un carro de compras de cliente. Anteriormente, Configurar producto nunca Página cargaba completamente y no se podía guardar la configuración.
  • Los comerciantes ahora pueden asignar un precio único para un paquete de productos en cada vista de tienda de una implementación de varias tiendas. Los precios específicos del sitio web se guardan en la tabla catalog_product_bundle_selection_price. Anteriormente, la aplicación no basaba el precio de un producto agrupado en el ámbito del sitio web ni siquiera cuando Tiendas > Configuración > Catálogo > Catálogo > Precio > Ámbito del precio de catálogo se establecía en Website. No se guardaron precios específicos de sitios web en catalog_product_bundle_selection_price. GitHub-12584
  • Las facturas de los productos agrupados ahora muestran la cantidad correcta para los productos simples asociados cuando se deshabilita Asignación dinámica de precios. Anteriormente, los productos simples asociados con el producto agrupado tenían la cantidad del producto principal, no el producto agrupado). GitHub-30802
  • La updateProductsInWishlist mutación ahora actualiza con éxito los elementos que pertenecen a un producto paquete en un deseo lista. Anteriormente, en lugar de actualizar el elemento de lista de deseo, esta mutación eliminaba el elemento y creaba uno nuevo, que cambiaba la ID del elemento.
  • Ahora puede definir los atributos y has_options paquete required_options como se espera al crear o actualizar un producto paquete con el POST /V1/product/:sku extremo. Anteriormente, estos atributos personalizados se establecían en 0 (cero) a pesar de los esfuerzos por establecerlo en 1 (uno).
  • Los datos de productos de paquete que antes faltaban ahora se incluyen en el proceso de ensayo. Esto resuelve incoherencias en el comportamiento del producto cuando los compradores compran un producto paquete desde el Página de listado de productos en lugar de agregarlo directamente desde una página de producto.

Caché

  • El varnish6.vcl archivo se ha actualizado para omitir almacenamiento en caché del Página del cliente.

CAPTCHA

  • CAPTCHA ahora valida correctamente los datos proporcionados por un comprador, y los campos CAPTCHA ahora se muestran como se esperaba después de los múltiples intentos fallidos de un comprador de pagar con PayPal Payflow Pro.
  • CAPTCHA validación ya no falla aleatoriamente en el Página de pago del flujo de trabajo de pago.
  • La aplicación ahora muestra los campos CAPTCHA como se espera después de superar el número de intentos de finalización fallidos. Anteriormente, aunque la aplicación le pedía que intentara volver a intentar el desafío CAPTCHA, no mostraba los campos CAPTCHA.
  • CAPTCHA ahora funciona como se espera en la página de cierre de compra. Anteriormente, después de que un comprador respondiera correctamente a un desafío CAPTCHA, el cargador en el proceso de pago nunca Página completado, y el aplicación mostraba este error: captchaData[formId] is undefined. (Este error se producía únicamente cuando el comprador utilizado el mismo explorador desde el que había accedido previamente a un implementación que ejecutaba 2.3.5-p1.)
  • _.isEmpty()Las comprobaciones del defaultCaptcha.js archivo se han completado correctamente. Anteriormente, estas comprobaciones no se completaban y, como resultado, el Página de cierre de compra no se cargaba después de la actualización. GitHub-31641

Carro y cierre de compra

  • La aplicación ahora tiene en cuenta las ubicaciones decimales específicas de la configuración regional al convertir y actualizar la cantidad de productos en el carro de compras.
  • Los pedidos ya no omiten un nombre de cliente proporcionado con una dirección de envío. Anteriormente, los nombres se omitían porque el indicador same_as_billing no se guardaba en la base de datos.
  • Los vínculos a los registros de regalos ahora persisten como se espera cuando edita un producto en el carro de compras. Anteriormente, estos vínculos desaparecían al hacer clic en el botón Actualizar carro de compras.
  • Todos los mensajes cola para el consumidor quoteItemCleaner ahora cambian su estado a complete como se esperaba después de la eliminación de varios productos. Anteriormente, solo un mensaje para este consumidor cambiaba su estado a complete, y el resto cambiaba su estado a in progress.
  • El aplicación ahora muestra el mensaje de validación de Términos y condiciones en el bloque correspondiente solo cuando un comprador hace clic en el botón Realizar pedido . Anteriormente, el aplicación mostraba este mensaje en el bloque de Code de descuento de Aplicar cada vez que un comprador cambiaba el método de pago en el flujo de trabajo de pago: The order wasn't placed. First, agree to the terms and conditions, then try placing your order again.
  • Ahora se le redirige al Página de cierre de compra según lo esperado después de agregar un producto paquete al carro de compras desde un previsualización Actualizador de la programación y hacer clic en el carro de compras. GitHub-447
  • El aplicación ahora descarta los cambios en el formulario de dirección de facturación en el paso de pago del pago si el comprador no puede hacer clic en el botón de actualización y regresa al paso de envío.
  • El aplicación ahora muestra un mensaje de error informativo y no actualiza el cantidad del producto cuando un comprador agrega un cantidad de producto no válido y hace clic en el botón Actualizar artículos y cantidades en el Página Administrar carro de compras de compras. Anteriormente, la aplicación actualizaba el cantidad del producto y no mostraba un mensaje de error. GitHub-459
  • Los productos con una opción (File) personalizable ahora incluyen vínculos activos como se espera en todo el proceso de cierre de compra de envío múltiple. Anteriormente, faltaba este vincular. GitHub-31095
  • El carro de compras de administración ahora muestra los precios de los productos en las monedas correctas para las tiendas que admiten varias monedas. Anteriormente, los precios se convertían a la moneda especificada más de una vez, primero, cuando los productos se agregaban a la carro de compras desde el escaparate, y luego nuevamente cuando el pedido se procesaba posteriormente en el Administrador.
  • El aplicación ahora vacía el carro de compras como se esperaba después de que un administrador completa un pedido del administrador creado por un comprador en el escaparate. Anteriormente, cuando el cliente volvía a iniciar sesión después de que el administrador completaba el pedido, el escaparate todavía carro de compras contenido del pedido. GitHub-30262
  • Los compradores ahora pueden agregar un producto a su carro de compras cuyo precio mínimo anunciado (MAP) exceda el precio regular de su producto.
  • Los compradores ahora pueden cambiar con éxito su dirección de facturación desde el flujo de trabajo de pago al pagar con múltiples direcciones.
  • Todas las transacciones de pago pagadas creadas por los invitados ahora se guardan en la base de datos y se ven en el Administrador como se espera. Anteriormente, solo se guardaba en la base de datos un pequeño subconjunto de pedidos concurrentes, y la mayoría de los pedidos se perdían debido a los tiempos de espera resultantes de los bloqueos de la base de datos. GitHub-25862
  • El aplicación ahora muestra correctamente los mensajes de bienvenida en línea que contienen caracteres especiales cuando un invitado coloca un producto en el mini carro de compras. Anteriormente, el aplicación no agregaba el producto al mini carro de compras ni mostraba el mensaje de bienvenida. GitHub-32250
  • El Página de envío del flujo de trabajo de pago ahora se carga correctamente cuando el envío en la tienda está habilitado. Anteriormente, el aplicación arrojaba un error de JavaScript y el Página de pago de envío no se procesaba completamente.
  • Se ha agregado el itemResolvers argumento al archivo de catálogo di.xml . Como resultado, el cierre de compras ya no se interrumpe si los módulos de productos configurables y agrupados están desactivados. GitHub-30860
  • El aplicación ahora muestra los botones de opción en la sección Información de pago y envío como se esperaba durante el flujo de trabajo de repedido del administrador. GitHub-30257
  • El aplicación ahora se aplica correctamente carro de compras reglas de precio con un descuento fijo de carro de compras nivel cuando el carro de compras contiene un producto paquete con múltiples opciones. Anteriormente, el regla de precio carro de compras no se aplicaba completamente al pedido. GitHub-30952
  • El añadir para carro de compras botón en el categoría lista vista ahora funciona como se esperaba. GitHub-32232
  • Ahora puede utilizar POST /V1/carts/mine/items para agregar un cantidad personalizado de productos agrupados a una carro de compras. GitHub-26909
  • El aplicación ya no rellena el área de dirección facturación del flujo de trabajo de cierre de compra con la dirección de envío. Anteriormente, cuando el campo Estado/Provincia de la dirección facturación estaba vacío y las direcciones de envío y facturación diferían, el aplicación rellenaba el campo Estado/Provincia de dirección facturación con información de la dirección de envío. GitHub-31608