- Laravel October Product Updates
- Laravel Framework changelog — October 2026
- Laravel Framework changelog RSS
Laravel Framework
Release di ottobre
Oltre alle principali novità del changelog ufficiale, date e versioni sono state verificate nelle release notes.
Di seguito vengono presentati in dettaglio i nove punti del changelog ufficiale. Per correzioni minori e modifiche alle dipendenze, consulta le singole release notes.
Definire ricerche con corpo della richiesta tramite route QUERY
La v13.35.0 ha aggiuntoRoute::query(), che supporta il metodo HTTP QUERY. Puoi definire route che ricevono i criteri di ricerca nel corpo della richiesta invece che nella query string di GET.
Route::any() corrisponde alle richieste QUERY, e l’elenco delle route riconosce questo metodo. Il SearchProductsController qui sopra rappresenta un controller invocabile della tua applicazione che implementa la ricerca.
Fonti primarie: Register QUERY Routes, routing.md ufficiale di Laravel 13. Pagine correlate: Routing, Protezione CSRF
Evitare letture obsolete anche nelle richieste successive a una scrittura
Con un database a lettura e scrittura separate, una lettura subito dopo un aggiornamento può finire su una read replica non ancora sincronizzata. L’opzione esistentesticky copre solo la stessa richiesta. Il middleware PreventStaleDatabaseReads della v13.38.0 protegge per un certo periodo anche le richieste successive della stessa sessione.
In bootstrap/app.php, importa Illuminate\Foundation\Http\Middleware\PreventStaleDatabaseReads e aggiungilo nella callback di withMiddleware() con $middleware->web(append: [PreventStaleDatabaseReads::class]);. Non si attiva automaticamente.
Il middleware registra nella sessione l’orario delle scritture sulla connessione al database predefinita. Per impostazione predefinita, indirizza le letture di quella connessione al database di scrittura per 2 secondi dopo una scrittura. Puoi cambiare il periodo registrando, ad esempio, PreventStaleDatabaseReads::for(5) al posto della classe.
Poiché usa la sessione, deve essere eseguito dopo StartSession. Non cambia le letture di altre sessioni o di altre connessioni al database e non rileva quando la replica ha terminato la sincronizzazione.
Fonti primarie: Avoid Stale Reads After Database Writes, database.md ufficiale di Laravel 13. Pagine correlate: Database, Sessione
Leggere dal database di scrittura solo per operazioni specifiche
Connection::usingWritePdo(), aggiunto anch’esso nella v13.38.0, sposta la destinazione di lettura della connessione sul database di scrittura solo durante l’esecuzione della callback. È utile quando vuoi che l’applicazione indichi esplicitamente quali letture sono critiche, invece di proteggere un’intera sessione.
Configurare in blocco l’esecuzione dei task su un solo server
Per ridurre le dimenticanze dionOneServer() quando lo scheduler gira su più server, la v13.35.0 ha aggiunto Schedule::alwaysOnOneServer(). Chiamalo in boot() di AppServiceProvider per applicarlo in una volta a tutti i task pianificati interessati.
onOneServer() richiede una cache centrale condivisa da tutti i server. I driver indicati dalla documentazione ufficiale sono database, memcached, dynamodb e redis. Aggiungere l’impostazione non fornisce da sola un’infrastruttura di lock tra server.Verificare i dispatch dei fake indicando le proprietà
Dalla v13.35.0, i fake di Queue, Bus, Event e Notification accettano un array di proprietà attese. Non serve più scrivere ogni volta una callback solo per confrontare degli attributi. Ad esempio, con un jobShipOrder che ha una proprietà pubblica order e un $order preparato nel test, puoi verificare così:
is(), quindi corrisponde anche un’altra istanza che rappresenta lo stesso modello. I fake verificano il dispatch, non il risultato dell’esecuzione del job.
Fonti primarie: Assert Fake Dispatches by Their Properties, queues.md ufficiale di Laravel 13. Pagine correlate: Code, Mocking
Indicare il limite di memoria del worker in percentuale
Dalla v13.35.0, l’opzione--memory di queue:work accetta una percentuale del memory_limit di PHP. Puoi adattare la soglia di uscita del worker all’impostazione di PHP senza ricalcolare un valore fisso in MB per ogni ambiente.
memory_limit di PHP è illimitato (-1), usa un valore in MB invece di una percentuale. Il riavvio di un worker terminato alla soglia è affidato a un monitor di processi come Supervisor.
Fonti primarie: Set Queue Worker Memory Limits as Percentages, queues.md ufficiale di Laravel 13
Restituire Markdown con un Content-Type dedicato
La v13.35.0 ha aggiuntomarkdown() alla response factory. Restituisce un contenuto Markdown come text/markdown, e puoi indicare anche il codice di stato e intestazioni aggiuntive.
wantsMarkdown(). Non converte il Markdown in HTML. È un’API per servire il Markdown stesso come risposta.
Fonti primarie: Return Markdown Responses, responses.md ufficiale di Laravel 13. Pagina correlata: Risposte
Eseguire query analitiche in modalità OLAP con Vitess
La v13.36.0 ha aggiuntoisVitess() e olap() alle connessioni MySQL. Puoi rilevare se usi Vitess o PlanetScale ed eseguire query analitiche con il workload OLAP.
Trovare le regole di validazione esistenti tramite i builder
La v13.36.0 ha aggiunto metodi builder diRule per molte regole che prima si scrivevano come stringhe. Metodi come requiredWith(), acceptedIf(), regex() e timezone() si trovano più facilmente con il completamento dell’IDE, e puoi scegliere lo stile mantenendo il comportamento di validazione esistente.
Laravel Cloud
Il blog mensile ufficiale presenta i tre punti seguenti.
Fonti primarie: Laravel October Product Updates — Laravel Cloud, Laravel Cloud changelog. Pagina correlata: Presentazione di Laravel Cloud
Laravel Forge
- Avvisi sugli aggiornamenti di sicurezza PHP: Forge mostra, per ogni server, le versioni interessate dalle release di sicurezza PHP di ottobre e la disponibilità delle versioni corrette. Con Recheck versions ricontrolli la versione effettivamente installata. Ricontrollare la visualizzazione e aggiornare PHP sono operazioni separate.
- Gestione dei provisioning falliti: i server che non riescono a completare il provisioning vengono mostrati come falliti, con notifica, indicazioni sul passo successivo e un’azione di eliminazione. Anche l’installazione di PHP e Nginx viene ritentata prima di confermare il fallimento.
Articoli correlati
Aggiornamenti di settembre 2026
Uno sguardo alla costruzione dei provider AI a runtime, alle estensioni di ricerca, a Mercure e agli ambienti di anteprima isolati in Cloud.
Guida al database
Rivedi la separazione tra lettura e scrittura e le basi delle connessioni al database.