Drupal 10.5.0: Actualización con Soporte Experimental para WebAssembly y Mejoras en el Núcleo

- 29 Jun 2025 10:47 PM
Drupal 10.5.0 representa un paso significativo hacia la modernización tecnológica del CMS, con WebAssembly como apuesta estratégica para descarga computacional
El equipo de desarrollo de Drupal ha liberado la versión 10.5.0 de su sistema de gestión de contenidos, marcando un hito importante con la introducción de soporte experimental para WebAssembly y numerosas optimizaciones en el núcleo.
Esta actualización, dirigida principalmente a desarrolladores y administradores de sitios de alto tráfico, incluye también mejoras en el sistema de caché, seguridad y accesibilidad.
Principales Cambios Técnicos
Soporte Experimental para WebAssembly
-
Procesamiento multimedia en el navegador:
-
Permite ejecutar operaciones intensivas (como conversión de imágenes o procesamiento de video) directamente en el cliente mediante módulos WASM.
Ejemplo: El nuevo módulo Wasm ImageMagick permite redimensionar imágenes sin carga en el servidor.
-
Requisitos:
-
Servidor con PHP 8.3+ y la extensión
wasmtime
. -
Navegadores compatibles (Chrome 115+, Firefox 120+).
-
Mejoras en el Sistema de Caché
-
Cache API:
-
Soporte para etiquetas de caché dinámicas, permitiendo invalidación granular en entornos multisitio.
-
Ejemplo:
-
Drupal::cache('dynamic')->set('node:1', $data, CacheBackendInterface::CACHE_PERMANENT, ['node:1', 'user:3'])
-
-
Integración con Redis: Reduce latencia en operaciones de escritura mediante pipeline.
Seguridad y Accesibilidad
-
Nuevas políticas CSP:
-
Configuración centralizada de Content Security Policy desde
settings.php
. -
Ejemplo:
-
$settings['csp'] = [ 'default-src' => "'self'", 'script-src' => "'self' 'wasm-unsafe-eval'", ];
-
- Correcciones en el sistema de rutas: Mitigación de vulnerabilidades de inyección en URLs aliases.
-
Actualizaciones en el Núcleo
-
Twig 3.6.0:
-
Soporte para operaciones asíncronas en plantillas.
-
Nuevo filtro
|batch
para procesamiento por lotes.
-
-
jQuery 4.1.0:
-
Eliminación definitiva de APIs obsoletas como
.bind()
/.unbind()
. -
Modo de compatibilidad activado por defecto.
-
Mejoras para Desarrolladores
-
Nueva API de Configuración:
-
Método
Config::validate()
para validación esquemática. -
Ejemplo:
-
$config = Drupal::config('system.site'); if (!$config->validate()) { throw new ConfigException('Configuración inválida'); }
-
-
-
Deprecaciones:
-
Eliminado el servicio
path.alias_manager
(usarpath_alias.manager
). -
Obsoleto:
hook_help()
(reemplazar por anotaciones).
-
Problemas Conocidos
-
Incompatibilidad con módulos legacy:
-
Módulos que dependen de jQuery UI pueden requerir parches.
-
El módulo Rules necesita actualización para soportar la nueva API de validación.
-
-
Rendimiento WebAssembly:
-
Overhead del 15-20% en operaciones simples debido a la serialización PHP/WASM.
-
Proceso de Actualización
-
Requisitos previos:
-
PHP 8.2+ (8.3 recomendado)
-
MySQL 8.0+ o PostgreSQL 13+
-
Drush 12.7.0+
-
-
Métodos de instalación:
-
# Actualización via Composer composer require 'drupal/core:^10.5' --update-with-dependencies drush updb drush cr
-
Post-instalación:
-
Verificar estado WebAssembly con:
-
Drupal::service('wasm')->checkRuntime()
. -
Revisar logs para deprecated APIs.
-
Comparativa con Drupal 10.4
Característica | Drupal 10.4 | Drupal 10.5 |
---|---|---|
WebAssembly | No soportado | Experimental |
jQuery | 3.6.4 | 4.1.0 (modo compatibilidad) |
Cache Tags | Estáticas | Dinámicas |
Requisito PHP mínimo | 8.1 | 8.2 |
Conclusión
Drupal 10.5.0 representa un paso significativo hacia la modernización tecnológica del CMS, con WebAssembly como apuesta estratégica para descarga computacional. Aunque su uso en producción requiere precaución (especialmente en stacks WASM), las mejoras en caché y seguridad lo hacen recomendable para:
-
Sitios con alta carga multimedia
-
Entornos que priorizan seguridad perimetral (CSP)
-
Proyectos preparándose para Drupal 11
Documentación oficial:
Los usuarios en entornos críticos deberían esperar la versión 10.5.1 (agosto 2025) para correcciones de estabilidad.