Laravel 13.31.0 está disponible desde el 8 de septiembre de 2026. Tras un número de versión menor, esta entrega corrige un fallo de seguridad en la autenticación por cookie «recuérdame», vuelve seguras las colas en Redis en clúster y afina varios comportamientos de Eloquent. Alrededor de cuarenta correcciones completan el conjunto, desde el cliente HTTP hasta las migraciones.
Una corrección de seguridad en la autenticación por cookie
El cambio más delicado afecta al mecanismo «recuérdame». Laravel ahora garantiza que el hash de la contraseña coincide con el almacenado en la cookie recaller antes de autenticar al usuario. La corrección, portada primero a la rama 12.x, cierra una ventana en la que una cookie de recuerdo podía seguir siendo utilizable tras un cambio de contraseña.
En el mismo terreno, se ha corregido un TypeError que se producía en userFromRecaller() cuando la cookie no coincidía con ningún usuario. Las aplicaciones que dependen mucho del inicio de sesión persistente deberían aplicar la actualización cuanto antes.
Colas en Redis seguras para clúster
El driver de colas de Redis incorpora una implementación segura para clúster: las operaciones MULTI y KEYS se rediseñan para comportarse correctamente cuando las claves se reparten entre varios nodos. En infraestructuras que ejecutan Redis en modo clúster, esto elimina una clase de errores difíciles de reproducir.
Dos incorporaciones acompañan este trabajo. El método Queue::totalSize() expone el tamaño de una cola y un nuevo evento JobInterrupted se dispara cuando se interrumpe un trabajo. El evento WorkerStopping ahora incluye el nombre de la conexión y de la cola cuando se detiene un worker, lo que facilita la supervisión de los workers en producción.
use Illuminate\Support\Facades\Queue;
use Illuminate\Queue\Events\JobInterrupted;
use Illuminate\Support\Facades\Event;
// Nouveau en 13.31 : lire la taille d'une file
$taille = Queue::totalSize('default');
// Reagir a l'interruption d'un job
Event::listen(function (JobInterrupted $event) {
logger()->warning('Job interrompu', [
'connexion' => $event->connectionName ?? null,
]);
});Eloquent, consultas perezosas y cliente HTTP
En el lado del ORM, llega el soporte de chaperone para los modelos pivote de las relaciones BelongsToMany: los modelos cargados desde una tabla pivote conservan su relación padre sin una consulta adicional, evitando el clásico problema N+1. También se ha corregido el ámbito del closure pasado a wherePivot().
Desaparecen dos regresiones de fondo. Los métodos lazy() y lazyById() ahora respetan limit() y offset(), que antes ignoraban. El cliente HTTP corrige una fuga de memoria y el middleware RateLimited ya bloquea de verdad los trabajos que alcanzan el límite.
Un número de versión menor puede llevar una corrección de seguridad: actualizar no es una operación cosmética.
Actualizar: qué comprobar
La 13.31 permanece en la rama 13.x: la actualización es un composer update, sin salto de versión mayor. La tabla siguiente resume los cambios que conviene conocer antes de desplegar.
| Ámbito | Cambio | Qué comprobar |
|---|---|---|
| Seguridad | Verificación del hash en la cookie recaller | Portado a 12.x: aplícalo también en proyectos no migrados |
| Colas | Driver Redis seguro para clúster, totalSize(), JobInterrupted | Probar los workers en un clúster Redis antes de producción |
| Eloquent | lazy()/lazyById() respetan limit()/offset() | Revisar el código que dependía del comportamiento anterior |
| Sesiones | ArraySessionHandler::create_sid() para la conformidad con PHP 9.0 | Sin impacto inmediato, prepara la compatibilidad futura |
Los proyectos que siguen en 12.x reciben la misma corrección de seguridad, portada. Aplicarla no exige migrar a 13.x: basta un composer update sobre la restricción 12.x para obtener el parche.
Lo que hay que recordar
Laravel 13.31.0 es una versión de mantenimiento a la vez corriente e importante: corriente por su formato, importante por su corrección de seguridad en la autenticación por cookie y por asegurar las colas de Redis en clúster. Los equipos que usan «recuérdame» o workers distribuidos deberían desplegarla sin demora, probando primero las colas en un entorno de preproducción.
En mis proyectos trato las versiones menores de Laravel como posibles parches de seguridad, nunca como simples opciones: leo el changelog, miro primero las entradas «Security» y «Authentication» y luego despliego la actualización en preproducción. La 13.31 confirma esa costumbre: el parche de la cookie recaller es justo el tipo de detalle que se te escapa si saltas versiones menores. — Simon Janvier
Para saber más: las notas de versión completas de Laravel 13.31.0 en GitHub.
