Magento 2.3.2 (seguridad + performance + productividad + calidad)

El 25 de junio vio la luz, finalmente, la versión 2.3.2 de Magento. Este lanzamiento no es sólo una versión menor de la plataforma. Han pasado muchas más cosas. (Discutir sobre si se sigue fielmente semver no es la idea, no hoy).

Dada la cantidad de temas a resaltar sobre esta actualización/versión/parche y anexos, vamos a comenzar con los que fueron los anuncios oficiales.

En lo que se refiere a Magento 2.3.2, los cambios anunciados son:

  • 75 mejoras de seguridad. Sobre cuáles fueron esos parches, van a encontrar los detallas aquí, aquí y aquí. (Creo que es la primera vez que hay tantos parches en una única release)
  • Siempre se menciona un incremento en la performance general de la plataforma, pero por ejemplo, ahora se mueve al footer la carga de javascript no crítico. Esto puede activar en Stores > Configuration > Developer > JavaScript Settings habilitando la opción Move JS code to the bottom of the page.
  • Existen ahora una serie de tareas que se realizan de forma asincrónica: generación de cupones de descuento, actualización masiva de productos y el export de productos. Una vez que el proceso termina, se notifica al usuario.
  • Actualización de Amazon Pay, que ahora es compatible con la normativa PSD2.

Luego van a encontrar una pila de correcciones y mejoras. Lo mejor, es pasar a revisar los release notes oficiales.

Es medio tendencioso cuando miramos el contenido de la edición Open Source vs. Commerce. Por ejemplo, verán que en el documento de Commerce se menciona Inventory (antes MSI), PWA y GraphQL; mientras que en Open Source no se dice nada.

Estas herramientas y funcionalidades están disponibles en ambas ediciones. En lugar de creerme, pueden mirar la documentación oficial de Magento_Inventory.

Con respecto a las versiones anteriores de Magento, los release notes están aquí:

Ahora que menciono la versión 2.1, es importante recordar que esa ha sido la última versión estable de 2.1, por lo cual, si aún estás en esa versión, YA deberías estar con el plan de actualización. Ni hablar si es una edición Commerce.

Incluso, si estás con Magento 2.2, ya deberías tener el plan de actualización más o menos listo dado que el 1 de enero de 2020, Magento 2.2 también habrá alcanzado su EOL.

Por si aún no recordás cuáles son las fechas establecidas, mirar este recordatorio:

Por el momento, esa información está disponible en: https://magento.com/sites/default/files/magento-software-lifecycle-policy.pdf.

Además, desde Magento 2.3 tenemos nueva política. En base a los anuncios hechos durante el Magento Imagine, el fin del soporte de 2.3 sucederá luego del lanzamiento de 2.4 + 12 meses, mientras que las actualizaciones de seguridad continuarán desde el lanzamiento de 2.4 + 18 meses.

Otros anuncios hechos con este lanzamiento hacen referencia a mejoras en Magento Commerce Cloud y a la posibilidad de Page Builder de migrar datos desde BlueFoot.

El mismo día tuvimos también parche de seguridad para Magento 1, pero eso es post aparte.

Sobre cómo actualizar tu Magento 2.3.1 a 2.3.2. Es casi como siempre, aunque puede que tengas algún pequeñito detalle con el cual lidiar.

Según la documentación, se requiere libsodium desde Magento 2.3.2 por las mejoras de seguridad, y tiene que ser una versión igual o superior a 1.0.13.

Una vez que resuelvas la dependencia, el paso de instalación debería ser como siempre.

composer require magento/product-community-edition 2.3.2 --no-update

Luego:

composer update

Una vez que haya actualizado todos los módulos, como siempre, podemos confirmar con:

bin/magento --version

En este caso, el resultado debería ser:

Magento CLI 2.3.2

Para finalizar, actualizamos la base de datos:

bin/magento setup:upgrade

Y ahora si, si todo funcionó correctamente, ingresamos a nuestro backend y el footer debería confirmar lo que ya sabíamos.

Si aún no actualizaste, ya tendrías que estar al menos planificando cuándo y cómo lo vas a hacer.

Si usás la edición Commerce, está bueno recordar la regla de los parches aplicados en 30 días de PCI DSS, aunque se sabe el 75% tarda de 6 meses a 1 año en aplicar dichos parches.