- Laravel October Product Updates
- Laravel Framework changelog — October 2026
- Laravel Framework changelog RSS
Laravel Framework
Versiones publicadas en octubre
Además de las principales novedades del changelog oficial, se comprobaron las fechas y las versiones en las notas de versión.
A continuación se detallan los nueve elementos del changelog oficial. Para correcciones menores y cambios de dependencias, consulta cada nota de versión.
Definir búsquedas con cuerpo de petición mediante rutas QUERY
En v13.35.0 se añadióRoute::query(), compatible con el método HTTP QUERY. Puedes definir rutas que reciben las condiciones de búsqueda en el cuerpo de la petición en lugar de la cadena de consulta de GET.
Route::any() también coincide con las peticiones QUERY, y la lista de rutas reconoce este método. El SearchProductsController de arriba representa un controlador invocable de tu aplicación que implementa la búsqueda.
Fuente principal: Register QUERY Routes, routing.md oficial de Laravel 13. Páginas relacionadas: Rutas, Protección CSRF
Evitar lecturas obsoletas también en peticiones posteriores a una escritura
En bases de datos con lectura y escritura separadas, una lectura justo después de una actualización puede ir a una réplica de lectura que aún no se ha sincronizado. La opción existentesticky solo cubre la misma petición. El middleware PreventStaleDatabaseReads de v13.38.0 protege además las peticiones posteriores de la misma sesión durante un periodo.
En bootstrap/app.php, importa Illuminate\Foundation\Http\Middleware\PreventStaleDatabaseReads y añádelo dentro del callback de withMiddleware() con $middleware->web(append: [PreventStaleDatabaseReads::class]);. No se activa automáticamente.
El middleware registra en la sesión la hora de las escrituras en la conexión de base de datos predeterminada. Por defecto, envía las lecturas de esa conexión a la base de datos de escritura durante 2 segundos tras una escritura. Puedes cambiar el periodo registrando, por ejemplo, PreventStaleDatabaseReads::for(5) en lugar de la clase.
Como usa la sesión, debe ejecutarse después de StartSession. No cambia las lecturas de otras sesiones ni de otras conexiones de base de datos, y tampoco detecta cuándo termina de sincronizarse la réplica.
Fuente principal: Avoid Stale Reads After Database Writes, database.md oficial de Laravel 13. Páginas relacionadas: Base de datos, Sesión
Leer de la base de datos de escritura solo en operaciones concretas
Connection::usingWritePdo(), añadido también en v13.38.0, cambia el destino de lectura de la conexión a la base de datos de escritura solo mientras se ejecuta el callback. Es útil cuando quieres que la aplicación indique explícitamente qué lecturas son críticas, en lugar de proteger toda una sesión.
Configurar en bloque la ejecución de tareas en un único servidor
Para reducir los olvidos deonOneServer() al ejecutar el planificador en varios servidores, en v13.35.0 se añadió Schedule::alwaysOnOneServer(). Llámalo en boot() de AppServiceProvider para aplicarlo de una vez a todas las tareas programadas afectadas.
onOneServer() requiere una caché central compartida por todos los servidores. Los drivers que indica la documentación oficial son database, memcached, dynamodb y redis. Añadir la configuración no proporciona por sí solo una infraestructura de bloqueo entre servidores.Verificar despachos en fakes indicando propiedades
Desde v13.35.0, los fakes de Queue, Bus, Event y Notification aceptan un array de propiedades esperadas. Ya no necesitas escribir un callback cada vez solo para comparar atributos. Por ejemplo, con un jobShipOrder que tiene una propiedad pública order y un $order preparado en la prueba, puedes verificarlo así:
is(), así que también coincide otra instancia que represente el mismo modelo. Los fakes verifican el despacho, no el resultado de ejecutar el job.
Fuente principal: Assert Fake Dispatches by Their Properties, queues.md oficial de Laravel 13. Páginas relacionadas: Colas, Mocking
Indicar el límite de memoria del worker en porcentaje
Desde v13.35.0, la opción--memory de queue:work acepta un porcentaje del memory_limit de PHP. Puedes ajustar el umbral de salida del worker a la configuración de PHP sin recalcular un valor fijo en MB para cada entorno.
memory_limit de PHP es ilimitado (-1), usa un valor en MB en lugar de un porcentaje. El reinicio de un worker que termina al alcanzar el umbral queda a cargo de un supervisor de procesos como Supervisor.
Fuente principal: Set Queue Worker Memory Limits as Percentages, queues.md oficial de Laravel 13
Devolver Markdown con un Content-Type propio
En v13.35.0 se añadiómarkdown() a la factoría de respuestas. Devuelve un cuerpo Markdown como text/markdown, y también puedes indicar el código de estado y cabeceras adicionales.
wantsMarkdown(). No convierte Markdown a HTML. Es una API para servir el propio Markdown como respuesta.
Fuente principal: Return Markdown Responses, responses.md oficial de Laravel 13. Página relacionada: Respuestas
Ejecutar consultas analíticas en modo OLAP con Vitess
En v13.36.0 se añadieronisVitess() y olap() a las conexiones MySQL. Puedes detectar si usas Vitess o PlanetScale y ejecutar consultas analíticas con la carga de trabajo OLAP.
Encontrar reglas de validación existentes mediante builders
En v13.36.0 se añadieron métodos builder deRule para muchas reglas que antes se escribían como cadenas. Métodos como requiredWith(), acceptedIf(), regex() y timezone() son más fáciles de encontrar con el autocompletado del IDE, y puedes elegir el estilo sin cambiar el comportamiento de validación existente.
Laravel Cloud
El blog mensual oficial presenta estos tres elementos.
Fuente principal: Laravel October Product Updates — Laravel Cloud, Laravel Cloud changelog. Página relacionada: Presentación de Laravel Cloud
Laravel Forge
- Avisos de actualizaciones de seguridad de PHP: Forge muestra, para cada servidor, las versiones afectadas por las versiones de seguridad de PHP de octubre y si hay versiones corregidas disponibles. Con Recheck versions vuelves a comprobar la versión realmente instalada. Volver a comprobar lo que se muestra y actualizar PHP son operaciones distintas.
- Gestión de los fallos de aprovisionamiento: los servidores que no pueden completarse se muestran en estado fallido, con notificaciones, indicaciones sobre los siguientes pasos y una acción de eliminación. La instalación de PHP y Nginx también se reintenta antes de dar el fallo por confirmado.
Artículos relacionados
Actualización de septiembre de 2026
Un repaso a la construcción de proveedores de IA en tiempo de ejecución, las extensiones de búsqueda, Mercure y los entornos de vista previa aislados en Cloud.
Guía de base de datos
Repasa la separación de lectura y escritura y los fundamentos de las conexiones de base de datos.