notiziephp.it

Una settimana di Symfony #1024 (10–16 agosto 2026) (Symfony Blog)

Traduzione da Symfony Blog
21 Agosto 2026 Tempo di lettura: 9 minuti
Una settimana di Symfony #1024 (10–16 agosto 2026) (Symfony Blog)

Questa settimana, l'attività di sviluppo per la prossima release Symfony 8.2 è stata molto intensa: PropertyInfo ha reso accessors e mutators configurabili con attributi, HttpFoundation ha aggiunto supporto mirato per Cache-Control conforme alla RFC 9213, gli attributi di Console ora possono usare callable per descrizioni e testo di aiuto, Messenger ha aggiunto un'opzione di concorrenza per elaborare i messaggi in parallelo, e Mailer ha introdotto il supporto per transport con limitazione di velocità. Inoltre, abbiamo annunciato il Symfony AI Core Team.

Punti salienti dello sviluppo di Symfony

Questa settimana, 173 pull request sono state unite (140 nel codice e 33 nella documentazione) e 69 issue sono state chiuse (46 nel codice e 23 nella documentazione). Escludendo le merge, 70 autori hanno fatto aggiunte e rimozioni. Vedi i dettagli per il codice e la documentazione.

Changelog 6.4:

  • cbc6e73: [HttpKernel] corretta variabile non definita quando il blocco della creazione del container fallisce presto
  • 20e4b52: [HttpFoundation] combinati i pattern di host fidati in un'unica regexp
  • d889af3: [Console] ripristinato lo stato catchExceptions dopo l'esecuzione di un comando di messaggio
  • caad9bd: [Messenger] supporto per URL di code dalle partizioni aws-cn e aws-eusc in AmazonSqs
  • 00ad623: [AssetMapper] incluso il front controller negli URL degli asset di sviluppo
  • 6493f7a: [Mime] non eliminare l'ultima riga di un messaggio basato su risorsa
  • fe928b0: [PropertyInfo] ignorare i metodi che sembrano solo accessor
  • b49cded: [DependencyInjection] corretti i riferimenti circolari tramite espressioni
  • da13fb1: [FrameworkBundle] reimpostato il listener del notification logger tra un messaggio e l'altro
  • aefe26f: [Cache] corretta la protezione contro lo stampede che non veniva disabilitata su CLI
  • 3332935: [DoctrineBridge] corretta la rimozione dei listener lazy per oggetto
  • 80bbdbd: [Messenger] gestito il nack sincrono in batch
  • 0bed777: [HttpClient] rimozione di codice non utilizzato in AsyncResponse::__destruct()
  • 217f22b: [HttpClient] corretto il guard di consumo non armato in AsyncResponse::stream()
  • d046a5e: [HttpClient] corretta la risposta wrappata abbandonata che lanciava un'eccezione al destruct
  • 13d1949: [Translation] non estrarre messaggi da classi che si chiamano semplicemente TranslatableMessage
  • 347dff0: [Serializer] lancia un'eccezione su dati XML senza nodo root

Changelog 7.4:

  • a23b6cc: [DependencyInjection] corretti gli attributi di tag a livello di classe che venivano sovrascritti da quelli a livello di interfaccia
  • 439ada5: [Uid] confronta i tempi per valore in MockUuidFactory
  • 503e53b: [Console] mantieni le risposte falsy quando si raccoglie un array con #[Ask]
  • 7e210be: [Notifier] corretti gli invii riusciti che venivano segnalati come falliti in Sevenio
  • f61f832: [Mailer, Notifier] evita di conservare i messaggi senza il profiler
  • c81894e: [FrameworkBundle] tollera una forma più recente di InstanceofType di DependencyInjection nella fixture di riferimento
  • aea5616: [FrameworkBundle] non far trapelare il corpo della risposta da assertResponseRedirects() quando non è verboso

Changelog 8.1:

  • b94e5f6: [Tui] tratta una dimensione del terminale pari a zero come sconosciuta
  • b74c87b: [Console] corretta la lettura dell'attributo #[Target] sugli argomenti dei comandi invocabili
  • 50c86ca: [WebProfilerBundle] spostate le macro nella root del template
  • 4319188: [Tui] corretta la composizione dello stdin e la decodifica degli ID dei tasti
  • 857bb05: [Tui] corretto il calcolo della larghezza delle colonne
  • fe24ea2: [Tui] riutilizza i sottoalberi in cache durante il layout verticale
  • 4f6e767: [Tui] traccia le posizioni dei discendenti dei figli del layout orizzontale in cache
  • c307c59: [Tui] clamp dei bordi che non rientrano nel loro contenitore
  • e918927: [FrameworkBundle] collega il parser delle richieste webhook con i nomi di header configurati
  • a33ed46: [Serializer] converte gli elementi delle collezioni scalari
  • 708f63f: [ObjectMapper] corretto il riutilizzo di un oggetto già mappato per un target differente
  • 0fc8e9b: [VarExporter] suddiviso Exporter::export() in modo che non faccia crashare il compilatore JIT di PHP 8.5

