Note sulla versione di Magento Open Source 2.4.4
Il Magento Open Source 2.4.4 introduce il supporto per PHP 8.1. Tutte le librerie di progetto e le dipendenze sono state aggiornate per la compatibilità con PHP 8.1. Anche le dipendenze del Compositore core e le librerie di terze parti sono state aggiornate alle versioni più recenti compatibili con PHP 8.1. Questa versione supporta anche OpenSearch 1.2.
Questa versione include quasi 250 correzioni di qualità e miglioramenti.
Applica AC-3022.patch
per continuare a offrire DHL come vettore di spedizione
DHL ha introdotto lo schema versione 6.2 e dichiarerà obsoleto lo schema versione 6.0 nel prossimo futuro. Adobe Commerce 2.4.4 e versioni precedenti che supportano l’integrazione DHL supportano solo la versione 6.0. I commercianti che distribuiscono queste versioni devono applicare AC-3022.patch
al più presto per continuare a offrire DHL come vettore di spedizione. Per informazioni sul download e l'installazione della patch, vedere l'articolo della Knowledge Base Applica una patch per continuare a offrire DHL come corriere.
Altre informazioni sulla versione
Anche se il codice per queste funzioni è incluso con le versioni trimestrali del codice principale del Magento Open Source, molti di questi progetti sono anche rilasciati in modo indipendente. Le correzioni di bug per questi progetti sono documentate nelle informazioni sulla versione specifiche per il progetto, disponibili nella documentazione di ciascun progetto.
composer.json
prima dell'esecuzione dei plug-in. Attualmente, i plug-in inclusi nel file composer.json
ma non contrassegnati come attendibili vengono installati automaticamente. Tuttavia, a partire da luglio 2022, Composer non caricherà i plug-in a meno che non siano stati esplicitamente consentiti. Per istruzioni su come modificare il file composer.json
per consentire esplicitamente il caricamento del plug-in, consulta l'articolo della Knowledge Base di Composer_plugins_issues when upgrade to Adobe Commerce 2.4.4.Hotfix inclusi in questa versione
Il Magento Open Source 2.4.4 include la risoluzione di tutti i problemi risolti dai seguenti hotfix, forniti per Adobe Commerce e i Magenti Open Source 2.4.3, 2.4.3-p1 e 2.3.7-p2:
-
La vulnerabilità gestita da
MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patch
eMDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch
è stata risolta in questa versione. -
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
. Questa patch risolve un errore PHP irreversibile che si è verificato durante l'aggiornamento. Vedere l'articolo della Knowledge Base Aggiornamento Adobe Commerce 2.4.3, 2.3.7-p1 PHP Errore irreversibile Hotfix.
Punti salienti del Magento Open Source 2.4.4
In questa versione, cerca le seguenti aree di rilievo.
Miglioramenti di sicurezza
Questa versione include una correzione di sicurezza e miglioramenti alla sicurezza della piattaforma. Questa correzione rapida per la sicurezza è stata supportata nel Magento Open Source 2.4.3-p2 e nel Magento Open Source 2.3.7-p3.
Ad oggi non si sono verificati attacchi confermati relativi a questi problemi. Tuttavia, alcune vulnerabilità possono potenzialmente essere sfruttate per accedere alle informazioni dei clienti o assumere il controllo delle sessioni dell’amministratore. La maggior parte di questi problemi richiede che un utente malintenzionato ottenga prima l’accesso all’amministratore. Di conseguenza, ti ricordiamo di adottare tutte le misure necessarie per proteggere il tuo amministratore, incluse, ma non solo, queste iniziative:
- INSERIRE NELL'ELENCO CONSENTITI IP
- autenticazione a due fattori
- utilizzo di una VPN
- utilizzo di una posizione univoca anziché
/admin
- corretta igiene della password
Per le ultime discussioni su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.
Ulteriori miglioramenti della sicurezza
Miglioramenti di sicurezza per questa versione migliorano la conformità con le best practice più recenti, tra cui:
-
L’utilizzo della variabile e-mail è stato dichiarato obsoleto nella versione 2.3.4 come parte di una mitigazione del rischio sulla sicurezza in favore di una sintassi della variabile più rigida. Questo comportamento legacy è stato completamente rimosso in questa versione come continuazione della riduzione dei rischi per la sicurezza.
Di conseguenza, i modelli di e-mail o newsletter che funzionavano nelle versioni precedenti di Magento Open Source potrebbero non funzionare correttamente dopo l’aggiornamento ad Adobe Commerce 2.4.4 o Magento Open Source 2.4.4. I modelli interessati includono sostituzioni amministratore, temi, temi secondari e modelli da moduli personalizzati o estensioni di terze parti. La distribuzione potrebbe essere ancora interessata anche dopo l'utilizzo dello strumento di compatibilità per l'aggiornamento per correggere gli utilizzi obsoleti. Per informazioni sui potenziali effetti e le linee guida per la migrazione dei modelli interessati, vedere Migrazione dei modelli di posta elettronica personalizzati.
-
I token di integrazione non possono più essere utilizzati per l’autenticazione del token Bearer dell’API. In precedenza, un token di integrazione poteva essere utilizzato come chiave indipendente per l’autenticazione basata su token. Tuttavia, questo comportamento è stato disabilitato per impostazione predefinita a causa delle implicazioni di sicurezza di un token di accesso in scadenza. Il comportamento precedente può essere abilitato tramite la riga di comando o Admin. Vedi Autenticazione basata su token.
-
Gli ID sessione non sono più memorizzati nel database.
-
I token di accesso OAuth e i token di reimpostazione della password ora sono crittografati quando sono memorizzati nel database.
-
La convalida è stata rafforzata per impedire il caricamento di estensioni di file non alfanumeriche.
-
È stato aggiunto il supporto reCAPTCHA ai codici coupon.
-
Swagger è ora disattivato per impostazione predefinita quando il Magento Open Source è in modalità di produzione.
-
HTTPS è ora abilitato per impostazione predefinita per la vetrina del Magento Open Source. Usa URL protetti in Storefront e Usa URL protetti nelle impostazioni Admin sono abilitati per impostazione predefinita e tutti i cookie incorporati sono ora impostati come protetti.
-
Il plug-in per la confusione della dipendenza è ora necessario per tutte le installazioni del Magento Open Source. In precedenza, questo plug-in era necessario solo per le installazioni basate su Compositore. Ora consente versioni affidabili. I commercianti possono aggirare i vincoli impostati in questo plug-in che vietano determinate combinazioni di installazioni di Compositore. I vincoli possono essere ignorati per le versioni attendibili e ora nel Magento Open Source viene visualizzato un avviso prima di procedere con l’installazione.
-
Gli sviluppatori possono ora configurare il limite delle dimensioni degli array accettati dagli endpoint RESTful di Magento Open Source in base agli endpoint. Vedi Sicurezza API.
-
Sono stati aggiunti meccanismi per limitare le dimensioni e il numero di risorse che un utente può richiedere tramite un’API web a livello di sistema e per ignorare i valori predefiniti nei singoli moduli. Questo risolve il problema risolto da
MC-43048__set_rate_limits__2.4.3.patch
. Vedi Sicurezza API.
Miglioramenti alla piattaforma
Il Magento Open Source 2.4.4 ora supporta PHP 8.1. Tutte le librerie di progetto e le dipendenze sono state aggiornate per la compatibilità con PHP 8.1. Ulteriori miglioramenti alla piattaforma includono:
-
Il Magento Open Source 2.4.4 supporta l’Elasticsearch 7.16 e OpenSearch 1.2. L’applicazione Open Source merchants con implementazioni ospitate on-premise può utilizzare entrambe le soluzioni. Tuttavia, OpenSearch è ora il motore di ricerca predefinito per le distribuzioni del Magento Open Source 2.4.4 ospitate nel cloud. Tutti i clienti con implementazioni cloud che eseguono l’aggiornamento alla versione 2.4.4 devono utilizzare OpenSearch. Consulta Passaggio ad OpenSearch per Adobe Commerce su Cloud 2.4.4
-
Aggiornamento della libreria
JQuery
alla versione 3.6. La libreriajquery-ui
è stata aggiornata alla versione 1.13.0. Diverse altre librerie JavaScript sono state aggiornate alle versioni più recenti. -
TinyMCE 5.8.1 è ora supportato. TinyMCE 4 è stato rimosso dal codebase.
-
La libreria
RequireJS
è stata aggiornata alla versione più recente (v2.3.6). GitHub-33672 -
PHPUnit è stato aggiornato alla versione più recente (9.5.x). I test e i framework di test sono stati aggiornati per essere compatibili con la nuova versione.
-
La maggior parte delle dipendenze Laminas sono state aggiornate alle versioni più recenti compatibili con PHP 8.1. Tre dipendenze Laminas sono state rimosse dalla base di codice per ridurre il numero di dipendenze.
Aggiornamento dell’interfaccia utente jQuery
jQuery UI è stato aggiornato alla versione più recente (v1.13.0). I seguenti componenti jQuery v1.10.0 sono stati rimossi:
-
Opzioni
ajaxOptions
ecache
per le schede. Vedi Schede. -
.zIndex()
. L'interfaccia utente di jQuery v1.12.1 includejquery/z-index.js
, che supporta l'utilizzo di.zIndex()
. Consulta Interfaccia utente Core. -
Fallback dei dati per i nomi dei widget. È necessario utilizzare il nome completo per la chiave
.data()
. -
Codifica rigida di classi come
ui-corner-all
nei widget.
GraphQL
Questa versione include i seguenti miglioramenti di GraphQL:
-
Miglioramenti delle prestazioni:
-
Le prestazioni del carrello GraphQL sono migliorate. Il metodo
collectQuoteTotals()
viene ora chiamato una sola volta durante una richiesta GraphQL, riducendo il tempo di risposta. -
Le prestazioni di Storefront sono state migliorate dalle modifiche apportate alla modalità di memorizzazione nella cache delle richieste GraphQL. Fastly e Varnish memorizzano nella cache le richieste GraphQL inviate con
auth
token.
-
-
Nuove impostazioni di configurazione amministratore relative alla vetrina. La query
storeConfig
restituisce ora le impostazioni di configurazione per i metodi di pagamento Checkout e Checkpoint/Money Subtotal. -
Libreria GraphQL di base aggiornata. La libreria
webonyx
, che consente il funzionamento del GraphQL di base, è stata aggiornata alla versione ^14.9. -
Sono stati risolti dei problemi di traduzione in GraphQL con archivi multisito e multilingue. Il resolver GraphQL ora restituisce le stringhe tradotte in base all’ambito dell’archivio come previsto.
-
GraphQL ora fornisce a New Relic nomi descrittivi delle transazioni, che possono essere utili per il debug. GitHub-30915
Per informazioni dettagliate su questi miglioramenti, consulta la Guida per gli sviluppatori di GraphQL.
Estensioni in bundle con il fornitore
A eccezione di Braintree, tutte le estensioni incluse nel fornitore sono state rimosse dalla base di codice di Magento Open Source 2.4.4. I commercianti devono effettuare la migrazione alle estensioni ufficiali, disponibili nella Commerce Marketplace.
Miglioramenti ai pagamenti PayPal
-
L'opzione di pagamento Venmo è ora supportata.
-
Paga più tardi è stato aggiunto come opzione per gli acquirenti in base alla posizione del cliente, non alla posizione del commerciante.
-
I commercianti possono ora impostare il paese dell'acquirente quando testano l'esperienza dell'acquirente nel loro paese di scelta. In precedenza, i test si limitavano ai test solo per il paese in cui il commerciante ha sede. Questa modifica è valida solo in modalità sandbox.
-
I messaggi nella pagina di pagamento ora mostrano messaggi accurati su quanto e in quanti incrementi l’acquirente dovrà pagare quando utilizzerà Paga più tardi.
Aggiornamenti all’accessibilità
Questa versione introduce una maggiore conformità alle linee guida standard per l’accessibilità. Include descrizioni comandi migliorate, denominazione e assegnazione di tag accessibili agli elementi dello schermo e icone e pulsanti riprogettati. Oltre l’80% di queste correzioni contribuisce a migliorare l’esperienza di acquisto degli utenti senza visione o visione limitata.
Page Builder
Gli esercenti possono ora aggiungere testo alternativo (alt_text
) alle immagini (immagine, banner, diapositiva) per migliorare l'accessibilità dei contenuti. GitHub-746
Problemi risolti
Stiamo risolvendo centinaia di problemi nel codice core del Magento Open Source 2.4.4. Di seguito è descritto un sottoinsieme di questi problemi risolti.
Installazione, aggiornamento, distribuzione
- Il Magento Open Source ora registra gli errori di distribuzione del contenuto statico nei file di registro della build come previsto.
- Le patch di dati non possono più ignorare i vincoli univoci di una tabella e inserire valori duplicati in una tabella di database MySQL. In precedenza, le patch potevano inserire valori duplicati, che danneggiavano il database.
- I commercianti possono ora eseguire l'aggiornamento da una distribuzione di Magento Open Source 2.4.2 con Klarna al Magento Open Source 2.4.3. GitHub-33760
- È ora possibile modificare la configurazione del generatore di sitemap dalla riga di comando. In precedenza, applicationOpen Source visualizzava questo errore quando si tentava di modificare la configurazione di sitemap all'esterno di Admin:
Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78
. GitHub-31428
- Il comando
bin/magento app:config:import
viene ora eseguito senza errori quando si aggiornanotime
valori inconfig.php
. In precedenza, la modifica della configurazione dell’avviso del prodotto mediante modifica manuale (ovvero senza utilizzare l’amministratore) generava un errore.
Accessibilità
- Sono stati risolti gli errori di accessibilità relativi alla navigazione nel carrello e alle pagine di pagamento. GitHub-34483
- Gli assistenti vocali ora possono leggere tutti gli elementi del modulo pertinenti sulle pagine dei prodotti.
- Il contrasto è stato migliorato per i pulsanti di eliminazione e spostamento delle immagini nella vetrina, per migliorarne la leggibilità per gli utenti ipovedenti.
- All’icona della lente di ingrandimento utilizzata per eseguire ricerche in tutta l’interfaccia del prodotto sono stati assegnati un nome accessibile e un’alternativa testuale.
- È ora possibile accedere alla barra degli strumenti dell’editor Rich Text utilizzando il tasto TAB.
- L'elemento di peso ha inserito un input di selezione nella pagina dei dettagli Catalogo > Prodotto, che ora include etichette visibili e un nome accessibile.
- Il nome accessibile del controllo ora include il testo dell'etichetta visibile per il numero di elementi per pagina.
- I controlli della tabella nella pagina dei dettagli Catalogo > Prodotto dispongono ora di etichette visibili e di un nome accessibile quando la tabella viene compressa.
- I collegamenti di modifica nella tabella Prodotti ora presentano un testo di collegamento univoco e significativo.
- I trigger che espandono le descrizioni comandi ora forniscono nomi testuali.
- I pulsanti nella vetrina ora hanno nomi accessibili univoci e descrittivi. In precedenza, i pulsanti suddivisi con un pulsante di testo e un pulsante di icona freccia giù adiacente avevano lo stesso nome accessibile.
- Il contrasto è stato migliorato per i pulsanti di eliminazione e spostamento delle immagini nella vetrina, per migliorarne la leggibilità per gli utenti ipovedenti.
- Sono state aggiunte alternative testuali all’icona della matita che compare quando un commerciante modifica l’input per il pannello a soffietto Ottimizzazione motore di ricerca.
- All’icona della lente di ingrandimento utilizzata per eseguire ricerche in tutta l’interfaccia del prodotto sono stati assegnati un nome accessibile e un’alternativa testuale.
- Il campo di immissione testo Nuova visualizzazione della pagina del prodotto ha ora un nome accessibile.
- L'elemento di peso ha inserito un input di selezione nella pagina dei dettagli Catalogo > Prodotto, che ora include etichette visibili e un nome accessibile.
Back-end
- Ora gli amministratori possono accedere all’amministratore in una distribuzione per la quale è configurato un percorso amministratore personalizzato e in cui è abilitata la chiave segreta. In precedenza, applicationOpen Source visualizzava questo errore:
Invalid security or form key. Please refresh the page
.
- Il Magento Open Source non reindirizzerà più all'ambito Visualizzazione di tutti gli archivi quando la gerarchia degli archivi multipli cambia. In precedenza, dopo il salvataggio della gerarchia, gli acquirenti venivano reindirizzati a un URL di archivio errato e l’ambito Tutte le visualizzazioni archivio veniva selezionato in una distribuzione multi-store.
Prodotti bundle
- Gli acquirenti possono ora aggiungere al carrello un prodotto bundle con imposta fissa sui prodotti e due opzioni. In precedenza, applicationOpen Source non aggiungeva il prodotto e visualizzava questo errore:
We can't add this item to your shopping cart right now
.
- La convalida del modulo sotto forma di attributi
data-validate
emin
è stata aggiunta al campo della quantità del carrello per evitare valori negativi per i prodotti del bundle.
- La query
products
ora filtra correttamente i prodotti del bundle quando i prodotti secondari sono disabilitati a livello di visualizzazione store. In precedenza, la query restituiva prodotti secondari disabilitati a livello di visualizzazione archivio.
cron
cancella ora la cache delle categorie di prodotto come previsto durante l'esecuzione diindexer_update_all_views
. In precedenza, applicationOpen Source mostrava un conteggio di prodotti errato nella pagina della categoria dopo l’aggiornamento di massa di molti prodotti della categoria.
- Ora il Magento Open Source aggiorna la cache dei prodotti della categoria come previsto quando un prodotto bundle ricompare in magazzino.
- La conversione della valuta ora avviene come previsto nelle conferme e-mail per gli acquisti di prodotti bundle in implementazioni multi-store che utilizzano valute diverse. GitHub-33426
- Gli sconti speciali sui prezzi avanzati vengono ora visualizzati correttamente per i prodotti in bundle con il prefisso % nella griglia di prodotti. In precedenza, nella griglia di prodotto veniva erroneamente visualizzato % sconto con prefisso $ invece di %.
- Lo stato del bundle di prodotto nell’amministratore ora viene aggiornato automaticamente quando un prodotto correlato cambia il suo stato.
- Il resolver GraphQL per i prodotti bundle ora controlla se i prodotti bundle secondari sono stati disabilitati. In precedenza, questo controllo non si verificava e le query
categoryList
restituivano prodotti secondari non vendibili.
- Le risposte alle query
cart
ora restituiscono sconti precisi per i prodotti bundle con prezzi dinamici. In precedenza, le risposte alle query includevano sconti applicati singolarmente a ciascun prodotto bundle.
Cache
- L’algoritmo di pulizia della cache eseguito durante la reindicizzazione è stato ottimizzato. I prodotti bundle ora vengono visualizzati come previsto quando una categoria viene memorizzata nella cache durante la reindicizzazione. In precedenza, i prodotti bundle non venivano visualizzati per ore dopo che le categorie di prodotti venivano memorizzate nella cache durante la reindicizzazione.
- La cache delle pagine non cresce più rapidamente in condizioni di utilizzo tipiche. GitHub-9458
- L’ordine non comporta più la rimozione di tutti i tag della cache relativi ai prodotti ordinati dalla cache di Vernice. GitHub-30128
- La cache delle pagine full-site non viene più eliminata quando si aggiorna un prodotto dalle categorie principali o si esegue un indice per aggiornare gli attributi del prodotto o lo stato delle scorte. In precedenza, la cache di vernice aggiungeva gli ID di categoria del menu superiore a tutti i tag della cache delle pagine. GitHub-33465
Carrello e pagamento
- Il prezzo minimo pubblicizzato Cos'è?Il collegamento sulla pagina del carrello ora è cliccabile e apre il popup delle informazioni come previsto. In precedenza, fare clic su questo collegamento non aveva alcun effetto.
- Ora gli acquirenti possono effettuare ordini senza errori dopo un timeout di sessione in implementazioni in cui è abilitato il carrello acquisti persistente. In precedenza, applicationOpen Source mostrava un errore di pagamento dopo un timeout della sessione.
- L’assegnazione di un valore di ordinamento elevato a un attributo dell’indirizzo del cliente non causa più un deterioramento delle prestazioni nella pagina di pagamento.
- Il Magento Open Source ora ripristina il valore precedente della quantità del prodotto del carrello se la quantità aggiornata non è valida.
- Facendo clic sul pulsante Aggiungi al carrello nella sezione Visualizzato di recente, ora viene effettuato il reindirizzamento alla pagina dei dettagli del prodotto. In precedenza, gli acquirenti venivano reindirizzati alla pagina di elenco dei prodotti.
- Gli acquirenti ospiti possono ora effettuare il check-out con un indirizzo del cliente che contiene diversi tipi di attributi personalizzati dell’indirizzo del cliente. In precedenza, i valori per gli attributi personalizzati non venivano formattati correttamente quando venivano visualizzati durante l’estrazione. GitHub-30290
- Il Magento Open Source ora applica correttamente la soglia di spedizione gratuita agli ordini quando le tariffe della tabella sono abilitate. GitHub-21832
- È ora possibile utilizzare
POST /V1/guest-carts/:cartId/items
per aggiungere prodotti semplici con opzioni diverse a un carrello. In precedenza, questa chiamata modificava la quantità del primo prodotto semplice aggiunto, anziché aggiungere un secondo prodotto semplice con le opzioni specificate. GitHub-32302
- La sezione Riepilogo ordini della pagina di pagamento visualizza ora la valuta e l'importo corretti quando viene configurata una distribuzione per il paese
Poland
e la valutaPLN
. In precedenza, il carrello e la pagina di pagamento mostravano l'importo PLN 0.
- Il Magento Open Source non genera più un errore quando un acquirente fa clic su Aggiorna carrello dopo aver modificato una quantità di prodotto nel mini carrello. In precedenza, applicationOpen Source visualizzava questo errore:
The quote item isn't found. Verify the item and try again
.
- Le query di GraphQL
products
per i prodotti configurabili in un negozio specifico ora restituiscono gli intervalli di prezzo dei prodotti solo nel negozio specificato. In precedenza, le richieste restituivano intervalli di prezzi per prodotti semplici su negozi non specificati.
- Il Magento Open Source non genera più questo errore quando un acquirente aggiunge un indirizzo di fatturazione a cui manca un campo della via:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
. GitHub-33826
- Il Magento Open Source non genera più un errore della console durante il check-out negli archivi da cui è stato rimosso il mini carrello. GitHub-34513
- L'estrazione non ha più esito negativo nella fase del pagamento quando nell'indirizzo di fatturazione mancano i valori dei campi relativi alla via o il valore del campo relativo alla via non è un array. Precedentemente, estrazione non riuscita con questo errore:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
. GitHub-33826
- Il Magento Open Source ora calcola correttamente gli sconti quando due regole del carrello vengono applicate a un ordine che soddisfa queste condizioni: una regola del carrello viene applicata con un codice coupon e una condizione Prezzo fisso sull'intero carrello e la seconda regola del prezzo del carrello non ha coupon e una condizione Percentuale di sconto sul prezzo del prodotto. In precedenza, l’algoritmo pertinente non poteva suddividere correttamente lo sconto proporzionalmente tra i prodotti del carrello quando una regola del carrello precedente aveva già applicato uno sconto su alcuni prodotti.
- Il totale delle vendite viene ora calcolato correttamente nella griglia del rapporto del coupon. In precedenza, il totale delle vendite non includeva l'importo della spedizione.
- Gli sconti sull'intero carrello ora vengono calcolati correttamente quando l'acquirente passa da un metodo di spedizione all'altro.
- L'elenco a discesa per il campo State nella pagina Ordine di creazione amministratore è ora compilato con i valori predefiniti per il paese selezionato. In precedenza, questo campo era un campo di testo di input invece di un menu a discesa.
- Il Magento Open Source non genera più un errore dopo aver utilizzato la mutazione
addConfigurableProductsToCart
per aggiungere un prodotto configurabile al carrello direttamente dopo aver modificato la visualizzazione dell'archivio.
- Il Magento Open Source non genera più un errore quando si utilizza la mutazione
addConfigurableProductsToCart
per aggiungere al carrello un figlio disattivato di un prodotto configurabile. In precedenza, applicationOpen Source generava un errore di violazione del vincolo di integrità.
- Il valore di utilizzo del coupon non cambia più se l’ordine a cui è stato applicato il coupon non riesce. In precedenza, i coupon generati automaticamente per singolo utilizzo venivano contrassegnati come non validi dopo l’applicazione del coupon nel carrello, ma l’ordine non veniva effettuato.
- È stata aggiunta la convalida al flusso di lavoro di pagamento per confrontare l’indirizzo del cliente con il valore predefinito. Se il processo di convalida identifica modifiche, imposta
customer_address_id
sunull
per considerarlo come un nuovo indirizzo cliente. In precedenza, se il cliente salvava l’indirizzo senza convalida al momento del pagamento e tentava di effettuare un ordine utilizzando lo stesso indirizzo dopo l’applicazione della convalida al campo di pagamento , l’applicazione Open Source non accettava l’indirizzo modificato e generava un’eccezione.
Regole prezzi carrello
- La generazione del coupon è ora bloccata finché la regola del prezzo del carrello correlato non viene salvata con l'opzione
auto
abilitata. Se si tenta di salvare questa regola senza abilitare l'opzioneauto
, l'applicazione Apri Source visualizza il seguente messaggio:Rule is not saved with auto generate option enabled. Please save the rule and try again
.
- È stato aggiunto un test per confermare la corretta applicazione di uno sconto sulle regole di prezzo del carrello.
- Le regole di prezzo del carrello che utilizzano una condizione SKU con Se un articolo viene TROVATO/NON TROVATO nel carrello con tutte/tutte queste condizioni true ora funzionano come previsto con i prodotti configurabili.
- Le regole di prezzo del carrello ora vengono applicate correttamente per i prodotti bundle a prezzo fisso. In precedenza, le regole di prezzo del carrello non si applicavano a questi prodotti quando almeno un prodotto secondario aveva lo stesso set di attributi specificato nella condizione della regola.
- È ora possibile aggiungere al carrello un prodotto con prezzo pari a 0 quando il Magento Open Source è configurato con lo sconto di importo fisso per la regola prezzo carrello intero. In precedenza, applicationOpen Source visualizzava questo errore:
report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85
.
- È stata corretta una condizione a causa della quale la query
cart
restituiva un importo di sconto non accurato quando venivano attivate le regole del carrello con sconti di importo fisso.
Catalogo
- Il Magento Open Source non genera più un'eccezione durante l'esecuzione di un'azione di aggiornamento di massa degli attributi sulla griglia di prodotto quando un prodotto ha un attributo
datetime
.
- Le query GraphQL ora restituiscono risultati per i prodotti secondari di un prodotto configurabile in base alle impostazioni del filtro di visibilità dei prodotti secondari.
- Il Magento Open Source non modifica più i prezzi dei prodotti correlati quando vengono modificati gli attributi del prodotto configurabili. In precedenza, il prezzo minimo annunciato (MAP) per un prodotto configurabile sovrascriveva il prezzo dei prodotti correlati sul lato negozio.
- Il Magento Open Source non genera più un'eccezione durante l'esecuzione di un'azione di aggiornamento di massa degli attributi sulla griglia di prodotto quando un prodotto ha un attributo
datetime
.
- I valori degli attributi a discesa/a selezione multipla per la griglia di prodotto e i filtri dell’amministratore ora derivano come previsto dalle impostazioni dell’amministratore. In precedenza, i valori degli attributi venivano derivati dalle impostazioni predefinite dell’archivio.
- Le query di categoria GraphQL restituiscono informazioni sulle modifiche apportate alle categorie posizionate nell'area intermedia come previsto.
- Gli elenchi di prodotti ora vengono visualizzati con precisione nell’amministratore nelle distribuzioni con prodotti assegnati sia a una categoria principale che alle relative sottocategorie, ma in posizioni diverse all’interno di ogni categoria. In precedenza, il rendering dell'elenco prodotti non riusciva con questo errore:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
. GitHub-33145
- È ora possibile assegnare ai nuovi prodotti attributi a selezione multipla con molte opzioni (oltre 150). In precedenza, le opzioni degli attributi venivano salvate nella tabella
catalog_product_entity_varchar
e non tutte le opzioni erano presenti quando si riapriva il prodotto in Admin. GitHub-33486
- È stata aggiunta la convalida per il caso in cui un router non possa creare un'istanza di una classe di azione raccolta da un URL. L’applicazione Open Source visualizza ora il messaggio di errore standard. In precedenza, applicationOpen Source visualizzava questo errore:
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
.
- L’assegnazione di molti prodotti (circa 10.000) a una categoria non causa più l’arresto anomalo del browser.
- Gli attributi delle immagini ora vengono salvati nel database in modo coerente, sia che vengano salvati dall’amministratore che importati. In precedenza, i valori di testo ALT per le immagini venivano salvati in modo incoerente. Se l'immagine esisteva e l'etichetta era impostata su null, il valore dell'etichetta non veniva reimpostato nel database.
- La query SQL del widget catalogo è stata ottimizzata. In precedenza, le query MySQL di grandi dimensioni rallentavano il caricamento della pagina e causavano interruzioni di MySQL.
- I filtri di prezzo ora funzionano correttamente con i prodotti configurabili esauriti. In precedenza, i prodotti configurabili esauriti non venivano visualizzati nella giusta fascia di prezzo.
- L’aggiornamento di un prodotto secondario non rimuove più lo sconto della regola di catalogo ereditato dal prodotto configurabile principale durante il processo di indicizzazione parziale. In precedenza, quando si assegnava un prodotto configurabile a una categoria ma non ai relativi prodotti semplici associati e quindi si utilizzava tale categoria per creare una regola di catalogo, l’applicazione Open Source rimuoveva la regola di catalogo assegnata al prodotto semplice durante il processo di indicizzazione parziale.
- L’elenco di prodotti raggruppati e configurabili nella visualizzazione a griglia ora contiene solo prodotti semplici e virtuali quando si aggiungono opzioni di prodotto. In precedenza, l’applicazione includeva prodotti semplici con opzioni.
Regola catalogo
- Gli aggiornamenti giornalieri delle regole di catalogo non determinano più un deterioramento delle prestazioni. In precedenza, l’indicizzazione parziale dei prezzi dei prodotti del catalogo non rimuoveva i prezzi o le date precedenti.
- Il Magento Open Source non rimuove più le regole del prezzo di catalogo sui prodotti configurabili durante la reindicizzazione parziale. In precedenza, solo i sottoprodotti venivano reindicizzati quando i prodotti configurabili venivano reindicizzati.
- Le regole del prezzo del catalogo con la categoria non sono condizione category_id ora si applicano ai prodotti che non appartengono ad alcuna categoria.
Prodotti configurabili
- Il nome dell’etichetta dell’opzione prodotto configurabile ora si basa sulla vista store selezionata durante la creazione dell’ordine amministratore. In precedenza, applicationOpen Source utilizzava il nome dell’etichetta della vista store predefinita.
- Gli elenchi di prodotti ora includono correttamente i prodotti secondari di un prodotto esaurito quando il flag globale per la visualizzazione dei prodotti esauriti è abilitato. In precedenza, l’elenco dei prodotti non includeva il prodotto secondario se una delle diverse opzioni dei prodotti secondari era esaurita quando questo flag era abilitato.
- È ora possibile utilizzare la mutazione
addConfigurableProductsToCart
per aggiungere un prodotto configurabile al carrello in una visualizzazione archivio non predefinita. In precedenza, non era possibile aggiungere un prodotto configurabile a un carrello quando l’ID del sito web e dell’archivio erano diversi. GitHub-30948
- Le query di GraphQL
products
non restituiscono più dati sui prodotti secondari disabilitati dei prodotti configurabili.
- La creazione di nuove configurazioni per un prodotto configurabile non esclude più le modifiche nelle configurazioni esistenti. In precedenza, lo stato delle varianti esistenti veniva sostituito con lo stato predefinito
enabled
dopo la generazione di nuove varianti.
- Il Magento Open Source non genera più un errore interno quando si tenta di aggiungere al carrello un figlio disattivato di un prodotto configurabile.
Cliente
- Il Magento Open Source ora considera l’ambito del sito web per le impostazioni locali dell’amministratore durante la creazione dell’ordine. In precedenza, i dettagli dell’ordine come gli attributi dell’indirizzo del cliente funzionavano correttamente su un solo sito web in una distribuzione multisito. GitHub-23254
- Gli errori di convalida del campo e-mail nella finestra a comparsa per l’accesso all’estrazione ora corrispondono agli errori di convalida e-mail nella pagina di accesso del cliente quando un cliente tenta di accedere utilizzando un account e-mail non valido.
- Il Magento Open Source non include più un messaggio di errore nell'e-mail dei dettagli della spedizione quando un commento sulla spedizione viene aggiunto dall'amministratore e la casella di controllo Notifica cliente è attivata. In precedenza, le e-mail di conferma della spedizione includevano questo messaggio:
We're sorry, an error has occurred while generating this content
.
- I valori ID paese e regione ora vengono convertiti correttamente nei modelli e-mail. In precedenza, quando si faceva clic sul collegamento Anteprima dal modello e-mail dell'amministratore, il paese e il nome dell'area non venivano visualizzati correttamente.
- Le e-mail di aggiornamento delle vendite inviate dall’amministratore per le visualizzazioni del punto vendita non predefinite ora contengono le etichette di stato dell’ordine corrette. In precedenza, queste e-mail mostravano sempre lo stato dell’archivio predefinito. GitHub-29263
- Il Magento Open Source ora include
Content-Disposition: inline
intestazioni nei messaggi e-mail come previsto. GitHub-29258
- Le e-mail di notifica per ordine e spedizione ora funzionano come previsto nelle distribuzioni tramite Microsoft Outlook e MS Exchange Server. In precedenza, il corpo dell’e-mail era vuoto ma conteneva un allegato etichettato ATT*. GitHub-25076
- Le e-mail di ordine ora contengono dati localizzati utilizzando le impostazioni locali dell’acquirente come previsto. In precedenza, per le e-mail di ordine veniva utilizzata la lingua amministratore.
- Facendo clic sull’anteprima di un modello e-mail, l’anteprima viene ora visualizzata in una finestra separata, come previsto. In precedenza, l’applicazioneApri Source apriva l’anteprima del modello contemporaneamente dalla griglia dei modelli e-mail e in una finestra a comparsa.
- Le e-mail di ordine asincrono inviate da un sito Web non predefinito ora includono gli URL del logo dal sito Web appropriato. In precedenza, queste e-mail includevano sempre i logo del sito web predefinito o principale. (Una chiave predefinita con un valore
storeCode
è stata assegnata al secondo argomento matrice passato alla funzioneUrlInterface
getUrl
. Questo valore distingue gli URL rispetto a diversi store/siti Web e genera unbaseUrl
corretto per il contenuto dell'e-mail inviato al cliente.)
Framework
- I confronti non rigorosi tra numeri e stringhe non numeriche ora funzionano eseguendo il cast del numero in stringa e confrontando le stringhe. I confronti tra numeri e stringhe numeriche continuano a funzionare come prima. Ciò significa che
0 == "not-a-number"
è ora considerato false. GitHub-33780
Magento\Payment\Helper\Data
helper non crea più nuovi layout nei costruttori. In precedenza, quando questo helper veniva utilizzato in comandi personalizzati senza specificare un indicativo di località, il Magento Open Source generava un errore. GitHub-33908
- È stata aggiornata la dipendenza del Compositore
allure-framework/allure-php-api
.
- Magento Open Source ora restituisce un codice di risposta 500 quando si verifica un'eccezione nel file di bootstrap. In precedenza, applicationOpen Source restituiva il codice di stato 200 OK. GitHub-22196
- Il simbolo di valuta viene ora caricato come previsto nelle pagine dei dettagli dei prodotti della vetrina. In precedenza, questo simbolo a volte scompariva dopo il ricaricamento della pagina JavaScript.
- L'aggiornamento di
symfony/console
non causa più un errore durante l'esecuzione dibin/magento setup:di:compile
. GitHub-33595
- Sono state aggiunte nuove opzioni richieste ai file
.htaccess
enginx.conf
distribuiti con Magento Open Source per il supporto di PHP 8.x. Sono state rimosse anche le opzioni obsolete. GitHub-34358
- Ora gli esercenti possono caricare un video per più prodotti. Il processo di generazione dei file ora aggiunge un’estensione al nome del file solo se il nome del file caricato include un’estensione. In precedenza, quando un commerciante tentava di caricare e poi salvare lo stesso video per due prodotti diversi, l'applicazione Open Source generava questo errore:
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
. Ciò si verificava perché il Magento Open Source tentava di aggiungere al nome un'estensione di file indipendentemente dal fatto che il nome del file caricato avesse o meno un'estensione.
- Sono stati risolti i problemi relativi alla costruzione di
sprintf(__())
esprintf(Magento\Framework\Phrase())
per compatibilità con PHP 8.x in tutto il codebase. In precedenza, applicationOpen Source generava questo tipo di errore:Expected parameter of type 'string', 'Magento\Framework\Phrase' provided
. GitHub-34085
- È stata migliorata la convalida dei parametri di query di ricerca avanzati. GitHub-33589
- L'esecuzione di
bin/magento support:backup:code
crea ora un backup come previsto. In precedenza, l’applicazione Open Source creava un backup ma generava un errore.
cron
processi eseguiti correttamente sono ora assegnati allo statosuccess
. In precedenza, era possibile eseguire due volte lo stesso processocron
perché acron
processi completati era stato assegnato lo statopending
.
- Il modulo
Magento_Logging
ora supporta IPv6.
Correzioni generali
- Durante la duplicazione di un prodotto, il Magento Open Source copia ora tutti i campi di prodotto in base ai loro ambiti definiti. In precedenza, i campi name e description venivano reimpostati sull'ambito
global
.
- Il Magento Open Source non applica più l'arrotondamento delta a uno sconto quando il prezzo del prodotto è 0. In precedenza, applicationOpen Source calcolava un importo di sconto negativo.
- I prodotti con un attributo Imposta come nuovo a cui è assegnata una data di inizio vuota e una data di fine scaduta possono ora essere salvati correttamente. In precedenza, applicationOpen Source generava questo errore quando si salvava un prodotto con le seguenti impostazioni:
Make sure the To Date is later than or the same as the From Date
.
- Gli amministratori ora possono riprovare le operazioni eseguite nel tempo massimo di elaborazione. Il valore massimo predefinito è 12 ore.
- Gli errori di pipe interrotte non si verificano più durante l’elaborazione di azioni in blocco a causa di messaggi non riconosciuti per il consumatore. Una proprietà di conteggio preacquisizione ora limita questi messaggi per il consumatore ed evita errori. In precedenza, l'esecuzione di
bin/magento queue:consumers:start async.operations.all
ha generato questo errore:Broken pipe or closed connection
.
- Gli acquirenti vengono ora reindirizzati alla pagina di accesso come previsto dopo un secondo tentativo di accesso non riuscito. In precedenza, gli acquirenti venivano reindirizzati a una pagina 404 dopo un secondo tentativo di accesso non riuscito. GitHub-32885
- La validità del token di reimpostazione della password è stata estesa per evitare il verificarsi di una situazione di tipo "race condition" durante l’invio della pagina di modifica della password. GitHub-29647
- Le autorizzazioni assegnate alle nuove integrazioni ora vengono rispettate. GitHub-33347
- È stato corretto un problema di regressione che interessava i messaggi rimasti nei registri eccezioni del modulo Contattaci. GitHub-34483
- Sono stati risolti diversi problemi relativi al caricamento dei dati dei clienti da parte di JavaScript. GitHub-30498
- L'utilizzo di
QuoteIdToMaskedQuoteId
in un'estensione non aumenta più in modo significativo il tempo di risposta. GitHub-33676
- La classe
BundleDiscountPrice
inmagento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php
è ora dichiarata come previsto. In precedenza, applicationOpen Source generava questo errore:Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found
. GitHub-33334
- I valori dei campi CSV in escape scritti dall’adattatore AWS S3 ora corrispondono ai dati scritti da altri adattatori del file system.
- È ora supportato lo storage compatibile con S3. GitHub-32114
- La disconnessione da un dispositivo non comporta più la disconnessione automatica dell'acquirente da altri dispositivi.
GraphQL
- Le mutazioni
generateCustomerToken
erevokeCustomerToken
forniscono ora l'ID cache corretto per lo stato utente. In precedenza, queste mutazioni utilizzavano unx-magento-cache-id
non valido, con conseguente riduzione delle prestazioni.
- La mutazione
setBillingAddressToCart
ora utilizza correttamente il parametrosame_as_shipping
per impostare l'indirizzo di fatturazione in modo che corrisponda all'indirizzo di spedizione come previsto. In precedenza, applicationOpen Source visualizzava questo errore:The shipping method is missing. Select the shipping method and try again
. GitHub-30924
- Le operazioni del carrello di GraphQL ora calcolano i totali complessivi del carrello solo quando la query lo richiede. In precedenza, le operazioni del carrello calcolavano sempre il totale complessivo, un’operazione che richiede molte risorse.
- La mutazione
addProductsToCart
ora aggiunge al carrello solo i prodotti assegnati all'archivio definito nell'intestazione.
- Le query
products
che utilizzano filtri di navigazione a livelli ora restituiscono gli elenchi di categorie figlio corretti. GitHub-33387
- Le query e le mutazioni che restituiscono l'oggetto
ConfigurableCartItem
contengono informazioni sulle varianti configurate come previsto.
- La query
products
ora restituisce i valori dell'opzione del prodotto di configurazione e i valori dell'attributo della variante. In precedenza, questi valori erano vuoti nelle risposte alle query.
- La query
products
ora filtra correttamente i prodotti del bundle quando i prodotti secondari sono disabilitati a livello di visualizzazione store. In precedenza, la query restituiva prodotti secondari disabilitati a livello di visualizzazione archivio.
- La mutazione
setShippingAddressesOnCart
ora supporta l'impostazione degli indirizzi di spedizione in un carrello acquisti con un valore di numero di telefono vuoto quando l'impostazione di configurazione dell'amministratore Mostra telefono è facoltativa. In precedenza, applicationOpen Source generava questo errore:Field CartAddressInput.telephone of required type String! was not provided
.
- È stato corretto un problema a causa del quale la mutazione
addSimpleProductsToCart
consentiva di aggiungere prodotti semplici a un carrello non assegnati al sito Web di destinazione.
- Le query MySQL sono state ottimizzate per le query GraphQL
products
che utilizzano i parametri di ricerca per perfezionare i risultati della ricerca.
- La mutazione
addConfigurableProductToCart
non supporta più l'aggiunta di un prodotto a un carrello se il prodotto non è incluso nell'ambito richiesto.
- La query
products
ora restituisce solo varianti configurabili assegnate alla visualizzazione archivio richiesta. In precedenza, venivano restituite tutte le varianti del prodotto configurabile richiesto.
addSimpleProductsToCart
richieste possono ora essere eseguite correttamente in parallelo. In precedenza, più richieste per lo stesso SKU creavano righe duplicate per lo stesso ID carrello, anziché aumentare la quantità di prodotto come previsto.
- È ora possibile utilizzare la mutazione
addProductsToCompareList
per confrontare varianti di prodotti configurabili.
- Quando il prezzo di un prodotto di livello viene aggiornato dal backend, il nuovo prezzo viene aggiornato correttamente sul carrello del cliente. In precedenza, anche se il subtotale nella sezione di riepilogo del carrello veniva aggiornato correttamente, il subtotale della riga non veniva aggiornato.
- La mutazione
addProductsToCart
ora aggiunge al carrello tutte le opzioni selezionate quando viene utilizzata per aggiungere prodotti bundle con più opzioni di selezione. In precedenza, la mutazione aggiungeva solo l’ultima selezione. GitHub-33123
- Le query GraphQL ora restituiscono l’indirizzo di fatturazione come previsto quando il valore di un campo telefono opzionale è impostato su una stringa vuota. In precedenza, le query restituivano un valore di indirizzo null. GitHub-30218
- La risposta alla query
products
elenca ora i prodotti in base all'ordinamento specificato quando più prodotti hanno la stessa rilevanza o lo stesso valore di prezzo.
- Le richieste simultanee
addSimpleProductsToCart
eaddProductsToCart
non generano più virgolette duplicate.
- I filtri di navigazione con livelli di query
products
ora restituiscono gli elenchi di categorie figlio corretti. Quando il flagincludeDirectChildrenOnly
viene fornito nella richiesta, ora sono incluse solo le sottocategorie dirette. In precedenza, tutte le categorie venivano incluse nella risposta nella sezione di aggregazione quando un prodotto veniva assegnato a più categorie.
- È stata aggiunta la funzionalità di suggerimento di ricerca per le query di ricerca di GraphQL.
- Il campo
OrderAddress.telephone
è ora facoltativo nella querycustomer
o in altre query e mutazioni che restituiscono o modificano gli indirizzi dell'ordine cliente.
- Ora i prezzi vengono aggiornati correttamente per i clienti di un gruppo specifico sia nella vetrina che nell’amministratore quando un ID gruppo viene modificato tramite API. In precedenza, questi prezzi non venivano aggiornati correttamente quando un ID gruppo veniva modificato tramite API.
Immagine
- Le immagini filigrane con sfondi trasparenti non presentano più uno sfondo bianco sull'immagine trasparente del prodotto sovrapposta. In precedenza, quando sia l’immagine della filigrana che l’immagine del prodotto avevano uno sfondo trasparente, la filigrana veniva visualizzata con uno sfondo bianco.
- I logo per le fatture e le ricevute di spedizione ora vengono caricati e visualizzati come previsto quando AWS S3 è abilitato.
- Il tag multimediale associato a un’immagine aggiunta a una pagina CMS in una distribuzione in cui l’amministratore è impostato su un dominio diverso dall’URL dello store ora contiene gli URL dello store come previsto. In precedenza, i tag multimediali contenevano URL di amministrazione statici invece degli URL di archiviazione previsti. GitHub-32930
- Il Magento Open Source non genera più un errore quando si scarica la cache delle immagini durante il caricamento simultaneo di immagini sulla vetrina.
Importa/esporta
bin/magento remote-storage:sync
non genera più errori quando i nomi dei file sono simili, ma differiscono solo di uno o due caratteri. In precedenza, la prima immagine veniva archiviata correttamente, ma la seconda immagine con lo stesso nome causava un errore di sincronizzazione e questo errore:Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197
. GitHub-34337
- Il Magento Open Source ora converte la marca temporale nel nome del file di esportazione nel fuso orario dell’utente dopo un’esportazione pianificata. In precedenza, questi valori non venivano convertiti e Magento Open Source visualizzava la marca temporale UTC.
- Il Magento Open Source non crea più immagini duplicate nell'archiviazione remota quando lo stesso file CSV viene importato più di una volta.
- L'importazione non ha più esito negativo con questo messaggio:
Import failed: Area code not set: Area code must be set before starting a session
. GitHub-16171
- È ora possibile importare correttamente
bin/magento app:config:dump
dopo averlo eseguito e modificato manualmenteconfig.php
. GitHub-31428
- I separatori di più valori non predefiniti possono ora essere utilizzati negli attributi di selezione multipla personalizzati. In precedenza, la convalida non riusciva durante l’importazione. GitHub-23156
- La posizione del prodotto nelle categorie viene ora assegnata correttamente durante l’importazione dal file CSV.
Indice
- Magento Open Source ora visualizza i prodotti come previsto nella vetrina dopo la reindicizzazione. In precedenza, quando i primi 500 prodotti reindicizzati erano in stock e i successivi 500 prodotti erano esauriti, la vetrina non presentava prodotti aggiuntivi.
- Sono stati risolti problemi di coerenza nei file
indexer.xml
uniti. I valori consentiti inclassType
ora sono gli stessi nei fileindexer.xml
non uniti e uniti. GitHub-29609
- È stato implementato un meccanismo di sincronizzazione negli indici di categoria per impedire l’esecuzione in parallelo di indici completi e parziali. In precedenza, quando questi indicizzatori venivano eseguiti in parallelo, i prodotti potevano essere temporaneamente omessi dalle pagine delle categorie della vetrina o le pagine delle categorie potevano essere temporaneamente vuote di prodotti.
Infrastruttura
- Il metodo
str_contains
non supportato è stato sostituito con una funzione supportata. Si è verificato un problema noto per il Magento Open Source 2.4.3. GitHub-33680
-
Refactoring della base di codice per correggere l'utilizzo della parola chiave
match
, che è una parola chiave riservata in PHP 8.x. GitHub-33626 -
I tag HTML ora sono nidificati e chiusi correttamente per soddisfare gli standard in JQuery 3.5.x per gli elementi non vuoti, inclusi gli elementi personalizzati.
- Sono state corrette le funzioni
abs()
eround()
per compatibilità con PHP7.x e PHP8.x. GitHub-34322
- L'aggiornamento di
symfony/console
non causa più errori quando si eseguebin/magento setup:di:compile
. GitHub-33595
- È stata corretta la restrizione per la dipendenza del Compositore
colinmollenhour/cache-backend-redis
. GitHub-34177
- Refactoring della base di codice per rimuovere le chiamate ai metodi obsoleti di
phpunit/phpunit
eseguito. GitHub-33916
- Magento Open Source visualizza ora un errore informativo quando un amministratore con
pubs/media
di sola lettura tenta di accedere alla pagina dei dettagli di un prodotto che include immagini. In precedenza, l’applicazione Open Source generava un errore PHP. GitHub-32819
- Tutte le annotazioni
@api
a livello di membro sono state spostate nella relativa classe in tutta la base di codice.
- I dati del widget
gift-card Cms
sono stati spostati daMagento/WidgetSampleData
(Magento Open Source) aMagento/GiftCardSampleData
(Adobe Commerce). Questo ha risolto i problemi di installazione (Magento Open Source) con dati di esempio su PHP8.1.
- Interfacce contrassegnate nella base di codice dell'integrazione di Adobe Stock con
@api
in base alle esigenze. GitHub-32875
- I numeri interi e i numeri in virgola mobile nei set di risultati vengono ora restituiti utilizzando tipi PHP nativi anziché stringhe quando si utilizzano istruzioni preparate emulate. GitHub-34625
- La creazione automatica di array da valori falsi è stata disabilitata per garantire la compatibilità con PHP 8.1.
Magento\Payment\Helper\Data
helper non crea più nuovi layout nei costruttori. In precedenza, quando questo helper veniva utilizzato in comandi personalizzati senza specificare un indicativo di località, l’applicazione Open Source generava un errore. GitHub-33908
- È ora possibile passare un argomento
data
a un costruttore di istanza di blocco dadi.xml
.
- Ottimizzato
Generator.php
per la leggibilità. GitHub-33809
- È stato migliorato il controllo JWK nella classe
JwsManager
per gestire le situazioni in cui l'algoritmo è impostato direttamente nell'intestazione. In precedenza, questo controllo ignorava questo scenario valido. GitHub-32636
Aggiornamenti delle dipendenze di JavaScript
jquery-validate
libreria di terze parti GitHub-33853
Less.js
(v3.13.1) GitHub-32845
Rimozioni ed elementi obsoleti della libreria
-
Le seguenti librerie sono state rimosse perché tutti i browser supportati dal Magento Open Source 2.4.x supportano questa funzionalità:
es6-collections.js
MutationObserver.js
Modernizr
FormData.js
-
È stata rimossa la libreria JavaScript
jquery.hoverIntent
non utilizzata. GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.php
è stato dichiarato obsoleto. Contiene la funzionemoney_format()
, rimossa in PHP 8.x. GitHub-33870 -
È stato rimosso il pacchetto
grunt-autoprefixer
obsoleto e non supportato. GitHub-34037
Aggiornamenti libreria
-
Le seguenti librerie sono state aggiornate a versioni più recenti:
script.aculo.us
Chart.js
moment.js
moment-timezone-with-data.js
matchMedia.js
underscore.js
PrototypeJS
RequireJS
LessCSS
Fattura
- Il cast in
int
è stato rimosso per gli ID fattura incrementati automaticamente con il prefisso stringa. Di conseguenza, nelle fatture viene ora visualizzato uno 0 per i numeri con prefisso stringa. GitHub-34451
Registrazione
- Il Magento Open Source non crea più voci di registro per le chiamate API non riuscite che eseguono azioni in blocco in Sistema > Azioni in blocco. In precedenza, le voci permanenti per le chiamate API non riuscite venivano aggiunte al registro delle azioni in blocco.
- La creazione automatica di array da valori falsi non è più consentita. GitHub-34499, GitHub-34589
Codifica standard Adobe Commerce
- Aggiornamento di
phpunit/ phpunit
alla versione più recente per l'archiviomagento-coding-standard
. GitHub-33622
- Aggiornamento della dipendenza
webonyx/graphql-php
alla versione ^14.9 nell'archivio standard di codifica Adobe Commerce. GitHub-32863
- È stato aggiunto il nuovo sniff
Magento2.PHP.ArrayAutovivification
allo standard di codifica Adobe Commerce per identificare la creazione automatica di array da un valore falso. GitHub-34509
- È stato aggiunto il nuovo sniff
Magento2.Functions.DeprecatedFunction
allo standard di codifica Adobe Commerce. GitHub-34547
- Sono state aggiunte funzioni obsolete per sniffare
Magento2.Functions.DiscouragedFunction
nello standard di codifica Adobe Commerce. GitHub-34548
- L'analisi di
Magento2.Annotation.MethodAnnotationStructure
non ha più esito negativo con un falso positivo. GitHub-34679
Raccolta file multimediali
- Il comando
bin/magento media-gallery:sync
non ha più esito negativo nelle distribuzioni in cui è abilitato AWS S3.
- I nuovi titoli del sottomenu Contenuto della Raccolta multimediale vengono ora visualizzati quando le voci di menu superano 11 e l'impostazione di configurazione Abilita Raccolta multimediale precedente è abilitata. GitHub-33889
- È stato migliorato il tempo di caricamento della scheda Media Gallery durante la modifica di un prodotto con molte immagini. GitHub-33434
MFTF
-
CURLOPT_POSTFIELDS
non accetta più oggetti come array. Per interpretare un oggetto come un array, eseguire un cast esplicito (array
). Questa procedura si applica anche ad altre opzioni che accettano array. GitHub-33781 -
curl_init()
ora restituisce un oggettoCurlHandle
anziché una risorsa. La funzionecurl_close()
non ha più alcun effetto. L'istanzaCurlHandle
viene invece eliminata automaticamente se non viene più fatto riferimento ad essa. GitHub-33781
- Sono stati corretti gli errori nei test MFTF per i prodotti scaricabili. GitHub-34270
- Rimosso
CliCacheFlushActionGroup
daCatalogSearch
,GroupedProduct
,Newsletter
,Paypal
,Quote
eReview
moduli. GitHub-33531
- I confronti non rigorosi tra numeri e stringhe non numeriche ora funzionano eseguendo il cast del numero in stringa e confrontando le stringhe. I confronti tra numeri e stringhe numeriche continuano a funzionare come prima. Ciò significa che 0 == "not-a-number" ora è considerato falso. GitHub-33780
parse_url()
distingue ora tra query e frammenti vuoti e assenti. GitHub-33782
- La base di codice è stata aggiornata per evitare errori irreversibili durante l'utilizzo del metodo
ReflectionType::isBuiltin()
. GitHub-34194
Nuovi gruppi di azioni
AdminCheckOrderStatusInGridActionGroup
GitHub-33747
StorefrontSelectFirstShippingMethodActionGroup
GitHub-33773
AdminClickUpdateChangesOnCreateOrderPageActionGroup
GitHub-33689
Gruppi di azioni
Le azioni ripetitive sono state sostituite da gruppi di azioni in questi test:
AdminAddInStockProductToTheCartTest
GitHub-34512
AdminAddBundleItemsTest
GitHub-34312
AdminConfigurableProductAddConfigurationTest
GitHub-34511
AdminConfigurableProductBulkUpdateTest
GitHub-34435
AdminConfigurableProductDisableAnOptionTest
GitHub-34511
AdminConfigurableProductOutOfStockAndDeleteCombinationTest
GitHub-34316
AdminConfigurableProductOutOfStockTestDeleteChildrenTest
GitHub-34316
AdminConfigurableProductRemoveAnOptionTest
GitHub-34511
AdminConfigurableProductRemoveConfigurationTest
GitHub-34511
AdminCreateAndEditSimpleProductSettingsTest
GitHub-34435
AdminCreateAndEditVirtualProductSettingsTest
GitHub-34435
AdminCreateInactiveFlatCategoryTest
GitHub-34490
AdminCreateInactiveInMenuFlatCategoryTest
GitHub-34510
AdminCreateDuplicateCategoryTest
GitHub-34414
AdminCreateDuplicateProductTest
GitHub-34414
AdminDeleteSimpleProductTest
GitHub-33783
AdminEditRelatedBundleProductTest
GitHub-34313
AdminMassDeleteBundleProductsTest
GitHub-34313
AdminNavigateMultipleUpSellProductsTest
GitHub-34314
AdminSimpleProductSetEditContentTest
GitHub-34435
AdminSimpleProductTypeSwitchingToConfigurableProductTest
GitHub-33788
AdminConfigurableProductTypeSwitchingToVirtualProductTest
GitHub-33788
AdminCreateConfigurableProductWithDisabledChildrenProductsTest
GitHub-33775
AdminUpdateFlatCategoryAndAddProductsTest
GitHub-34490
AdminUpdateTopCategoryUrlWithNoRedirectTest
GitHub-33774
AdminUpdateTopCategoryUrlWithRedirectTest
GitHub-33774
CatalogProductListWidgetOperatorsTest
GitHub-34579
CreateProductAttributeEntityWithReservedKeysTest
GitHub-34422
EnableDisableBundleProductStatusTest
GitHub-34313
StorefrontCheckRefundGrandTotalActionGroup
GitHub-34315
StorefrontInactiveCatalogRuleTest
GitHub-33556
StorefrontConfigurableProductCantAddToCartTest
GitHub-33786
StorefrontConfigurableProductOptionsTest
GitHub-33785
StorefrontConfigurableProductCanAddToCartTest
GitHub-33784
StorefrontConfigurableProductGridViewTest
GitHub-34311
StorefrontConfigurableProductListViewTest
GitHub-34311
StorefrontProductNameWithHTMLEntitiesTest
GitHub-33806
StorefrontProductNameWithDoubleQuoteTest
GitHub-32991
Nuovi test
AdminCreateOrderWithCheckedAppendCommentCheckboxTest
GitHub-32381
CheckoutWithEnabledCaptchaTest
GitHub-32991
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest
GitHub-33635
StorefrontGiftMessageForOrderOnCheckoutCartPageTest
GitHub-32821
StorefrontCaptchaCheckoutWithEnabledCaptchaTest
GitHub-32821
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest
GitHub-33460
Test refactoring
CaptchaWithDisabledGuestCheckoutTest
GitHub-30828
Newsletter
- Gli utenti con le autorizzazioni appropriate ora possono gestire gli abbonamenti alle newsletter dei clienti come previsto. In precedenza, solo gli amministratori con autorizzazioni complete potevano gestire gli abbonamenti alle newsletter dei clienti nella pagina Account cliente amministratore.
Ordine
- Ora gli acquirenti possono riordinare un ordine esistente contenente un prodotto con la combinazione di opzioni personalizzate di tipo file e tipo menu a discesa sia dalla vetrina che dall’amministratore. In precedenza, l’applicazione Open Source generava un errore e non elaborava il riordino.
- La pagina dei dettagli dell’ordine di amministrazione ora viene caricata come previsto. In precedenza, applicationOpen Source generava il seguente errore durante il caricamento della pagina dei dettagli dell'ordine per gli ordini con determinate imposte:
Call to a member function getId() on array
.
- Gli amministratori con autorizzazioni limitate che includono privilegi di ordine e spedizione ora possono visualizzare la pagina dell’ordine come previsto. In precedenza, applicationOpen Source generava un errore quando un amministratore con queste autorizzazioni tentava di visualizzare un ordine. GitHub-14633
- Ora gli acquirenti possono effettuare un ordine che include un prodotto configurabile secondario quando è impostato un limite massimo per la quantità consentita.
Metodi di pagamento
- Gli acquirenti ora possono utilizzare Braintree per effettuare un ordine utilizzando un indirizzo di fatturazione senza un'area impostata nelle distribuzioni con 3DS abilitato. In precedenza, l'estrazione era bloccata quando l'acquirente faceva clic su Ordina e non era possibile completare l'acquisto. GitHub-34204
- L'opzione di pagamento Venmo è ora supportata.
- PayPal ora può tenere traccia del codice BN.
bin/magento setup:upgrade
ora viene eseguito come previsto durante l'aggiornamento dal Magento Open Source 2.4.2-p1. In precedenza, applicationOpen Source generava questo errore:Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal
. GitHub-33678
- L’ID store corretto viene ora utilizzato per recuperare le carte di credito salvate durante l’inserimento dell’ordine di amministrazione. Le carte di credito memorizzate vengono ora visualizzate durante il posizionamento dell'ordine in base all'impostazione di configurazione dell'ambito del sito Web. In precedenza, quando un amministratore tentava di creare un ordine per un cliente dall’amministratore e selezionava il metodo Carte di credito memorizzate, non erano disponibili opzioni per le carte memorizzate.
- Sono state risolte le anomalie con la visualizzazione PayPal Credit degli importi delle gift card. In precedenza, quando PayPal Credit era abilitato e venivano configurati più importi di gift card, se un acquirente cambiava l'importo per il valore di una gift card, la vetrina non aggiornava l'importo per i pagamenti rateali. Questo era un problema noto nel Magento Open Source 2.4.3.
PayPal
- Il Magento Open Source non visualizza più un errore durante il pagamento con il metodo PayPal Express. In precedenza, anche se il processo di estrazione è stato completato, l'applicazione Open Source visualizzava questo errore:
Something went wrong
.
- PayPal Express ora funziona come previsto dal carrello. In precedenza, quando si faceva clic sul pulsante PayPal per avviare il pagamento rapido dal carrello, l'applicazione Open Source generava questo errore:
To check out, please sign in with your email address
. GitHub-33445
- PayPal Payflow Pro ora esegue l'acquisizione ritardata con gli ID transazione padre corretti nelle distribuzioni in cui il gateway PayPal Payflow Pro con Azione di pagamento è impostato su Autorizzazione. Una transazione Sale viene inviata al flusso di pagamento con un ID transazione padre del token di Vault creato al momento dell'estrazione come previsto. In precedenza, era stata creata una transazione di acquisizione ritardata acquisizione ritardata che veniva inviata al Payflow PayPal. GitHub-33445
- Gli acquirenti vengono ora reindirizzati alla pagina del successo come previsto dopo il completamento del pagamento con PayPal Payments Advanced. In precedenza, gli acquirenti non venivano reindirizzati a questa pagina anche se il pagamento era stato elaborato correttamente e non erano stati registrati errori.
Prestazioni
- Il tempo di esecuzione del caricamento dell’elenco moduli è migliorato.
- Sono state migliorate le prestazioni della cache termini di ricerca popolari. In precedenza, più grande era la tabella
search_query
, più tempo richiedeva il completamento di una query di ricerca. GitHub-27559
- Per impostazione predefinita, il Magento Open Source ridimensiona le immagini in modo sincrono durante il salvataggio del prodotto. Gli esercenti possono ora ridimensionare le immagini come processo asincrono in background apportando modifiche minori a un file
di.xml
.
- Le prestazioni dell’indicizzatore dei prodotti per categorie sono state migliorate nelle distribuzioni in più store. GitHub-33984
- La nuova cache in memoria per le chiamate di sistema
glob()
migliora le prestazioni riducendo il numero di chiamateglob()
. GitHub-34025
- Sono state migliorate le prestazioni del processo di reindicizzazione asincrona della griglia degli ordini.
- Il consumo di memoria durante l’esportazione del prodotto è stato ottimizzato.
Prezzi
- L’ordinamento dei prezzi ora funziona come previsto quando i prezzi dei prodotti sono prossimi o uguali a zero e i cataloghi condivisi sono abilitati. In precedenza, i prezzi a livello zero venivano ignorati durante la reindicizzazione dei prezzi.
ProductAlert
- Il nuovo consumer
product_alert
migliora l'invio degli avvisi dei clienti creando messaggi di coda, eseguendo il consumer e migliorando il tempo di esecuzione. In precedenza, applicationOpen Source generava un’eccezione per memoria insufficiente quando venivano inviati più di 100.000 avvisi sui prodotti. L’applicazione Open Source ha inoltre impiegato più di 20 ore per inviare tutti gli avvisi.
- Il Magento Open Source non genera più un errore se il filtro prezzi nella pagina Categoria non contiene un secondo valore. In precedenza, applicationOpen Source generava un'eccezione nel file di registro.
Video del prodotto
- Il Magento Open Source ora abilita il pulsante Salva e completa automaticamente i campi quando immetti un URL incompleto durante l'aggiunta di un video (Amministratore Catalogo > Prodotti > Aggiungi video). In precedenza, il pulsante Salva era disabilitato e i campi non venivano compilati.
Recensioni
- Nella vista elenco prodotti viene ora visualizzata la valutazione con stelle corretta per i prodotti. GitHub-30196
- Le recensioni sono ora visibili come previsto quando un acquirente fa clic su Rivedi nella pagina del prodotto della vetrina.
- La valutazione a stelle del prodotto è ora coerente nelle visualizzazioni Griglia ed Elenco nella pagina dell'elenco di prodotti della vetrina. In precedenza, lo stesso prodotto poteva avere valutazioni diverse nelle modalità di visualizzazione a griglia e a elenco.
Vendite
- Sono state migliorate le prestazioni degli aggiornamenti della griglia di vendita in modalità asincrona per le tabelle con set di dati di grandi dimensioni dopo l’aggiornamento a MariaDB 10.2.34.
- Il Magento Open Source ora rimuove i tag HTML come previsto dalla pagina Account > I miei ordini > Visualizza ordine della vetrina. In precedenza, l’applicazione Open Source visualizzava i tag HTML nella sezione dei commenti sugli ordini dei clienti della vetrina.
- È stata aggiunta la copertura dei test automatizzati per verificare l'esistenza di un indice per
sales_shipment_grid.order_id
.
POST V1/orders
chiamate ora aggiornano gli attributi dell'estensione senza errori. In precedenza, si verificava un errore di sintassi SQL.
Ricerca search-heading
- Le opzioni di navigazione a livelli per l'intervallo di prezzi ora funzionano come previsto con gli attributi di prezzo personalizzati. L’applicazione Open Source utilizza la configurazione del passaggio di navigazione del prezzo quando si filtrano gli attributi di prezzo personalizzati. In precedenza, applicationOpen Source utilizzava la configurazione manuale dei passaggi.
- La vetrina ora mostra tutte le sottocategorie della categoria corrente in una navigazione a livelli indipendentemente dal numero di categorie disponibili nel catalogo.
- Le ricerche nel catalogo di Elasticsearch ora non fanno più distinzione tra segni diacritici. In precedenza, la ricerca di termini senza un accento generava risultati diversi rispetto alla ricerca con un accento sullo stesso termine.
- Il peso della ricerca ora è impostato correttamente sugli attributi SKU che contengono caratteri speciali.
category_name
è stato aggiunto ai codici degli attributi di prodotto riservati dal sistema. L'applicazione Open Source ora mostra un errore se un utente tenta di creare un attributo di prodotto con il codice attributocategory_name
. In precedenza, i prodotti non venivano elencati nella categoria prevista ed era stato registrato un errore di Elasticsearch.
- I termini di ricerca più comuni ora vengono aggiornati dopo ogni query di ricerca di GraphQL.
- Il Magento Open Source ora aggiunge campi prezzo corretti alla mappatura dell'indice di prezzo Elasticsearch. In precedenza, all’indice venivano aggiunti campi prezzo errati con ID negozio invece che con ID sito web.
Spedizione
- L'e-mail di spedizione ora include il numero di registrazione solo per la spedizione corrente. In precedenza, quando un ordine includeva più spedizioni, l'e-mail di ciascuna spedizione includeva i numeri di registrazione di tutte le spedizioni correlate all'ordine.
- Magento Open Source ora aggiorna il mini carrello correttamente quando un acquirente elimina un prodotto dal suo carrello durante la modalità multi-shipping, quindi passa a un singolo indirizzo di spedizione. In precedenza, i prezzi dei prodotti non venivano aggiornati come previsto.
- L'importazione delle velocità delle tabelle ora funziona come previsto quando si utilizza l'adattatore di storage S3. In precedenza, applicationOpen Source visualizzava questo errore:
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found
. GitHub-33072
- Ora puoi disabilitare le e-mail di aggiornamento della spedizione come previsto da Archivi > Configurazione > Vendite > E-mail vendite. GitHub-33165
- Il Magento Open Source ora visualizza le spese di spedizione gratuite (0) sui totali della pagina delle fatture di amministrazione e vetrina. In precedenza, quando la spedizione era pari a zero per un ordine, l'applicazione Open Source non visualizzava l'importo della spedizione in totali nella pagina fattura spedizione totale.
- Le richieste di tariffe ai vettori di spedizione online sono state ridotte da diverse a una sola. I prezzi di assicurazione e movimentazione dei pacchetti per articolo/pacchetto ora vengono calcolati correttamente. In precedenza, applicationOpen Source mostrava tariffe di spedizione errate per i metodi di spedizione FedEx.
- Il Magento Open Source ora visualizza le tariffe UPS quando si creano etichette di spedizione per la spedizione da Porto Rico. In precedenza, applicationOpen Source non mostrava queste frequenze UPS.
- L'indirizzo stradale di spedizione viene ora cancellato completamente come previsto dopo la rimozione dalla casella di immissione. In precedenza, la casella di testo conteneva uno o più caratteri dopo l'eliminazione dell'indirizzo.
Archivia
- La funzione Accedi come cliente ora funziona come previsto nelle distribuzioni che contengono più archivi su URL diversi. In precedenza, applicationOpen Source non caricava l’archivio corretto, anche quando si accedeva al dominio dell’archivio corretto.
Imposta
- Il Magento Open Source ora calcola correttamente il subtotale del mini carrello quando un cliente elimina un articolo dopo aver selezionato la spedizione a più indirizzi.
- Il Magento Open Source ora mostra la stessa aliquota su tutte le pagine di pagamento quando il carrello contiene solo prodotti virtuali.
- I prezzi a livello per i prodotti configurabili ora visualizzano valori di imposta precisi inclusi ed esclusi nella vetrina. In precedenza, venivano visualizzati gli stessi valori sia per le imposte incluse che per quelle escluse. GitHub-33673
Test
- I test WebAPI sono ora compatibili con PHP 8.1. GitHub-34653
- I test di integrazione sono ora compatibili con PHP 8.1. GitHub-34567, GitHub-34569
-
I commercianti possono ora testare l'esperienza dell'acquirente del paese in cui si trova l'acquirente, piuttosto che la posizione del commerciante.
-
I test funzionali sono stati stabilizzati per la compatibilità con PHP 8.x. GitHub-34327, GitHub-34188
- Sono stati risolti i problemi funzionali nei test WebAPI. GitHub-34196
- Sono stati corretti gli errori che causavano falsi positivi ai test statici. GitHub-34056
- La copertura dei test è stata aggiornata per
call_user_func_array
. GitHub-34301
- Il test
Magento\GraphQl\CatalogGraphQl\ProductSearchTest
non genera più questo errore quando viene eseguito con l'Elasticsearch AWS:Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257
.
-
Sono stati corretti numerosi avvisi di unit test non critici rinominando tutte le variabili fittizie in modo da includere il suffisso
Mock
e rimuovendo i riferimenti a una classe Object Manager obsoleta. GitHub-33695 -
Il test
Magento\Framework\MessageQueue\TopologyTest
è ora compatibile con AWS MQ per il servizio RabbitMQ. In precedenza, questo test non è riuscito con questo messaggio:Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal
.
- Gli unit test sono ora compatibili con PHP 8.1. GitHub-34441
Test di unità
È stato eseguito il refactoring dei seguenti unit test per l'utilizzo di PHPUnit
invece di AspectMock
:
AllureHelperTest
GitHub-33294
ObjectHandlerUtil
GitHub-33584
MockModuleResolverBuilder
GitHub-33583
MagentoTestCase
GitHub-33582
ModuleResolverTest
GitHub-33308
ParallelGroupSorterTest
GitHub-33306
SuiteGeneratorTest
GitHub-33299
OperationDataArrayResolverTest
GitHub-33296
Tema
- I messaggi di notifica ora vengono visualizzati correttamente quando il Magento Open Source ha un percorso secondario configurato nel suo URL di base.
- È stato aggiunto un elemento
aria-label
al modello della pagina vetrina per indicare la pagina alla quale l'acquirente si sposterà facendo clic su un collegamento. In precedenza, lo stesso testo di collegamento veniva utilizzato per collegamenti a pagine diverse. GitHub-33075
- Il Magento Open Source non visualizza più un messaggio di errore durante il caricamento della home page di un archivio con un tema personalizzato preesistente. In precedenza, applicationOpen Source visualizzava questo messaggio:
The store will not work correctly in the case when cookies are disabled
.
Traduzioni e lingue
- La convalida di
UserExpiration
non ha più esito negativo conde_DE
euk_UA
impostazioni internazionali. In precedenza, applicationOpen Source generava un errore quando un amministratore tentava di impostare una data di scadenza durante la creazione di un nuovo utente da Admin con impostazioni internazionali impostate sude_DE
ouk_UA
. GitHub-32497
- I nomi delle regioni svizzere vengono ora presentati in inglese nei moduli per la creazione o la modifica degli indirizzi. GitHub-32602
- Sono stati aggiornati
zip_codes.xml
modelli per Guernsey per supportare i codici postali GY10 per l’isola di Sark. GitHub-33144
- Aggiunte regioni Bielorussia alla tabella
directory_country_region
. GitHub-33924
- Sono state risolte le anomalie di visualizzazione con vetrine con le impostazioni locali filippine. GitHub-33996
- È ora possibile immettere correttamente la data di nascita di un cliente quando si crea un nuovo account nei negozi impostati per la lingua portoghese (Portogallo). In precedenza, il Magento Open Source generava un errore quando si tentava di creare un account. GitHub-34130
- La pagina dei dettagli del prodotto viene ora visualizzata correttamente con le impostazioni internazionali arabe (Arabia Saudita). In precedenza, questa impostazione locale interrompeva la pagina dei dettagli del prodotto.
UI
- Sono stati corretti gli errori con i test MFTF che utilizzano
maps.googleapis.com
.
- Il Magento Open Source ora taglia i caratteri di spazio unificatori dal campo di immissione del modulo Contattaci. In precedenza, il modulo veniva inviato senza rimuovere gli spazi unificatori dall’input dell’e-mail (se fornito), causando errori nei file di registro. Il campo Rispondi a non è presente nel messaggio e-mail di contatto generato inviato all'amministratore dello store.
- Magento Open Source ora visualizza i prodotti correlati, i prodotti di upselling e i prodotti di cross-selling in base alle loro posizioni nell’amministratore.
- I pulsanti
.action-close
ora funzionano come previsto quandoMultiselect
viene utilizzato in un modale. In precedenza, il pulsanteaction-close
non funzionava perché ereditava il CSS del pulsante.action-close
del modale. GitHub-27240
- Lo snippet di offerte avanzato è ora presente sul campo prezzo principale nella visualizzazione Prodotto. In precedenza, questo frammento mancava da questo campo nel blocco dei prodotti correlati nella visualizzazione Prodotto, causando la visualizzazione di prezzi errati nei risultati di ricerca di Google. GitHub-34063
- Sono stati risolti i problemi relativi all’altezza modale sui dispositivi con iOS. GitHub-34467
- I menu a discesa Azioni ora sono posizionati correttamente in tutta la vetrina. GitHub-31379
- Sono stati risolti gli errori di accessibilità relativi alla navigazione nel carrello e alle pagine di pagamento. GitHub-34483
- Gli assistenti vocali ora possono leggere tutti gli elementi del modulo pertinenti sulle pagine dei prodotti.
- Il criterio di ordinamento del widget di prodotti del catalogo Storefront (Catalogo > Categoria > Prodotti) ora corrisponde all'ordine configurato nell'amministratore. GitHub-27126
- Il selettore di regione ora funziona come previsto nella pagina Crea un account. GitHub-30099
- Nella griglia clienti amministratore vengono ora visualizzati tutti i dati dei clienti, inclusi gli attributi personalizzati
date
appena aggiunti, come previsto. In precedenza, applicationOpen Source generava un errore e non visualizzava correttamente la griglia del cliente amministratore quando l'attributodate
impostato era una colonna.
- Le etichette di input nella pagina dei dettagli Catalogo > Prodotto sono state modificate per riflettere con precisione lo scopo dell'input. I campi per i quali non è richiesto l'input dell'utente non visualizzano più etichette con un asterisco.
- È ora possibile accedere alla barra degli strumenti dell’editor Rich Text utilizzando il tasto TAB.
- Il nome accessibile del controllo ora include il testo dell'etichetta visibile per il numero di elementi per pagina.
- I controlli della tabella nella pagina dei dettagli Catalogo > Prodotto dispongono ora di etichette visibili e di un nome accessibile quando la tabella viene compressa.
- I pulsanti nella vetrina ora hanno nomi accessibili univoci e descrittivi. In precedenza, i pulsanti suddivisi con un pulsante di testo e un pulsante di icona freccia giù adiacente avevano lo stesso nome accessibile.
- È stata aggiunta un'opzione di visualizzazione Oggi ai grafici della dashboard Ordini e importi amministratore per fornire un riepilogo delle vendite e degli ordini nel corso della giornata. GitHub-34008
- Lo stato attivo (clic) del pulsante di selezione multipla Chiudi ora funziona in modo coerente. GitHub-34338
- Il Magento Open Source non visualizza più questo messaggio dopo l'aggiornamento quando la modalità di restrizione dei cookie è disabilitata:
The store will not work correctly in the case when cookies are disabled
. GitHub-33811
- Le immagini dei prodotti a schermo intero ora vengono visualizzate correttamente sui temi con la direzione di navigazione verticale delle miniature sui dispositivi mobili. In precedenza, le immagini dei prodotti venivano ridimensionate in modo errato o non erano visibili sui temi con direzione di navigazione verticale delle miniature sui dispositivi mobili in modalità a schermo intero.
- I messaggi di errore nella pagina dei dettagli del prodotto non scompaiono più rapidamente quando è attivata l'impostazione di configurazione Sincronizza widget prodotti con archiviazione back-end.
- La convalida per i valori negativi è stata aggiunta al campo Quantità da restituire del modulo Crea nuovo reso.
- Nel Magento Open Source non vengono più visualizzati indirizzi duplicati quando un acquirente fa clic su Cambia indirizzo nella pagina Revisione e pagamenti di una distribuzione in cui è abilitata l'impostazione di configurazione Ricerca indirizzi.
- Il pulsante Aggiungi prodotti è ora attivato come previsto per gli amministratori con autorizzazioni limitate mentre lavorano nell'ambito della visualizzazione archivio nella pagina Categoria amministratore.
- I punti di interruzione di visualizzazione sono ora coerenti tra i diversi Magenti Open Source.
- Nella pagina del cliente amministratore, ora Magento Open Source visualizza correttamente gli attributi di data del cliente personalizzati con impostazioni internazionali personalizzate.
- Le immagini aggiunte utilizzando Page Builder non vengono più duplicate nella vetrina se visualizzate con una larghezza di 768 px nella finestra del browser. In precedenza, con questa larghezza della finestra del browser, l'applicazione Open Source duplicava le immagini sulla vetrina mostrando sia la versione mobile che quella desktop delle immagini.
Riscritture URL
- Le riscritture URL non vengono più rigenerate per tutte le visualizzazioni dello store durante la creazione di una nuova visualizzazione dello store durante l'esecuzione di
bin/magento setup:upgrade
. GitHub-32954
Framework API web
- Le richieste API web per risorse cliente autorizzate non generano più errori di autorizzazione quando è abilitato il carrello acquisti persistente.
- È ora possibile creare oggetti utilizzando le classi figlio di
\Magento\Framework\Api\AbstractSimpleObjectBuilder
in PHP 7.3. In precedenza,preg_match
ha emesso questo messaggio di avviso quando il Magento Open Source era ospitato su Redhat con PHP 7.3:Warning: preg_match(): Compilation failed: unrecognized character follows...
.
- I totali recuperati dalla richiesta
PUT /V1/guest-carts/:cartId/collect-totals
sono ora aggiornati dashippingMethod
corretto. GitHub-18508
- L’aggiunta di un nuovo deserializzatore all’API REST non rimuove più altri deserializzatori. In precedenza, l’API REST accettava un nuovo tipo di contenuto, ma i tipi di contenuto definiti da CORE per le API non funzionavano più e restituivano un errore 400. GitHub-26433
- È ora possibile rimuovere un override per un parametro definito in un file
webapi.xml
. GitHub-33843
- Il Magento Open Source ora genera un
customertoken
da GraphQL o richieste REST API come previsto dopo più tentativi consecutivi di accesso non riusciti. In precedenza, applicationOpen Source non verificava se il valore dilock_expires_at
inoauth_token_request_log
fosse maggiore della data e dell'ora correnti e restituiva sempre il numero di tentativi non riusciti, impedendo al cliente di effettuare l'accesso. GitHub-34067
- L'aggiunta di un ID virgolette mascherato a
QuoteRepository::getList
non causa più un ciclo infinito. In precedenza, questo comportamento veniva attivato dall’utilizzo del processore dei pagamenti che si basava sull’API REST per aggiornare gli ordini. GitHub-33675
/rest/all/V1/categories/<above_created_category_id>
La chiamata PUT ora rispetta i valori specificati daavailable_sort_by
. In precedenza, era selezionato il menu a discesa Ordina per elenco prodotti disponibile con tutte le opzioni possibili nella pagina Categoria e la casella di controllo Usa tutto. GitHub-32596
- Sono state migliorate le prestazioni delle richieste REST API per la creazione dei token del cliente.
- È stato corretto un errore che si verificava quando Aggiungi codice archivio agli URL è impostato su Sì e una chiamata REST non includeva un codice archivio. Sebbene il payload sia valido, la chiamata ha restituito il seguente errore:
Fatal error: Allowed memory size of **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75
.
- È ora possibile creare contemporaneamente fatture parziali per lo stesso ordine utilizzando l’API REST.
Lista dei desideri
- Il Magento Open Source non esegue più il rendering di un elenco di desideri nella barra laterale della categoria quando l'opzione Mostra in barra laterale è disabilitata. In precedenza, applicationOpen Source ignorava questa opzione.
WYSIWYG
- PageBuilder ora esegue correttamente il rendering dei widget personalizzati con l’editor WYSIWYG.
Problemi noti
Problema: i commercianti possono notare gli avvisi di downgrade della versione del pacchetto durante l'aggiornamento da Adobe Commerce 2.4.4 a Adobe Commerce 2.4.4-p1. Questi messaggi possono essere ignorati. La discrepanza nelle versioni dei pacchetti deriva da anomalie durante la generazione dei pacchetti. Nessuna funzionalità del prodotto interessata. Per informazioni sugli scenari interessati e sulle soluzioni alternative, vedere l'articolo della Knowledge Base Pacchetti sottoposti a downgrade dopo l'aggiornamento da 2.4.4 a 2.4.4-p1.
Problema: gli acquirenti non possono aggiungere un prodotto al carrello se non è selezionata alcuna opzione in Admin Store > Configuration > General > Country Options > Allow Countries. L'applicazione Open Source visualizza invece il seguente errore della console: Failed to load resource: the server responded with a status of 400 (Bad Request)
.
Problema: la descrizione di Dotdigital in Trova partner ed estensioni > Magento Marketplace non è aggiornata. Ecco una descrizione aggiornata:
Dotdigital è una piattaforma di coinvolgimento dei clienti che aiuta gli esperti di marketing digitale e gli sviluppatori a fornire comunicazioni all’interno del percorso di clienti. Sfruttiamo la potenza dei dati dei clienti, aumentando il coinvolgimento, la conversione e la fedeltà dei brand in base alla loro crescita e scalabilità. I clienti apprezzano la nostra piattaforma facile da usare che collega i dati di prime parti attraverso i sistemi, fornendo informazioni approfondite e automatizzando messaggi predittivi cross-channel.
Oltre 350 dipendenti di Dotdigital sono al servizio di aziende di medie e grandi dimensioni in tutto il mondo e nei diversi settori. Aspiriamo ad ispirare un marketing responsabile e ci impegniamo per la sostenibilità, la privacy e la sicurezza. Dotdigital è orgogliosa di essere la prima piattaforma di automazione del marketing a zero emissioni di carbonio, certificata per ISO 14001, ISO 27701 e ISO 27001.
Per informazioni sull'acquisto e il download, vedere Dotdigital — Marketing Automation.
Contributi comunitari
Siamo grati alla comunità del Magento Open Source e desideriamo riconoscere il loro contributo a questa versione.
Il team di progettazione della community collaboratori Magento mantiene un elenco dei principali collaboratori e partner per mese, trimestre e anno. Dalla pagina Collaboratori, puoi seguire i collegamenti alle loro PR unite su GitHub.
Contributi dei partner
Nella tabella seguente vengono evidenziati i contributi dei partner. Questa tabella elenca il Partner che ha contribuito alla richiesta di pull, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).
Contributi dei singoli collaboratori
La tabella seguente identifica i contributi dei membri della community. Questa tabella elenca il membro della community che ha contribuito alla richiesta di pull, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).
Requisiti di sistema
Il nostro stack tecnologico è basato su PHP e MySQL. Per ulteriori informazioni, vedere Requisiti di sistema.
Istruzioni di installazione e aggiornamento
È possibile installare il Magento Open Source 2.4.4 utilizzando Compositore.
Kit di strumenti di migrazione
Lo strumento di migrazione dei dati consente di trasferire i dati archiviati dal Magento 1.x al Magento 2.x. Questa interfaccia della riga di comando include funzioni di verifica, monitoraggio dell'avanzamento, registrazione e test. Per istruzioni sull'installazione, vedere Installare lo strumento di migrazione dei dati. Esplorare o contribuire all'archivio di migrazione dei dati.
Code Migration Toolkit consente di trasferire le estensioni e le personalizzazioni dell'archivio di Magento 1.x esistenti nel Magento 2.x. L'interfaccia della riga di comando include script per la conversione di moduli e layout Magento 1.x.