Hanami 3.0: mailers, i18n y Minitest llegan al framework Ruby con grandes mejoras de rendimiento

Fuentes: Hanami 3.0: mailers, i18n, Minitest arrive alongside major performance gains

El equipo de Hanami presenta la versión 3.0 de su framework para aplicaciones Ruby, una actualización mayor que incorpora tres características largamente esperadas: mailers integrados, internacionalización (i18n) y soporte oficial para Minitest, junto con mejoras sustanciales de rendimiento y experiencia de desarrollo.

Los mailers vuelven como una gema propia del framework. Se definen como clases independientes que se inyectan mediante Deps y se entregan con un solo .deliver. Soportan SMTP de forma predeterminada y permiten crear métodos de entrega personalizados. Internamente se apoyan en la gema mail.

La internacionalización llega integrada en Hanami con la gema i18n: configura los archivos YAML en config/i18n/ y los helpers t y localize quedan disponibles en acciones y vistas, además de inyectables en cualquier componente vía Deps.

Minitest se incorpora como alternativa a RSpec. El usuario elige el framework de pruebas al generar la aplicación con hanami new my_app --test=minitest.

En rendimiento, Hanami 3.0 memoriza los componentes por defecto, reduce las asignaciones hasta 14 veces por petición y multiplica por cerca de 3 el rendimiento HTTP (hasta 9 veces en proceso). La latencia p99 baja de 89 a 4 ms en el caso medido. Action y View también asignan menos y corren más rápido.

Los registros ganan color en desarrollo, logging estructurado y etiquetado consistente, y la variable HANAMI_LOG_LEVEL ajusta el nivel. El watcher de assets detecta nuevos entry points y archivos estáticos sin reinicios, y se publica una especificación abierta para integrar cualquier bundler. Además, el parseo del body de las peticiones se mueve de middleware a Hanami Action.