notiziephp.it

Laravel: le novità della settimana tra queue, Eloquent e storage S3

Traduzione da laravel/framework
5 Ottobre 2026 Tempo di lettura: 3 minuti

Anche questa settimana il repository laravel/framework ha ricevuto un nuovo pacchetto di release: v13.34.0 è la più corposa, affiancata dalla v12.69.3 e da un semplice bump di versione per la v11.57.0. Il filo conduttore è il mondo queue e worker, con diversi fix su Eloquent e utility. Ecco cosa vale la pena sapere.

Queue e worker: più contesto, più controllo

La release 13.x concentra gran parte delle novità sul ciclo di vita dei job:

  • l'evento JobProcessed ora include anche la durata dell'esecuzione, utile per metriche e logging senza dover instrumentare manualmente ogni job (#61672);
  • un job viene ora notificato quando il timeout è prossimo, così da poter chiudere in modo controllato invece di essere interrotto brutalmente (#61651);
  • queue:flush accetta l'opzione --queue, per svuotare solo una coda specifica invece di fare piazza pulita su tutte (#61630).

Sul ramo 12.x arriva invece un affinamento pensato per chi orchestra i worker da fuori: l'exit code per il worker timed out è ora effettivamente raggiungibile e distinguibile, cosa non banale in sistemi di supervisione o in container gestiti da process manager (#61623).

Storage: credenziali S3 nominabili e dischi Cloud IAM

Sempre nella 12.69.3, il filesystem guadagna il supporto ai named credential provider di S3 e ai dischi basati su Cloud IAM. In pratica si possono definire profili di credenziali con un nome e referenziarli nella configurazione dei dischi, senza duplicare chiavi o ruoli tra ambienti (#61757).

Eloquent e query builder

  • whereMorphedTo() e whereNotMorphedTo() ora rispettano la owner key della relazione invece di assumere l'id di default: un cambio importante per chi usa chiavi primarie personalizzate nelle relazioni polimorfiche (#61712);
  • la morph map viene applicata anche in lettura sulle relazioni polimorfiche, rendendo il comportamento coerente tra scrittura e query;
  • dopo increment() / decrement() gli attributi aggiornati vengono sincronizzati con lo stato originale, evitando che getOriginal() e isDirty() restituiscano valori incoerenti (#61680);
  • le clausole between accettano anche valori passati come LazyCollection, comodo quando i range arrivano da query pesanti o da generatori (#61678).

Fix mirati su Collection, Number e lock Redis

Tre correzioni che vale la pena tenere d'occhio se vi siete imbattuti in comportamenti strani:

  • Collection::mode() non restituisce più valori non presenti nei dati quando nella collezione ci sono null (#61686);
  • Number::parseInt() non fallisce più con false su valori che superano il range a 32 bit (#61691);
  • PhpRedisLock::refresh() funziona correttamente anche con la serializzazione phpredis abilitata, un caso che poteva rompere silenziosamente il rinnovo del lock (#61690).

11.x: solo manutenzione

La v11.57.0 non introduce modifiche funzionali rilevanti: è un aggiornamento di versione per il ramo LTS, da tenere allineato se il vostro progetto non è ancora passato a 12 o 13.

In sintesi: se gestite code di job importanti, la 13.34.0 porta strumenti concreti per osservabilità e gestione dei timeout; se usate S3 con credenziali dinamiche, la 12.69.3 semplifica parecchio la configurazione.

Condividi su: LinkedIn

Altri articoli recenti