notiziephp.it

Una settimana di Symfony #1031 (28 settembre – 4 ottobre 2026) (Symfony Blog)

Traduzione da Symfony Blog
4 Ottobre 2026 Tempo di lettura: 18 minuti
Una settimana di Symfony #1031 (28 settembre – 4 ottobre 2026) (Symfony Blog)

Questa settimana sono state rilasciate le versioni 6.4.47, 7.4.20 e 8.1.8 di Symfony, insieme a Symfony Reprise 1.3.0. Nel frattempo, abbiamo continuato a presentare le funzionalità di Symfony 8.2, tra cui il login OpenID Connect, le email firmate e cifrate PGP/MIME, la sudo mode, gruppi di serializzazione più flessibili e miglioramenti delle prestazioni. Infine, abbiamo annunciato altri talk per la SymfonyCon Warsaw 2026.

Questa settimana sono state unite 364 pull request (191 nel codice, 63 nella documentazione, 101 in UX e 9 in AI) e sono state chiuse 92 issue (33 nel codice, 47 nella documentazione, 8 in UX e 4 in AI). Escludendo i merge, 67 autori hanno effettuato aggiunte e rimozioni. Vedi i dettagli per codice, documentazione, UX e AI.

Changelog 6.4:

  • 7a9b164: [Serializer] corretta la cache key di MetadataAwareNameConverter quando il contesto non può essere serializzato
  • a7fe780: [FrameworkBundle] disabilitato il push HTTP/2 sul client HTTP predefinito
  • 410b9c3: [HttpKernel] corretto il livello di log delle eccezioni mappate a un codice di stato HTTP
  • 7e59fe0: [Serializer] non includere l'id della traccia di debug nella cache key degli attributi
  • 243d173: [DoctrineBridge] non considerare mai un oggetto come tipo di chiave di una collection
  • 2b7cf91: [WebProfilerBundle] effettuato l'escape della sorgente del diagramma del workflow e della mappa dei listener nel profiler
  • cfbee39: [DoctrineBridge] non mappare i nomi dei tipi uuid e ulid alle classi uid in DoctrineExtractor
  • 983d5a5: [Cache] effettuato l'escape dei caratteri glob durante la pulizia dei namespace Redis
  • 35f513e: [DependencyInjection] esportare il service id quando si condivide un servizio wither circolare
  • f8e2d14: [FrameworkBundle] corretta la descrizione di un secret di routing webhook vuoto
  • 60cf683: [DependencyInjection, Routing] effettuato l'escape degli identificatori nel PHP generato
  • ce086d4: [DependencyInjection] tenere traccia dei placeholder env riutilizzati dopo che un'estensione precedente li ha eliminati
  • b530685: [String] aggiornati i dati di wcswidth con Unicode 18
  • 3172f3f: [String] corretta la larghezza delle sequenze emoji e dei jamo Hangul congiungenti
  • be608ca: [Messenger] corretta la decodifica di ErrorDetailsStamp con Serializer::create()
  • af9e4e4: [HttpClient] limitato il timeout passato a curl_multi_select()
  • 6ad469d: [Messenger] corretta la decodifica di ErrorDetailsStamp con il formato XML
  • 6aa5b27: [Messenger] non inviare i risultati degli handler ai transport
  • db66f78: [Messenger] convertire qualsiasi errore generato durante la decodifica in una MessageDecodingFailedException
  • c588108: [Messenger] corretta la decodifica in XML di un ErrorDetailsStamp che non ha FlattenException
  • fe8998a: [Messenger] corretta la decodifica in XML di un ValidationStamp che ha un gruppo o nessuno
  • fff4db5: [Messenger] corretto il riconoscimento di un errore ripetuto quando il suo codice non conserva il tipo in XML
  • 82fab8a: [Messenger] corretta la decodifica di un ValidationStamp che contiene una GroupSequence
  • 983971e: [HttpFoundation] corretta HeaderUtils::split() quando un separatore è un carattere di spaziatura
  • c2aee89: [String] corretta width() dei toni della pelle su basi keycap e text-default, e dei caratteri di formato
  • 7a5c6a7: [Messenger] corretta la migrazione di un messaggio tra transport che usano formati di serializzazione diversi
  • e465d45: [String] corretta width() delle sequenze OSC terminate da BEL
  • 16c8fdb: [String] corretta width() delle sequenze di escape con un byte intermedio o un byte finale numerico
  • 2a5c8f7: [Yaml] corretto il round-trip dei blocchi letterali che iniziano con righe di soli spazi
  • 32d3f8e: [PhpUnitBridge] rimossa la soppressione dei deprecation di __sleep/wakeup()
  • 4800ae8: [Messenger] rifiutare i messaggi decodificati che contengono stamp non inviabili e convalidare gli stamp degli envelope non serializzati
  • f4d6d8b: [Messenger] consigliare di non decodificare gli stamp non inviabili in SerializerInterface::decode()
  • 47ec709: [HttpFoundation] mantenere l'ID di sessione quando l'handler di sessione non riesce a leggere
  • e763561: [Yaml] corretto il dump dei blocchi letterali multilinea con tag
  • 513e96d: [Messenger] corretta la perdita di messaggi ritardati quando si ritenta il messaggio che li ha inviati
  • 3614876: [Messenger] corretto il transport Doctrine che mascherava i fallimenti di commit
  • beb4c9c: [Security] passare solo attributi della request convertibili in stringa al generatore di URL in HttpUtils
  • 68051a6: [FrameworkBundle] non elencare gli alias dei servizi astratti in debug:autowiring
  • ec54b1e: [Yaml] racchiudere tra virgolette le stringhe .inf e .nan durante il dump
  • 132867d: [String] corretta wordwrap() con $cut quando la stringa termina con il carattere di interruzione