Changelog 8.2:

  • f7504bf: [Form] offre l'identificatore del fuso orario canonico quando gli ID ICU collidono
  • a766a54: [Console] aggiunte le modalità di opzione nascoste e deprecate
  • b025beb: [RemoteEvent, Notifier] aggiunti eventi di engagement SMS
  • 2216fd2: [DependencyInjection] scritto un file CACHEDIR.TAG nelle directory di cache e build
  • b9707fc: [Validator] controlla le estensioni dei file e i mimeTypes in modo indipendente
  • 62a295c: [FrameworkBundle] consente di abilitare i lock advisory su una risorsa di lock
  • db52959: [Notifier] aggiunto il bridge per Facebook Page
  • f05b8a0: [HttpFoundation] deprecata la proprietà Request::$trustedHosts non utilizzata
  • ccc7d0a: [Clock] aggiunto attributo #[NoDiscard] a DatePoint
  • 78ba59d: [Notifier] aggiunto il bridge Instagram
  • f0ead93: [Notifier] aggiunto il bridge Threads
  • efe12db: [PropertyInfo] consente di definire accessors e mutators tramite un attributo
  • 06e4e07: [Translation] fa sì che CrowdinProvider::read() recuperi tutti i domini quando non ne viene passato nessuno
  • 385b35a: [PropertyInfo, Serializer] abilita l'uso di #[WithAccessors] con il serializer
  • c8b27e7: [Workflow] aggiunge tipi generici predefiniti agli eventi del Workflow
  • 83f61bf: [SecurityBundle] deprecate le regole di controllo accessi che votano su molti attributi
  • 588feba: [Webhook] aggiunto header timestamp e supporto firme Standard Webhooks
  • 3b11ffb: [Messenger] consente la creazione automatica della coda SQS
  • 1a73e47: [ObjectMapper] aggiunto MappingAwareTransformCallableInterface
  • 05fb6e5: [Translation] mantiene il contesto dei messaggi nei file PO
  • de3a2a2: [HttpFoundation] aggiunto supporto mirato per cache-control (RFC 9213)
  • d44edfe: [Security, SecurityBundle] supporto per decorare handler di risultati di autenticazione personalizzati
  • 3feb3b5: [Messenger] arrotonda i ritardi per limitare il numero di code di ritardo in Amqp
  • 0270644: [Console] consente callable per la descrizione e l'aiuto di #[AsCommand], #[Argument] e #[Option]
  • f2cfaf6: [DependencyInjection] aggiunto argomento factory nell'attributo #[Autoconfigure] e abilitato anche l'uso di factory all'interno di condizionali instanceof
  • 0871883: [Yaml] aggiunto supporto per tag yaml int, null, bool inclusi i virgolette
  • 264083a: [Messenger, Routing] aggiunto RequestContext::runWith() per generare temporaneamente URL per un altro contesto
  • 10d69b9: [HttpKernel] deserializza un parametro di query JSON con #[MapQueryString(key:)]
  • 46fb63f: [EventDispatcher] non inizializzare i listener lazy quando non possono corrispondere
  • 4747b29: [DependencyInjection] velocizzato ResolveInstanceofConditionalsPass
  • 296e499: [DoctrineBridge, EventDispatcher] rimanda la rimozione dei listener lazy invece di inizializzarli
  • d70b2ec: [Serializer] aggiunto AbstractNormalizer::IGNORED_GROUPS per rendere possibile ignorare gruppi durante la serializzazione
  • 0f2fb46: [FrameworkBundle] rende le assertion di BrowserKit non verbose per impostazione predefinita
  • 7967754: [Mailer] aggiunto return_path_domain al payload in Mandrill
  • f048769: [Console, Yaml] aggiunto un formato di output gitlab al comando lint:yaml
  • 997b83f: [HttpClient] aggiunto supporto per il metodo HTTP QUERY a CachingHttpClient
  • e5aedb1: [Notifier] aggiunto SlackPlainTextInputBlock per messaggi Slack
  • 523de6f: [Notifier] aggiunto bridge SMS Proxima
  • dd106ac: [SecurityBundle] aggiunto grafo della gerarchia dei ruoli al pannello di sicurezza del profiler
  • 6242646: [WebProfilerBundle] corretta la variabile has_dump mancante
  • 5bee8a6: [Messenger] aggiunto supporto per code eque SQS
  • 88b63e2: [WebProfilerBundle] visualizza l'URL del profiler nei log
  • d6fd147: [HttpFoundation] constraint ResponseHeaderSame ora mostra il valore effettivo dell'header
  • 0822e9f: [FrameworkBundle, HttpClient] aggiunta l'opzione retry_failed.base_uris a http_client
  • bc46c34: [Validator] aggiunta un'opzione message al constraint Callback
  • aebbeea: [DoctrineBridge] deprecato DoctrineCloseConnectionMiddleware in favore del nuovo DoctrineDbalCloseConnectionMiddleware
  • e244dff: [Tui] riutilizza righe invariate tra frame
  • 2ddce33: [FrameworkBundle] risolve i percorsi debug:config le cui chiavi contengono punti
  • 4ca21cd: [HttpKernel] prefissa il percorso della proprietà ai messaggi di violazione di RequestPayloadValueResolver
  • 3fae4b7: [DomCrawler] aggiunto ChoiceFormField::selectByText() per selezionare un'opzione tramite il suo contenuto testuale
  • c5f8853: [Messenger] mette in cache la gerarchia dei tipi di messaggio
  • b437076: [Form, TwigBridge] renderizza un id sull'elemento del form in modo che i riferimenti form_attr si risolvano
  • 02b2550: [Messenger] aggiunta un'opzione --concurrency al comando messenger:consume per elaborare i messaggi in parallelo
  • a0462a6: [PropertyInfo] raccoglie dati dagli hook di proprietà in ReflectionExtractor
  • 7c0cfc5: [Serializer] supporta nomi e percorsi serializzati configurabili per gruppo
  • 561397b: [Validator] gestisce proprietà di oggetti nel validator Unique
  • c54a8e1: [DoctrineBridge] deprecato DoctrineOpenTransactionLoggerMiddleware in favore del nuovo DoctrineDbalOpenTransactionLoggerMiddleware
  • 432042e: [Form] aggiunto PolymorphicCollectionType per collezioni i cui elementi non condividono tutti lo stesso tipo
  • 5b36e9e: [Security] consente wildcard come segnaposto nella gerarchia dei ruoli
  • 4e6fb00: [DoctrineBridge] deprecato DoctrinePingConnectionMiddleware in favore del nuovo DoctrineDbalPingConnectionMiddleware, aggiunto DoctrineDbalTransactionMiddleware
  • 42ff5be: [SecurityBundle] aggiunto un comando debug:roles per ispezionare la gerarchia dei ruoli
  • d896c56: [Messenger] aggiunto --redispatch a messenger:failed:retry
  • ea3c360: [Messenger] priorità ai receiver tramite la configurazione del transport
  • d1093c3: [Cache] aggiunto PdoTagAwareAdapter
  • af40eee: [Cache, FrameworkBundle] collega PdoTagAwareAdapter come cache.adapter.pdo_tag_aware
  • 6e7df76: [Serializer] aggiunta opzione force_collection a XmlEncoder
  • 235a365: [Cache] implementato PruneableInterface su RedisTagAwareAdapter
  • 3788ca4: [Notifier] aggiunto supporto API Firebase v1
  • e7edfc7: [Config] genera schema JSON per la configurazione
  • d0214d3: [Mailer] aggiunto supporto per i transport di posta con limitazione di velocità

Nuove issue e pull request

Offerte di lavoro Symfony

Queste sono alcune delle più recenti offerte di lavoro Symfony:

  • Symfony Developer presso ATH
    Contratto / Freelance - €25 – €50 / ora
    Full remote
    Vedi dettagli
  • Lead Symfony Developer presso DocuPet
    Full-time - CA$140.000 – CA$180.000 / anno
    Full remote
    Vedi dettagli

Puoi pubblicare un'offerta di lavoro Symfony gratuitamente su symfony.com.

Hanno parlato di noi

Prossimi eventi Symfony

Invito all'azione

Condividi su: LinkedIn

Altri articoli recenti