Laravel Framework v13.35.0 se publicó el 6 de octubre a las 13:54 por github-actions. La versión reúne los cambios recientes de la rama 13.x.
Los workers de cola aceptan porcentajes con queue:work --memory. Queue::fakeFor() libera los bloqueos de jobs únicos, y las operaciones bulk de SQS normalizan los valores de cola. Los atributos de cola heredados se conservan cuando una clase hija usa Queueable. El manejo de señales añade cobertura para notifyJobOfSignal con SIGALRM.
El planificador incorpora Schedule::alwaysOnOneServer(). La salida JSON de schedule:list incluye onOneServer. Los comandos programados de larga duración pueden responder a schedule:interrupt. El comando de listado gestiona conversiones de zona horaria que atraviesan cambios de horario estacional. Los discos locales reciben la opción de configuración lazy_root_creation. Los callbacks de vistas compiladas en paralelo toleran ejecuciones simultáneas.
La fábrica de respuestas incorpora markdown(). El enrutamiento acepta el método QUERY. La caché de rutas encuentra la ruta raíz cuando la aplicación se sirve desde un subdirectorio. Str::finish y Str::start reciben optimizaciones. El manejo de excepciones añade varias mejoras, incluido el tipo de retorno never para failedBasicResponse. Se corrigen ciclos de referencias en el callback predeterminado de PendingRequest::throw() y en los callbacks headers() y priority() de Mailable.
DatabaseRule conserva los valores false en where() y whereNot(). Los helpers de duración mantienen valores de coma flotante. forceCreate() aplica withAttributes(). HasOneThrough corrige comparaciones de claves en is(), relaciones one-of-many y la calificación de columnas cargadas de forma anticipada. chunkById() y lazyById() dejan de entrar en bucles infinitos con claves primarias casteadas. Las operaciones de separación de MorphPivot actualizan correctamente a los propietarios.
Las colecciones lazy se conservan en collapse(), collapseWithKeys() y flatten(). DB::setDefaultConnection() procesa enums correctamente. Las actualizaciones de rutas JSON conservan cambios en AsEncryptedArrayObject y AsEncryptedCollection. Se corrige el manejo de rutas JSON de MySQL en whereJsonOverlaps(). Otras correcciones afectan a los bindings de cursorPaginate(), los casts de consultas clonadas con withCasts(), findOrNew() y chunkMap() en HasManyThrough y BelongsToMany, además de los atributos de relación de incrementOrCreate(). loadMissing() evita construir una consulta sin relaciones y gestiona relaciones anidadas en modelos morphTo mixtos. Eloquent Collection::findOrFail() acepta una colección de identificadores.
incrementOrCreate() establece las claves foráneas y conserva atributos adicionales al crear registros. morphTo()->withTrashed() funciona con has() y whereHasMorph(). FilesystemManager::set(), forgetDisk() y purge() aceptan enums. La documentación de copyToDisk() y moveToDisk() recoge el soporte de enums. La versión también corrige varios casos límite en relaciones y rutas JSON cifradas.
La autenticación acepta una contraseña null en hashPasswordForCookie. GenericUser::getAuthPassword() gestiona usuarios sin contraseña. Las descargas admiten nombres de archivo sin equivalente ASCII. Los errores por campos desconocidos ignoran _token y _method. Las plantillas de URL permanecen sin expandir cuando carecen de parámetros. Los modelos reciclados dejan de filtrarse a llamadas posteriores de la misma factory.
Las pruebas en paralelo funcionan con PHPUnit 13.4. Los atributos AsHtmlString se serializan correctamente, y una prueba de la API pwnedpasswords usa un servicio simulado. Las suites de pruebas generales y de base de datos reciben mejoras. La implementación de defaults() está disponible mediante un trait activado de forma explícita. La dependencia incluida source-map-js pasa de 1.2.1 a 1.2.2.




Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.