Changelog 7.4:

  • 30802f4: [JsonStreamer] corretta la sostituzione dei tipi generici negli array shape
  • ad7c073: [TypeInfo] corretta accepts() dei tipi union e intersection
  • 03654e1: [TypeInfo] corretta la risoluzione delle stringhe tra virgolette con phpstan/phpdoc-parser 1.x
  • 489d20d: [Serializer, Validator] corretta la scoperta in fase di compilazione degli attributi su membri non pubblici
  • bb5fdd6: [HtmlSanitizer] corretta sanitizeFor() con contesti relativi a table, image e plaintext
  • f25ca4f: [HtmlSanitizer] non renderizzare i commenti come elementi quando l'azione predefinita è Allow
  • 21e5e2a: [TypeInfo] corretta la stampa delle chiavi di array shape che contengono virgolette o backslash
  • c462177: [JsonStreamer] corretta la sostituzione dei template con mixed nei tipi union
  • c2e593d: [ObjectMapper] costruire i target lazy-ghost annidati quando il mapper è decorato
  • 94e5b55: [TypeInfo] corretta Type::union() con mixed come unico tipo non-null
  • 0c4996e: [PropertyInfo] corretta la risoluzione delle stringhe tra virgolette in PhpStanExtractor con phpstan/phpdoc-parser 1.x
  • 6321df0: [TypeInfo] corretta la ricorsione infinita sugli alias di tipo ricorsivi
  • fb7d2b3: [Security] assegnare a ogni ruolo il proprio nodo nel dump Mermaid
  • 3571209: [JsonStreamer] corretti i reader e i writer generati per nomi che contengono virgolette
  • a3f66cc: [Cache] associare i namespace nell'invalidazione della cache basata su PDO
  • 7dcbcde: [Security] associare le chiavi OIDC scoperte agli issuer
  • 43dce2d: [JsonStreamer] effettuato l'escape dei tipi nei commenti PHP generati
  • 41e11de: [Messenger] impedire a PhpSerializer::getMessageType() di fare autoload delle classi
  • ee2ab09: [Mailer, Sweego] inviare l'indirizzo Reply-To tramite il campo dedicato dell'API
  • 9ef2936: usare il nome completo dell'impostazione nel messaggio di deprecation per coerenza
  • d6f029e: [Messenger] corretta l'interruzione dei worker su messaggi che non superano la verifica della firma
  • 722eb74: [Mailer, Sweego] accettare i secondi frazionari nei timestamp dei webhook
  • 8d7dadc: [Lock] corretta la denormalizzazione in XML di una Key che non ha scadenza né stato
  • 78b2cea: [Messenger] corretto il salto di un messaggio che non ha un transport originale in messenger:failed:retry
  • d8cb531: [FrameworkBundle, Messenger, Scheduler] richiedere una firma per RedispatchMessage e ServiceCallMessage
  • 6d25294: [Mailer, MicrosoftGraph] inoltrare solo gli header che Graph può accettare
  • 990636b: [HttpClient] corretto l'uso di HTTP/3 con CurlHttpClient
  • ffc1b79: [JsonPath] corretti i selettori index e slice che scartavano gli elementi null dell'array
  • 8881c9c: [JsonPath] corretti l'ancoraggio e l'escape degli slash in match() e search()
  • 6b8537d: [Scheduler] corretta processOnlyLastMissedRun() che saltava ogni run persa dopo un riavvio

