Una settimana di Symfony #1022 (27 luglio – 2 agosto 2026) (Symfony Blog)
27 luglio – 2 agosto 2026 Una settimana di Symfony #1022
Questa settimana sono state rilasciate le versioni di manutenzione Symfony 6.4.43, 7.4.15, 8.0.16 e 8.1.3. Inoltre, Symfony 8.0 ha raggiunto la fine del ciclo di vita. Infine, abbiamo introdotto Symfony Reprise, l'evoluzione di Webpack Encore per i bundler moderni come Vite e Rsbuild.
Punti salienti dello sviluppo di Symfony
Questa settimana sono stati uniti 126 pull request (102 nel codice e 24 nella documentazione) e sono state chiuse 47 issue (38 nel codice e 9 nella documentazione). Escludendo i merge, 53 autori hanno apportato 16.378 aggiunte e 6.648 eliminazioni. Vedi i dettagli per il codice e la documentazione.
- b281699: [SecurityBundle] consente alle varianti LDAP e non LDAP di un authenticator di condividere un firewall
- e84a12f: [Mailer] corretto un TypeError fatale durante l'invio di un RawMessage tramite un transport API
- 6d5c6fc: [String] restituisce coerentemente null per offset fuori intervallo
- ee5a657: [Serializer] preferisce il nome serializzato rispetto alla chiave grezza della proprietà
- 7134632: [HttpClient] non invia l'header Host originale nei redirect verso autorità diverse
- 42b58af: [HttpClient] corretto l'escaping del comando cURL generato
- f194283: [Cache] aggiunto il supporto per Redis relay 0.40
- 8ceff70: [HttpClient] rimuove Proxy-Authorization nei redirect verso autorità diverse
- 5076161: [HttpFoundation] non va in crash con una firma non stringa in UriSigner
- d13078a: [HttpFoundation] valida i caratteri consentiti nel path e nel dominio di un cookie
- f7dcdd9: [SecurityBundle] vincola sempre i target dei redirect all'host corrente, anche senza sessioni
- ce6f8a5: [Serializer] verifica che la classe denormalizzata sia una parte Mime in MimeMessageNormalizer
- 58945e3: [HttpClient] genera un errore quando è configurato un proxy https ma libcurl non può usarlo
- 5cc98f5: [VarExporter] rileva il rendering del byte null invece di fissare una versione di PHP
- 73463e9: [Translation] non suddividere i messaggi ICU in base alle pipe in PoFileDumper
- 0431fc9: [VarExporter] memorizza nella cache il risultato di hasOctalControlChars
- bb00b6b: [Validator] corretto il vincolo File che saltava il controllo del mime type quando estensioni e mimeTypes non hanno valori in comune
- 8bd5a1c: [Translation] corrette le traduzioni fuzzy e il msgctxt su più righe nei file PO
- 7992233: [PropertyAccess] corretta la cache delle informazioni di lettura null
- 7201e00: [TwigBridge, WebProfilerBundle] corretta la compatibilità con Twig 4
- b160ac8: [Mailer] corretto il rewriting dei riferimenti cid delle parti inline per Mailgun
- 1fa8584: [Mime] corretti i riferimenti CID corrotti quando uno è prefisso di un altro
- bb65e80: [Console] corrette le larghezze delle colonne quando una riga si estende su più colonne
- 4ec2feb: [Mailer] mappa l'evento processato a RECEIVED in Sendgrid
- 2f9f7c8: [ObjectMapper] corretto il map() annidato che ricostruiva un target esistente
- 66dcfee: [PropertyInfo] non attivare la deprecazione legacy di Type su getType()
- a873931: [HttpFoundation] corretto il campo retry che veniva eliminato negli stream di eventi server
- 64418e1: [JsonPath] corretta la valutazione delle espressioni filtro racchiuse in più parentesi
- b785a29: [JsonPath] rifiuta query non singolari nelle comparazioni dei filtri
- c62344d: [HttpFoundation] corretto il trattamento dei caratteri di nuova riga nei campi degli eventi server
- 8ff4bc0: [JsonStreamer] rimuove la cache delle chiavi globale di processo senza limiti in Splitter
- 539c476: [JsonPath] aggiunti limiti per lunghezza e profondità delle espressioni filtro in JsonCrawler
- 295ed61: [Config] genera forme di array non sigillate per qualsiasi normalizer
- 25e0295: [Mailer] gestisce gli eventi webhook email.failed ed email.suppressed in Resend
- b9260f6: [Cache, Messenger] ripristina la compatibilità con ext-redis 5
- 3dcb649: [JsonStreamer] corretti escaping, precisione dei float e segnalazione degli errori durante la scrittura di JSON
- 0903a96: [Messenger] rifiuta un nome di tipo serializzato che corrisponde al nome della classe di un altro messaggio
- e7af682: [HttpKernel] corretto il comando cURL quando un cookie contiene un array
- 25d46a7: [DependencyInjection] ripristina la lettura di "container.behavior_describing_tags" in DecoratorServicePass
- 5ab0a8e: [HttpKernel] aggiunge i millisecondi a timestamp_rfc3339 dei log
- f2de2db: [Lock] aggiunge MysqlStore per l'advisory locking
- 43675ef: [JsonStreamer] aggiunge un'opzione "cache_variant" al nome del file di cache generato
- 7a68c2f: [Messenger] aggiunge il supporto per gli alias dei nomi di tipo serializzati nell'attributo #[AsMessage]
- 6cdcda7: [Ldap, SecurityBundle] aggiunge un'opzione per controllare solo gli utenti LDAP sul server LDAP
- cba1703: [VarDumper] rende i toggle del dump accessibili da tastiera
- bb59991: [DependencyInjection] aggiunge un argomento $priority all'attributo #[Required]
- cf1db44: [JsonStreamer] aggiunge il supporto per i value object UID
- c092995: [FrameworkBundle] segnala le variabili .env non utilizzate in debug:container --env-vars
- 201a379: [HttpKernel] lieve miglioramento delle prestazioni durante la risoluzione degli argomenti
- 31a6342: [Mime] aggiunge il supporto per Content-Transfer-Encoding binario
- 5cbaf29: [Messenger] aggiunge il supporto keepalive per il transport AMQP
- c9ad626: [Translation] aggiunge un header Plural-Forms all'output di PoFileDumper
- 78226d0: [Security] lancia un'eccezione forbidden quando l'attributo IsCsrfTokenValid fallisce
- 95964c6: [Cache, FrameworkBundle] configura la cache dell'app con un DSN
- 15de720: [FrameworkBundle] rifiuta la combinazione di framework.cache.app con default_provider
- 2661587: [Translation] usa l'API di importazione Loco per inviare le traduzioni
- b56d932: [Translation] consente di definire una mappatura tra un filtro tag Loco e un dominio
- 8ee9bc2: [Translation] fa sì che CrowdinProvider::read() recuperi tutte le lingue quando non ne viene passata nessuna
- 9a03620: [Lock] aggiunge DoctrineDbalMysqlStore per l'advisory locking
- 0371ac8: [Lock] consente advisory lock quando si riutilizza una connessione PDO/DBAL in StoreFactory
- 94f02b0: [Mailer] aggiunge il bridge TurboSMTP
- 2c8b497: [Messenger] filtra i messaggi falliti per classe e ora del fallimento
- 117f722: [Notifier] aggiunge il bridge WhatsApp
Ultime issue e pull request
- [FrameworkBundle] Consente di abilitare gli advisory lock su una risorsa di lock
- [RateLimiter] Aggiunge il supporto per il clock
- [PropertyAccess] Aggiunge la convenzione adder/remover con suffisso per le collection
- [TwigBridge] Aggiunge il filtro normalize
Offerte di lavoro Symfony
Queste sono alcune delle più recenti offerte di lavoro Symfony:
- Symfony Developer at ATH
Contratto / Freelance - €25 – €50 / ora
Full remote
Vedi dettagli - Lead Symfony Developer at DocuPet
Tempo pieno - CA$140,000 – CA$180,000 / anno
Full remote
Vedi dettagli
Puoi pubblicare gratuitamente un'offerta di lavoro Symfony su symfony.com.
Aggiornamenti SymfonyCasts
SymfonyCasts è il modo ufficiale per imparare Symfony. Scegli un percorso per seguire un itinerario guidato attraverso oltre 100 corsi di video tutorial su Symfony, PHP e JavaScript.
Questa settimana, SymfonyCasts ha pubblicato i seguenti aggiornamenti:
- (Video) Symfony Security: The Basics: User Doctrine Relationship
- (Video) Symfony Security: The Basics: Role Hierarchy & Access Control
Hanno parlato di noi
- Building Idempotent Message Handlers in Symfony Messenger
- Contract testing a Symfony API with OpenAPI
- Clean Transactions in the Application Layer
- DTOs in Symfony: Definition, Best Practices, and Automatic Mapping & Validation
- GitLab MCP Server: Connect AI assistants to your repositories
- New in EasyAdmin 5.4: Theming Is Here
Prossimi eventi Symfony
- Sylius France Community Meetup by ACSEO: Aix en Provence, Francia (28 settembre 2026)
Invito all'azione
- Segui Symfony su X, su Mastodon, su Bluesky e su Threads e condividi questo articolo.
- Iscriviti al feed RSS del blog di Symfony e non perderti più nemmeno una notizia su Symfony.
Altri articoli recenti
Laravel AI 1.1 e 1.2: Agent Skills, Cohere e structured output più solidi
Le release 1.1.0 e 1.2.0 di laravel/ai portano gli Agent Skills, l'approvazione obbligatoria per i tool built-in e nuovi provider come Cohere e Laya self-hosted. Sul fronte qualità arrivano i fix allo structured output per Bedrock e il supporto alle provider options. Aggiornati anche i modelli di default, con Claude 4.7+ che ignora i sampling params.
Laravel 13.35.0: scheduler più controllabile, code più flessibili e response Markdown
Laravel 13.35.0 porta Schedule::alwaysOnOneServer(), il supporto a schedule:interrupt per i comandi di lunga durata, --memory in percentuale per queue:work e il nuovo metodo markdown() sulla response factory. Tante piccole migliorie anche a test, view compilate in parallelo e dischi local.
BashBox: un interprete Bash in sandbox per agenti AI in PHP
BashBox è un interprete bash scritto in puro PHP che permette di eseguire gli script generati dagli agenti AI senza mai ricorrere a proc_open, exec o shell_exec. Ogni comando è una classe PHP che lavora su un filesystem virtuale, con limiti di esecuzione, quote disco e accesso di rete configurabili. Ideale per chi sviluppa agenti con il Laravel AI SDK o altre librerie simili.