Magento Open Source 2.4.9
Magento 2 20 Maggio 2026 · 4 min di lettura

Magento Open Source 2.4.9

Il 12 maggio 2026 è uscita Magento Open Source 2.4.9, la nuova release stabile della piattaforma. Vediamo cosa cambia concretamente.

Aggiornamenti di piattaforma

La novità più rilevante è il supporto ufficiale a PHP 8.4, con PHP 8.5 già nel mirino per i prossimi cicli. Contestualmente, è stato rimosso tutto il codice legacy scritto per versioni PHP inferiori alla 8.1 — un segnale chiaro sulla direzione della piattaforma.

L’intero stack Symfony è stato aggiornato a Symfony 7.4 LTS, con tutte le classi custom che estendono il framework aggiornate per la compatibilità. Rimosso anche il codice di compatibilità con Microsoft IIS — Windows non è una piattaforma supportata.

La libreria OAuth di terze parti carlos-mg89/oauth è stata sostituita con le funzioni OAuth native di PHP, riducendo le dipendenze esterne. Sul fronte JavaScript: aggiornamenti a Chart.js 4.5.0, jQuery UI 1.14.1, jQuery Validate 1.21.0, Less.js 4.2.2 e altre librerie.

Sicurezza

Fix per una vulnerabilità SSTI (Server-Side Template Injection) nel form di condivisione della wishlist: i campi messaggio vengono ora validati per bloccare l’iniezione di direttive template malevole.

Il CAPTCHA e reCAPTCHA, quando abilitati per il form di creazione account, vengono ora applicati anche sulle chiamate REST API e GraphQL — in precedenza erano bypassabili via API.

Cambia il comportamento del 2FA per gli admin: in precedenza era necessario configurare tutti i provider 2FA abilitati dal merchant prima di poter accedere. Ora è sufficiente configurarne uno solo. Altre correzioni: admin con scope ristretto non possono più accedere alla configurazione “Default Config”, la lunghezza minima della password admin è ora configurabile (allineamento PCI DSS 4.0), e la versione di Magento non viene più esposta tramite la route di setup con configurazione Nginx predefinita.

Performance e indicizzazione

Aggiunto un indice mancante sulla tabella catalog_product_entity_int, risolto un overflow del version_id nel changelog degli indici che bloccava gli aggiornamenti per store con grandi volumi, e ottimizzata la gestione della memoria nell’indexer delle catalog rule. Il meccanismo MView ora riporta correttamente gli errori durante l’esecuzione dei trigger invece di ignorarli silenziosamente.

Risolto un problema con il resize delle immagini (catalog:images:resize --skip_hidden_images) che generava cache per tutti i siti anche quando le immagini non erano presenti, consumando in alcuni casi oltre 400GB di spazio disco.

Bug fix principali

501 issue risolte nel codice core. I fix più impattanti per chi lavora su progetti reali:

Il carrello entrava in loop infinito con Fixed Product Tax attiva — errore nel calcolo del subtotale. La creazione di un ordine da admin con 20 o più prodotti causava un overflow di sessione (oltre 256KB) con blocco dell’utente. Nel checkout multishipping, richieste concorrenti generavano ordini duplicati. Il cambio store view dalla testata richiedeva un flush della cache per essere effettivo.

Una query GraphQL con Request Path e Target Path identici causava un loop infinito con timeout. I prezzi in carrello con valute diverse tra store view venivano calcolati in modo errato. Le richieste REST API malformate restituivano 500 invece del corretto 400 Bad Request. Risolto anche un crash del browser su attribute set con oltre 4.000 attributi prodotto.

Come procedere

Prima di aggiornare in produzione, verificare la compatibilità dei moduli custom e di terze parti — in particolare quelli che estendono classi Symfony o usano la libreria OAuth. Le release note complete sono disponibili su Adobe Experience League.