Changelog 8.1:

  • c505a39: [DependencyInjection, FrameworkBundle] corretta la descrizione dei servizi che hanno argomenti closure env
  • 6dc4600: [TypeInfo] corretta la risoluzione delle chiavi di object shape in StringTypeResolver
  • 963994d: [TypeInfo] corretta la stampa delle chiavi di object shape che contengono virgolette o backslash
  • abce89e: [JsonStreamer] corretta la sostituzione dei tipi generici negli object shape
  • 739581a: [FrameworkBundle] richiedere symfony/dependency-injection ^8.1.8
  • 82c3ec2: [Tui] ridisegnare il viewport senza pulire lo schermo quando il contenuto in overflow si riduce
  • 335148d: [Tui] disegnare sul posto le righe già nello scrollback quando il contenuto in overflow torna a crescere
  • 55d26ca: [JsonStreamer] esportare il tipo come letterale nel messaggio di errore di codifica generato
  • 2e56795: [Tui] corretta la suddivisione in slice che contava un combining mark come una colonna
  • 0c3f6ee: [Messenger] mantenere la firma dei messaggi firmati che non riescono a essere decodificati
  • ccfe5b6: [Messenger] non ritentare i messaggi rifiutati a causa della loro firma
  • a6d9000: [Tui] misurare una sequenza emoji ZWJ, modifier o tag come due colonne
  • 6fd896e: [Messenger] corretta l'ack dei messaggi che InMemoryTransport non riesce a decodificare
  • 42952ca: [Messenger] corretti i retry infiniti di messaggi con body vuoto o header di stamp non decodificabile
  • 0eef6c7: [Messenger] corretti gli stamp duplicati quando un messaggio che non era stato decodificato viene decodificato durante il replay
  • bba9ddb: [Messenger] corretta la perdita del payload di un messaggio senza header di tipo quando viene ritentato
  • 00d18e6: [Messenger] corretti ack/reject dei messaggi Redis elencati dai comandi dei messaggi falliti
  • 1cf261c: [Messenger] instradare al proprio bus un messaggio che PhpSerializer non riesce a decodificare
  • d060748: [Tui] corretta wrapLineIntoChunks() che restituiva un chunk più largo della larghezza dopo il wrapping su uno spazio
  • fc6822c: [Tui] assegnare larghezza zero ai caratteri di formato e ai combining mark isolati
  • 3217edf: [Messenger] aggiungere gli stamp predefiniti di un messaggio al suo fallimento di decodifica riprodotto
  • 1db8c7c: [Tui] corretti parse() e matches() dei tasti funzione modificati
  • 6cebc11: [Tui] far corrispondere un escape modificato che parse() nomina

