Ir al contenido

El medio de los artesanos de la web miércoles, 14 de octubre de 2026

MailStudio
Back-end

Laravel 13.36.0 refuerza los workers de colas y suma proveedores de credenciales S3 con nombre

Laravel 13.36.0 corrige el código de salida de los workers bloqueados, admite varios proveedores de credenciales S3 con nombre y cierra una fuga de memoria en los tests. Una entrega densa, un mes después de la 13.35.

Laravel 13.36.0

Publicada el 13 de octubre, la versión 13.36.0 de Laravel reúne alrededor de cincuenta cambios
centrados en las colas, el almacenamiento y Eloquent. No se anuncia ninguna ruptura de
compatibilidad, pero varias correcciones afectan comportamientos reportados en producción desde
hace meses, en particular los workers de cola que quedaban bloqueados sin un código de salida que
los orquestadores pudieran aprovechar.

Workers de cola más predecibles

La corrección más esperada afecta al código de salida de los workers que agotan su tiempo de
ejecución: antes se descartaba en silencio, lo que impedía que Supervisor o systemd detectaran un
worker bloqueado y lo reiniciaran. Los workers también pueden vaciar ahora sus conexiones
persistentes entre dos tareas en lugar de mantenerlas abiertas hasta que el proceso se detiene,
lo que limita las fugas de conexiones en colas de alto volumen.

Almacenamiento S3 y proveedores de credenciales con nombre

El driver de S3 admite ahora varios proveedores de credenciales con nombre dentro de un mismo
proyecto, útil para aplicaciones que escriben en varias cuentas o regiones, además de discos IAM
para entornos Cloud donde la rotación de claves se gestiona fuera del código. Este cambio se suma
a una tendencia de fondo del framework: delegar cada vez más la gestión de secretos a la
infraestructura en lugar del archivo .env.

Eloquent: correcciones puntuales pero numerosas

La corrección más estructural afecta a la resolución de alias de morph map en
constrain(), morphWith() y loadMorph(): los alias
declarados no siempre se respetaban, obligando a algunos proyectos a usar el nombre completo de
la clase como solución alternativa. touch() funciona ahora correctamente en las
relaciones HasOneOrManyThrough, y Schema::getColumn() deja de distinguir
mayúsculas y minúsculas, lo que evita falsos negativos en ciertos motores de base de datos.

ÁreaAntes de 13.36.0Desde 13.36.0
Workers bloqueadosCódigo de salida descartado, sin detecciónCódigo de salida útil para el orquestador
Conexiones persistentesMantenidas hasta detener el workerVaciadas entre tareas
Credenciales S3Un único proveedor por defectoVarios proveedores con nombre + discos IAM
Clúster RedisCliente phpredis bloqueado sin nodo disponibleCliente reconstruido automáticamente
Tests (Prompts)Fuga de memoria en suites largasFuga corregida

Redis, notificaciones y una fuga de memoria en los tests

En el lado de Redis, el cliente phpredis se reconstruye ahora automáticamente cuando ningún
nodo del clúster está disponible, en lugar de quedar bloqueado. Las notificaciones corrigen un
defecto por el cual Notification::locale() podía aplicarse a una notificación
siguiente sin relación. Por último, una fuga de memoria provocada por el componente Prompts
afectaba a las suites de tests largas, un problema que algunos equipos evitaban dividiendo sus
pipelines de CI, un paliativo que ya no es necesario.

// config/queue.php — novedad 13.36: conexión por defecto en segundo plano
'connections' => [
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => env('REDIS_QUEUE', 'default'),
        'retry_after' => 90,
        'block_for' => null,
        'after_commit' => false,
    ],
],

El código de salida de los workers de cola, durante mucho tiempo invisible para las herramientas de supervisión, por fin resulta útil para los orquestadores.

Las correcciones de Eloquent sobre los alias de morph map merecen una revisión
manual en los proyectos que usan enforceMorphMap(): el comportamiento cambia, aunque
se acerca a lo que la documentación ya describía.

La actualización sigue siendo menor en términos estrictos de versionado, pero el volumen de
correcciones, unas cincuenta pull requests fusionadas en un mes, ilustra un ritmo de publicación
que los equipos que automatizan sus actualizaciones mediante herramientas de línea de comandos
tienen todo el interés en seguir de cerca en lugar de dejar que se acumule.

Lo que hay que recordar

Laravel 13.36.0 no cambia nada en la API pública del framework, pero cierra puntos ciegos
operativos reales: supervisión de workers, rotación de credenciales S3 y estabilidad del cliente
Redis en clúster. Los proyectos con colas de alto volumen deberían actualizar sin demora; el resto
puede esperar a su próxima ventana de mantenimiento sin urgencia.

En los proyectos donde superviso colas de Laravel en producción, el código de salida descartado
de los workers bloqueados ha sido una fuente de incidentes silenciosos durante meses: el worker
fallaba, Supervisor no lo reiniciaba, y solo una alerta de latencia permitía darse cuenta. Esta
corrección, por sí sola, justifica la actualización. — Simon Janvier

Para profundizar: las notas de la versión completas están disponibles en
el repositorio GitHub del framework.

Compartir LinkedIn Bluesky Hacker News E-mail

Leer también