Changelog 8.2:

  • 296470b: [PropertyInfo] creare l'inflector e il type resolver di ReflectionExtractor al primo utilizzo
  • 91cdb3d: [TypeInfo] analizzare il docblock della classe una sola volta durante la creazione di un type context
  • 7d66574: [Cache] clonare le chiamate di CacheDataCollector una volta per profile
  • 8c4eb68: [AssetMapper] caricare ogni asset in cache una volta per request e da un unico file
  • 720a5ef: [TwigBundle] saltare i template già preriscaldati con un altro nome
  • 343fa46: [HttpKernel] calcolare il comando cURL di RequestDataCollector in lateCollect()
  • 245ca50: [AssetMapper, FrameworkBundle, WebProfilerBundle] non costruire né il profiler né Twig quando il dev server serve un asset
  • 8d581ad: [FrameworkBundle] costruire gli alberi di configurazione una sola volta per reference.php e schema.json
  • b73db07: [PropertyInfo] analizzare il docblock del costruttore una sola volta per classe
  • 8823b6f: [Serializer] ridurre l'overhead per attributo nella normalizzazione degli oggetti
  • f606ec9: [Serializer] velocizzare la conversione dei nomi durante la normalizzazione degli oggetti
  • 1248d08: [PropertyInfo, Serializer, Validator] preriscaldare le property info per le classi mappate dal serializer e dal validator
  • 590ba12: [HtmlSanitizer] saltare il parsing del testo semplice
  • 9b9212a: [Serializer] aggregare le chiamate annidate in SerializerDataCollector man mano che avvengono
  • 0ffd5b3: [HttpKernel] registrare gli errori client a livello warning invece che error
  • d827566: [HttpKernel] registrare le eccezioni senza appiattirle (flattening)
  • 69cf483: [Validator] riutilizzare l'IntlDateFormatter di ConstraintValidator::formatValue()
  • 93a532a: [PropertyAccess] ridurre l'overhead della lettura delle proprietà
  • 7020f70: [Serializer] cercare i parametri del costruttore prima delle property info durante la denormalizzazione
  • c43fb8c: [Serializer] non leggere i file delle classi quando si risolvono i tipi dei parametri del costruttore
  • ae2f63b: [HttpKernel] raccogliere i dati statici di ConfigDataCollector in lateCollect()
  • c0bc6eb: [SecurityBundle] spostare il lavoro statico di SecurityDataCollector in lateCollect()
  • f5e38b5: conflitto con pacchetti Symfony UX obsoleti quando si richiede symfony/symfony
  • 659cd62: [TwigBundle] preriscaldare solo i form theme raggiungibili
  • 0447e59: [FrameworkBundle, HttpKernel] saltare la risoluzione della modalità runtime sulle richieste web
  • d3b022a: [DependencyInjection] saltare la codifica dei valori ASCII semplici in XmlDumper
  • d49cb69: [Serializer] non creare un property accessor per ogni oggetto denormalizzato
  • 6686941: [TypeInfo, Serializer, JsonStreamer] aggiunta Type::map()
  • 1eba7ce: [KeyManagement] registrare l'ARN della chiave restituito da AWS KMS nei ciphertext
  • 9c6ba22: [Translation] estrarre i messaggi da espressioni match, stringhe interpolate, variabili e valori di ritorno dei metodi
  • f212f28: [HttpClient] consentire campi ripetuti nelle opzioni query e body
  • df1286f: [Validator] rendere invokable gli oggetti Constraint
  • 3b94fb1: [SecurityBundle] corretto il diagramma della gerarchia dei ruoli nel profiler
  • 0a71f5f: [Messenger] consentire l'uso di un serializer con nome per messenger.transport.symfony_serializer
  • 775c1c2: [FrameworkBundle] consentire l'uso di un serializer con nome per #[MapRequestPayload], #[MapQueryString] & #[Serialize]
  • a4916cb: [Mailer, Scaleway] associare le richieste webhook all'ARN del topic configurato
  • a1bff76: [String] saltare la misurazione della larghezza carattere per carattere per l'ASCII stampabile
  • 7eaf80c: [KeyManagement] rifiutare i valori di colonna vuoti nel tipo DBAL
  • 4732193: [Messenger] corretta la ridistribuzione di un messaggio che non è stato decodificato
  • 977b90b: [Messenger] ritentare un claim che non è stato possibile recuperare con il suo riferimento originale
  • a6d7e84: [Security] permettere ai voter di indicare quali dinieghi può risolvere una ri-autenticazione
  • 616a19c: [Security, SecurityBundle] permettere di fissare gli endpoint di discovery dell'oidc token handler al loro issuer
  • fec3f91: [Messenger] corretti i fallimenti di decodifica non verificati che mettevano i loro stamp sui messaggi firmati
  • e661238: [Messenger] corretti i retry infiniti di un claim che non può essere recuperato
  • d1659d2: [Security] avviare una ri-autenticazione per un controllo effettuato da un'espressione allow_if o da una closure #[IsGranted]
  • 494d536: [Mime] mantenere la codifica esplicita delle parti in FormDataPart
  • feb08ca: [Messenger] instradare al bus del suo messaggio un claim che non può essere recuperato
  • 3bf30ac: [Messenger] rifiutare un fallimento di decodifica non verificato che gira su un bus diverso da quello del suo messaggio firmato
  • 7cc98e4: [TwigBundle] saltare il controllo delle directory di template note a ogni request
  • 7384daa: [Security] rendere FormLoginAuthenticator un entry point di ri-autenticazione
  • 7614f74: [Messenger, Scheduler] sostituire RedispatchMessageHandler con un RedispatchStamp non inviabile
  • fa61c64: [Messenger] permettere a un flow di portare il proprio contesto negli stamp: propagazione, argomenti degli handler e identità
  • f9cce70: [Messenger] mantenere un generatore di message id definito dall'applicazione quando symfony/uid è assente
  • 13a9950: [Messenger] unire i middleware identity e propagation in FlowContextMiddleware e tenere traccia dei messaggi ritardati
  • 9917e11: [Messenger, Scheduler] aggiungere un'opzione sign ai transport per firmare ogni messaggio
  • 95b3e61: [Messenger] far fidare SyncTransport dei messaggi inviati in questo processo
  • 515f227: [Messenger] smettere di inoltrare nuovamente un messaggio ridistribuito una volta che è stato inviato
  • d547b96: [Messenger] rifiutarsi di chiamare gli handler che richiedono una firma per envelope non attendibili
  • 0520527: [FrameworkBundle, RateLimiter] registrare RateLimitAttributeListener in FrameworkBundle
  • 37457db: [Tui] aggiungere i modificatori super, hyper e meta agli id dei tasti
  • e130143: [Messenger] corretta l'invio di stamp e trust ai worker paralleli
  • 1b33dca: [Messenger] corretta la posticipazione degli ack fino a dopo l'idle sleep con --concurrency
  • e469e86: [Tui] rifiutare un key id che nomina un tasto sconosciuto durante la creazione di Keybindings
  • b024412: [HttpClient] usare HTTP/2 con prior knowledge quando http_version è 2.0
  • d56d793: [Messenger] aggiungere ChainStamp per inviare messaggi uno dopo l'altro
  • 8318c76: [Messenger] aggiungere DispatchOnFailureStamp per inviare un messaggio quando un altro fallisce
  • 77b7797: [KeyManagement] associare una data key memorizzata al suo riferimento e al suo scope
  • be05acb: [Tui] aggiunta Tui::getWidgetRect()
  • e9a0f11: [Form] aggiunta l'opzione sort_choices a ChoiceType
  • 24809fd: [FrameworkBundle, HttpFoundation, Messenger, Security, SecurityBundle] consentire la rotazione dei secret che firmano URI, cookie remember-me, link di login e messaggi
  • ed4c60b: [FrameworkBundle] migliorare i suggerimenti mostrati da debug:autowiring
  • de96277: [JsonStreamer, Mailer, Notifier, SecurityBundle, Webhook] deprecare gli alias di autowiring che prendono il nome dalle implementazioni
  • 5a5cd5b: [DependencyInjection] spostare PriorityTaggedServiceUtil in un file dedicato in modo che possa essere autoloaded
  • cb263b0: [Config, DependencyInjection] aggiunta NodeDefinition::inlineEnvVars() per inline-are le env var durante la compilazione del container
  • cb53c82: [DependencyInjection] aggiunti i vincoli within e around per ordinare i decorator
  • 08829a1: [Config] corretti i nodi enum e le regole di validazione che fanno inline delle env var

Changelog 3.x:

  • 683b467: [Image] aggiunto il pacchetto UX Image e i suoi bridge Cloudflare e KeyCDN
  • 865e532: [Toolkit] includere gli asset di anteprima del kit e aggiungere un'app di anteprima
  • 19c7ad8: [Toolkit] aggiunti test visuali per le recipe
  • e7e7f1b: [Toolkit, Shadcn] corretto il popover che non metteva a fuoco il proprio contenuto su un browser occupato
  • 27da043: [Toolkit] suddividere i test del browser e tenere i log del server fuori dall'output della CI
  • 402afd1: [Toolkit, Flowbite] corretto il modal che non aveva un nome accessibile
  • dd302b3: [Toolkit, Flowbite] corretti i tab inattivi che erano illeggibili in dark mode
  • cdc2878: [Toolkit, Shadcn] corretto il blocco dei tasti freccia prima di una voce di accordion disabilitata
  • 01b3ed4: [Toolkit, Shadcn] corretti gli alert dialog che si aprivano al caricamento della pagina
  • db56b43: [Toolkit, Shadcn] corretto un drawer chiuso che restava raggiungibile con la tastiera
  • 8d2b82f: [Toolkit, Shadcn] corretta la lista della combobox che non si allineava al suo trigger
  • 3ebdfa0: [Toolkit, Shadcn] corretto l'indicatore radio del dropdown menu che era un anello invece di un punto
  • 183536e: [Toolkit, Shadcn] corretti i sottomenu del dropdown che andavano a capo sulle etichette
  • 99e0def: [Toolkit, Shadcn] corretto il date picker che metteva a fuoco "Previous month" invece di un giorno
  • 3e74e95: [Toolkit, Shadcn] corretto l'indicatore radio della menubar che era un anello invece di un punto
  • b2d63a8: [Toolkit, Shadcn] corretti i sottomenu della menubar che andavano a capo su etichette lunghe
  • fb844e7: [Toolkit, Shadcn] corretto l'aria-expanded del trigger del dialog che si desincronizzava
  • 4fd09a2: [Toolkit, Shadcn] corretto il tasto Tab che saltava i pannelli del menu di navigazione
  • e5896b1: [Toolkit, Shadcn] corretto l'handle resizable a cui mancava lo stato separator
  • 9525e93: [Toolkit, Shadcn] corretto uno sheet chiuso che restava raggiungibile con la tastiera
  • a2e0e03: [Toolkit, Shadcn] corretto uno slider disabilitato che reagiva ancora alla tastiera
  • 893bd57: [Toolkit, Shadcn] corretto lo slider che perdeva il focus dopo un click sulla sua track
  • c3f8aa5: [Toolkit, Shadcn] corretti il pulsante di chiusura e l'azione di un toast che ignoravano i click del mouse
  • b505c4c: [Toolkit, Shadcn] corretta l'icona del bookmark che non si riempiva negli esempi di toggle
  • cf264f6: [Toolkit, Shadcn] corretto il tooltip dell'esempio di pulsante disabilitato che non si apriva mai
  • 07052f9: [Toolkit] corretta ux:install che non sovrascriveva un file più recente della recipe
  • 9becbdd: [Image] aggiunti i preset
  • 4cfdb08: [Icons] preriscaldare le icone locali su cache:warmup
  • 7d06bf1: [TwigComponent] copiare il testo semplice in un colpo solo durante il pre-lexing dei template
  • cfae61f: [Toolkit, Shadcn] allineare la combobox al componente Shadcn UI upstream
  • 0297127: [Toolkit, Shadcn] allineare input-group all'InputGroup di Shadcn upstream
  • 41789ce: [Toolkit, Shadcn] corretto il data-slot che veniva ombreggiato quando inoltrato a un componente figlio
  • 1ece7c6: [Toolkit, Shadcn] allineare select al Select di Shadcn upstream
  • f23c899: [Toolkit] mostrare un diff quando ux:install chiede di sovrascrivere un file
  • e396086: [Toolkit, Shadcn] mantenere il tooltip dentro il viewport e adattarlo al suo testo
  • ee36b37: [Toolkit, Shadcn] corretto l'handle resizable che si spostava del doppio una volta spostato nel DOM
  • 0e54cdf: [Toolkit, Shadcn] corretto sonner che perdeva i suoi toast una volta spostato nel DOM
  • 06803d9: [Toolkit, Shadcn] corretto il dialog che non era più modale una volta spostato nel DOM
  • c57118a: [Toolkit, Flowbite] corretto il modal che non era più modale una volta spostato nel DOM
  • 30ae785: [Toolkit, Shadcn] corretto il navigation-menu che non si apriva più una volta spostato nel DOM
  • 8ae6aef: [Toolkit, Shadcn] corretto l'alert-dialog che non era più modale una volta spostato nel DOM
  • 9be2122: [Toolkit, Shadcn] corretta la risposta libera del questionario che perdeva il suo nome una volta spostata nel DOM
  • 49ab9cc: [LiveComponent] corretto AssertDispatchedEvent::withPayloadSubset() che andava in crash su valori di payload non scalari
  • b8d4038: [Pagination] corretta la paginazione Cursor con colonne DATETIMETZ_MUTABLE
  • 5ef8a78: [Turbo] supportare il protocollo Mercure 1.0 in turbo_stream_from()
  • c19924f: [Turbo] attivare la deprecation di TurboStreamListenRenderer solo quando il servizio viene usato
  • dcbeef0: [LiveComponent] aggiunto l'hook render:started al tipo ComponentHooks
  • 40eaad0: [LiveComponent] corretti i componenti figli persi all'interno di un elemento data-skip-morph
  • 9613d13: [LiveComponent] concludere lo stato di caricamento quando una request fallisce

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

  • Symfony Developer presso Steward
    Part-time / Temporaneo - $8,700 – $13,000 / mese
    Full remote
    Visualizza dettagli
  • Symfony Developer presso ATH
    Contratto / Freelance - €25 – €50 / ora
    Full remote
    Visualizza dettagli

SymfonyCasts è il modo ufficiale per imparare Symfony. Scegli un percorso per un cammino guidato attraverso oltre 100 corsi video su Symfony, PHP e JavaScript.

Questa settimana, SymfonyCasts ha pubblicato i seguenti aggiornamenti:

Condividi su: LinkedIn

Altri articoli recenti