Caratteristiche principali di Magento Open Source 2.4.5
In questa versione, cerca le seguenti aree di rilievo.
Miglioramenti di sicurezza
Questa versione include 20 correzioni di sicurezza e miglioramenti di sicurezza della piattaforma. Questa correzione rapida per la sicurezza è stata supportata in Magento Open Source 2.4.4-p1 e Magento Open Source 2.3.7-p4.
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:
-
Il supporto reCAPTCHA è stato aggiunto ai moduli Condivisione elenco desideri, Crea nuovo account cliente e Buono regalo.
-
Le risorse ACL sono state aggiunte al magazzino.
-
La sicurezza del modello di inventario è stata migliorata.
-
Il filtro
MaliciousCode
è stato aggiornato per utilizzare la libreriaHtmlPurifier
.
Miglioramenti alla piattaforma
Magento Open Source 2.4.5 ora supporta
-
Compositore 2.2
-
TinyMCE (5.10.2). Le versioni precedenti di TinyMCE (v5.9.2 o precedenti) consentivano l’esecuzione arbitraria di JavaScript quando veniva aggiornato un URL creato appositamente o un’immagine con un URL creato appositamente.
-
jQueryUI (1.13.1)
-
PHPStan
(^1.5.7 con vincolo) GitHub-35315
Lo schema di integrazione DHL è stato aggiornato da v6.0 a v6.2. Questo aggiornamento non modificherà il comportamento del prodotto.
Le librerie JavaScript obsolete sono state aggiornate alle versioni più recenti e le dipendenze obsolete sono state rimosse. Queste modifiche sono compatibili con le versioni precedenti.
Aggiornamenti delle dipendenze del compositore
Le dipendenze del Compositore seguenti sono state aggiornate alle versioni più recenti con vincolo:
colinmollenhour/credis
(1.13.0)guzzlehttp/guzzle
(^7.4.2)laminas/laminas-captcha
(aggiornato con un vincolo ^2.12)laminas/laminas-db
(^2.15.0)laminas/laminas-di
(^3.7.0)laminas/laminas-escaper
(~2.10.0)laminas/laminas-eventmanager
(^3.5.0)laminas/laminas-feed
(^2.17.0)laminas/laminas-mail
(^2.16.0)laminas/laminas-mvc
(^3.3.3)laminas/laminas-server
(^2.11.1)laminas/laminas-servicemanager
(^3.11.0)laminas/laminas-validator
(^2.17.0)league/fly
(2.4.3)monolog/monolog
(^2.5)phpmd/phpmd
(^2.12.0)phpstan/phpstan
(^1.5.7)phpunit/phpunit
(~9.5.20)php-cs-fixer
(^3.4.0)webonyx/graphql-php
(14.11.6)
Le dipendenze laminas/laminas-session
, laminas/laminas-text
e laminas/laminas-view
sono state rimosse.
Altri aggiornamenti e sostituzioni
-
Lo schema di integrazione DHL è stato aggiornato da v6.0 a v6.2.
-
L'URL del gateway predefinito per la spedizione USPS è stato aggiornato per l'utilizzo di
https
anzichéhttp
. -
La libreria
Froogaloop
è stata sostituita con la libreriaPlayer.js
di Vimeo (2.16.4). -
La libreria
grunt-eslint
(NPM) è stata aggiornata alla versione più recente. -
Le librerie
jQuery Storage
sono state sostituite conjulien-maurel/js-storage
. -
Gli strumenti di analisi del codice statico
php-cs-fixer
ephpcs
sono ora compatibili con PHP 8.x. -
Dipendenza
glob.js
(aggiornata con vincolo a ~7.2.0) -
Dipendenza
serve-static.js
(aggiornata con vincolo ~1.14.2) -
Dipendenza
underscore.js
(NPM) (1.14.2) -
moment-timezone-with-data.js
(0.5.34) -
La libreria
jquery/jquery-cookie
è stata sostituita conjs-cookie/js-cookie
. -
Le librerie
jarallax.js
ejaralax-video.js
sono state aggiornate per utilizzare la versione più recente dell'API REST Vimeo.
Aggiornamenti all’accessibilità
L’obiettivo di questa versione è stato quello di creare un’esperienza di vetrina su Venia (PWA) più percepibile, utilizzabile, comprensibile e solida. Questi miglioramenti includono:
- Le informazioni di riepilogo sui risultati della ricerca vengono ora annunciate agli utenti di utilità di lettura dello schermo
- Gli assistenti vocali ora vengono informati al caricamento di una nuova visualizzazione di pagina
- Sono stati migliorati il contrasto e l'accessibilità della tastiera
Google Analytics
Google ha aggiornato i meccanismi di tracciamento e integrazione di AdWords e Analytics nelle applicazioni web tramite l’integrazione con GTag. Questa integrazione della funzionalità Google nelle pagine del sito Web estende le opportunità di tracciamento e gestione dei contenuti tramite i servizi Google. Adobe Commerce dispone di un set di moduli incorporati tra cui Google AdWords, Analytics, Optimizer e TagManager che sfruttano la precedente API per l’integrazione con i servizi Google. In questa versione, questa integrazione è stata reimplementata utilizzando l’approccio GTag. Consulta Migrazione da analytics.js a gtag.js (Universal Analytics).
GraphQL
I miglioramenti delle prestazioni di GraphQL includono:
-
Sviluppatori e amministratori possono ricostruire più rapidamente lo schema unificato di GraphQL storefront durante la distribuzione o la modifica degli attributi in produzione. Gli acquirenti riscontrano inoltre velocità di caricamento delle pagine notevolmente più elevate quando è necessario ricreare lo schema GraphQL per qualsiasi motivo.
-
È stata aggiunta la possibilità di utilizzare la data/ora di scadenza del token di autorizzazione tramite l’utilizzo di token web JSON (JWT) nell’API di GraphQL.
-
Il comando
bin/magento config:set graphql/session/disable 1
consente ai commercianti di disabilitare completamente la creazione di cookie di sessione per tutte le operazioni di GraphQL. Per impostazione predefinita, l’applicazione Open Source crea questi cookie e si basa su di essi per l’autorizzazione, il che influisce sulle prestazioni. In futuro, consigliamo di utilizzare i token come unica forma di autorizzazione per le richieste GraphQL. Si sconsiglia di utilizzare i cookie di sessione da soli o in combinazione con i token di autorizzazione. Vedi Autorizzazione GraphQL. -
I cookie di sessione vengono ora avviati nelle operazioni di GraphQL utilizzando proxy di classe solo quando necessario.
-
L'utilizzo della sessione è stato rimosso dai processori di intestazione
http
in GraphQL, ad esempio store, cliente o valuta.
Per informazioni dettagliate su questi miglioramenti, consulta la Guida per gli sviluppatori di GraphQL.
Inventario
La sicurezza del modello di inventario è stata migliorata.
Page Builder
Page Builder v.1.7.2 è compatibile con Magento Open Source 2.4.5.
Il layout delle colonne di Page Builder include i seguenti miglioramenti:
-
Le colonne ora sono esposte, consentendo agli utenti di controllare le impostazioni delle colonne nella vetrina.
-
Il ridimensionamento delle colonne ora supporta il wrapping attivato dalle azioni dell’utente.
Pagamenti
Apple Pay è ora disponibile per tutti i commercianti che eseguono distribuzioni con i servizi di pagamento abilitati. Questo metodo di pagamento non richiede agli acquirenti di inserire i dati della carta di credito. Apple Pay è disponibile nella pagina dei dettagli del prodotto, nel mini-carrello, nel carrello e nel flusso di lavoro di pagamento. I commercianti possono attivare questa funzione.
PayPal
-
I commercianti in Spagna e Italia possono ora offrire PayPal Pay Later agli acquirenti.
-
Le anteprime dei pulsanti PayPal, Credito e Paga più tardi sono ora disponibili nell'amministratore per le pagine di pagamento, minicart, carrello e prodotti. Le anteprime mostrano l'aspetto di questi pulsanti quando vengono attivati e sottoposti a rendering nella vetrina.
Braintree
-
Braintree ha interrotto l'integrazione di protezione dalle frodi KOUNT. È stato rimosso dalla base di codice di Magento Open Source.
-
L'opzione Richiedi sempre 3DS è stata aggiunta all'amministratore.
PWA Studio
PWA Studio v.12.5.x è compatibile con Magento Open Source 2.4.5.
Le nuove funzioni di questa versione includono:
-
I dati sul comportamento degli acquirenti vengono raccolti su PWA Studio storefront per i servizi di analisi web. Gli esercenti possono ora abbonarsi ed estendere questi eventi in base alle esigenze.
-
Gli esercenti possono ora selezionare un servizio da distribuire dall’amministratore (Google Tag Manager).
Per informazioni sui miglioramenti e sulle correzioni di bug, vedi Versioni di PWA Studio. Per un elenco delle versioni di PWA Studio e delle relative versioni di base compatibili con Magento Open Source, vedere Compatibilità delle versioni.
Problemi risolti
Sono stati risolti centinaia di problemi nel codice core di Magento Open Source 2.4.5.
Installazione, aggiornamento, distribuzione
- È ora possibile rinominare una patch di dati e aggiungere il vecchio nome di classe come alias nella tabella di database
patch_list
. Magento Open Source ora controlla se gli alias delle patch di dati esistevano già nel database prima di applicare la patch. In precedenza, applicationOpen Source generava un errore in queste condizioni.
- Magento Open Source non genera più un'eccezione quando si tenta di modificare l'URL amministratore in un URL personalizzato dall'amministratore. In precedenza, dopo aver modificato l’URL di amministrazione, non era possibile effettuare l’accesso. GitHub-35416
- I commercianti possono ora eseguire l'aggiornamento da una distribuzione di Magento Open Source 2.4.2 con Klarna a Magento Open Source 2.4.3. GitHub-33760
- Il percorso di Magento Open Source Analytics non è più codificato. In precedenza, questo percorso hardcoded generava conflitti quando più istanze Magento Open Source venivano installate su un server. GitHub-29373
Accessibilità
- Il pulsante Shopping bag fornisce ora un'indicazione programmatica o testuale del relativo stato. Gli utenti di utilità di lettura dello schermo vengono informati che facendo clic su questo pulsante si espanderanno altri contenuti o che il contenuto associato verrà espanso o compresso. In precedenza, questo pulsante non forniva un’indicazione programmatica o testuale del suo stato.
- Informazioni sul pagamento elementi di testo o immagini di testo dell’opzione carta di credito soddisfano ora il rapporto di contrasto colore minimo richiesto WCAG 2.0 di 4,5:1 per il testo standard di 18 pt (24 px) o 14 pt (19 px), se in grassetto. In precedenza, non soddisfacevano il rapporto di contrasto previsto.
- Rubrica > Comunicazione > Informazioni account gli indicatori di stato attivo personalizzati ora forniscono un rapporto di contrasto di almeno 3:1 rispetto al colore di sfondo.
- Il testo del pulsante Filtro e Ordina soddisfa ora il rapporto di contrasto colore minimo WCAG 2.0 richiesto di 4,5:1 per il testo standard di 18 pt (24 px) o 14 pt (19 px) se in grassetto. In precedenza, i pulsanti di navigazione per i caroselli non soddisfacevano questi requisiti di contrasto minimo.
- Gli assistenti vocali annunciano la parola "Venia" una sola volta quando passano alle intestazioni e ai piè di pagina Venia. In precedenza, la stessa parola veniva annunciata due volte consecutivamente.
- I pulsanti che attivano gli elenchi a discesa ora forniscono informazioni agli assistenti vocali che indicano il loro stato espanso o compresso e i nomi accessibili.
- Gli utenti di utilità di lettura dello schermo vengono informati quando viene eseguito il rendering di una nuova visualizzazione di pagina. In precedenza, quando il titolo di una pagina veniva modificato, la modifica del titolo non veniva annunciata.
Adobe Stock
- Gli utenti possono ora disconnettersi da Adobe Stock.
Prodotti bundle
- È ora possibile utilizzare l'endpoint
PUT /V1/products
per aggiornare gli attributi del prezzo del prodotto per un sito Web specifico. In precedenza, se alcuni attributi di prodotto venivano sostituiti per una visualizzazione specifica del negozio, non era possibile aggiornare un attributo di prezzo per quel prodotto nella stessa visualizzazione del negozio.
- Magento Open Source ora calcola correttamente il totale del carrello per un prodotto bundle quando viene applicata la regola di sottoselezione prodotto.
Cache
- La cache di pagina intera non viene più visualizzata come disabilitata nell'amministratore quando la cache di Magento Open Source viene svuotata e
use_stale_cache
è abilitato.
- I marcatori di distribuzione New Relic ora funzionano come previsto quando la cache viene svuotata. GitHub-32649
Carrello e pagamento
- Il pop-up di ricerca degli indirizzi nella fase di fatturazione del flusso di lavoro di pagamento non causa più errori DOM.
- La mutazione
addProductsToCart
ora funziona correttamente con più prodotti. In precedenza, questa query restituiva il primo prodotto con un subtotale accurato, ma restituiva un subtotale di 0 per gli altri prodotti.
- Le eccezioni alle autorizzazioni vengono ora gestite per i prodotti con restrizioni aggiunti da SKU. Gli acquirenti ricevono ora un messaggio appropriato nella vetrina e il campo relativo alla quantità nella tabella degli errori è disabilitato. In precedenza, applicationOpen Source generava un'eccezione simile alla seguente:
There has been an error processing your request
.
- La query SQL che aggiorna i preventivi interessati dopo la disattivazione di una regola di prezzo del carrello è stata ottimizzata per evitare di bloccare l'intera tabella dei preventivi.
- Gli acquirenti con condivisione dell’account globale non devono più accedere nuovamente a un sito web secondario in una distribuzione multisito quando il pagamento come ospite è disabilitato. I dati dei clienti vengono ora caricati quando l’acquirente passa al sottodominio. Al cliente non viene più richiesto di effettuare di nuovo l’accesso e viene visualizzato il contenuto del carrello precedente.
- I valori dell'elenco a discesa Indirizzo nel flusso di lavoro di pagamento non cambiano più per gli articoli rimanenti in un preventivo quando una singola voce di indirizzo di quantità viene rimossa in un'estrazione con più indirizzi. In precedenza, quando un prodotto veniva rimosso da un preventivo durante il checkout con più indirizzi, il valore dell’elenco a discesa dell’indirizzo veniva impostato su predefinito per tutti i prodotti.
- La query
cart
non restituisce più risposte null quando un prodotto è esaurito. Un nuovo elementoerrors
contenente il messaggio di errore è stato introdotto nella risposta. In precedenza, quando si eseguiva una query con un prodotto esaurito, nella risposta l'applicazione Open Source visualizzava un valorenull
nella sezioneitems
. Vedi query carrello.
- I metodi di spedizione sono ora disponibili come previsto quando un acquirente guest crea un account dopo aver aggiunto un prodotto al carrello prima di procedere al pagamento. In precedenza, quando un ospite aggiungeva un prodotto al carrello prima di creare un account, non erano disponibili metodi di spedizione durante il pagamento. Dopo l’aggiunta di altri prodotti al carrello, sono stati resi disponibili i metodi di spedizione.
- Gli acquirenti possono ora aggiungere prodotti ai loro carrelli se non è stata selezionata alcuna opzione nel campo Consenti paesi.
- Il contenuto del carrello e lo stato di accesso ora vengono ricaricati come previsto dopo il timeout di una sessione quando Abilita persistenza è impostato su Sì. GitHub-35182
- I subtotali del mini carrello ora vengono aggiornati correttamente quando un acquirente passa dalla pagina di spedizione alla pagina del carrello nel flusso di lavoro di pagamento per un ordine con più indirizzi di spedizione. In precedenza, il subtotale era raddoppiato.
- Il mini carrello ora visualizza i prodotti aggiunti in precedenza dopo un timeout di sessione quando Abilita persistenza è abilitato. GitHub-35183
- Gli esercenti possono ora creare una nota di credito in cui Spedizione con rimborso (incl. Imposta) è impostato su -0,01 e ora può impostare questo importo su 0. In precedenza, non era possibile creare la nota di accredito in queste condizioni.
Regola prezzo carrello
- L'ambito dell'attributo
Parent Only
è ora utilizzato correttamente nella condizione Regola carrello.
Catalogo
- I codici URL del prodotto ora rimangono invariati quando si aggiorna il nome del prodotto tramite
PUT /V1/products/
per una visualizzazione store. In precedenza, veniva generato un nuovo codice URL basato sul nuovo nome di prodotto e assegnato al prodotto, che sovrascriveva il codice URL nella vista archivio.
- L’aggiunta di un prodotto a una categoria dal widget di prodotto Page Builder impostato sulla modalità carosello non attiva più il ricaricamento della pagina.
- I prodotti impostati su Non visibile singolarmente non vengono più visualizzati nei risultati della ricerca avanzata del catalogo.
- Gli attributi del bundle dinamico ora vengono aggiornati correttamente nella pagina Aggiornamento di massa attributi. In precedenza, l'attributo Dynamic SKU rimaneva impostato su Yes anche se era disabilitato nella pagina Aggiornamento di massa.
- Le regole del catalogo ora vengono applicate correttamente utilizzando indici incrementali anziché una reindicizzazione completa.
- Ora è possibile passare correttamente dalla visualizzazione elenco alla visualizzazione griglia degli elenchi di prodotti composti da più pagine. In precedenza, quando si passava all'ultima pagina di una visualizzazione elenco prodotti con più pagine prima di passare alla visualizzazione griglia, l'applicazione Open Source visualizzava questo errore:
Unfortunately there are no products in this category on our website currently
.
- I rapporti del registro delle azioni dell’amministratore ora visualizzano gli ID prodotto aggiornati e le informazioni sullo stato aggiornate come previsto.
- I trigger vengono ora ripristinati come previsto nella tabella
catalogrule_product_price
dopo una reindicizzazione completa. In precedenza, i trigger venivano rimossi dalla tabellacatalogrule_product_price
dopo una reindicizzazione completacatalogrule_rule
ocatalogrule_product
.
- Le regole di categoria utilizzate per assegnare i prodotti alle categorie non vengono più modificate in modo casuale.
- Le categorie non possono più essere aggiornate a livello globale da un amministratore con accesso limitato all'ambito. In precedenza, quando più siti web utilizzavano la stessa categoria ma prodotti diversi e un amministratore con autorizzazioni limitate a uno store aveva modificato i prodotti della categoria, la selezione dei prodotti veniva modificata anche per altri store.
- Nella pagina dei dettagli del prodotto viene ora visualizzato il prezzo corretto quando si utilizza una valuta non predefinita per le impostazioni internazionali specificate. In precedenza, i numeri non venivano localizzati come previsto nella vetrina.
- Ora quando si tenta di recuperare i prezzi di livello di un prodotto con record duplicati, l’API e la vetrina visualizzano lo stesso messaggio di errore. In precedenza,
PUT /V1/products/tier-prices
restituiva un messaggio di errore non corretto.
- Magento Open Source ora fornisce messaggi di errore di convalida quando tenti di aggiungere un codice URL di prodotto con un trattino finale. È disponibile anche un testo informativo.
- Il nuovo campo
ConfigurableWishlistItem.configured_variant
ha sostituito il campoConfigurableWishlistItem.child_sku
. Quest’ultimo campo ha attivato un errore interno quando un elenco dei desideri del cliente conteneva un prodotto configurabile non configurato.
- Le riscritture URL vengono ora generate solo per gli archivi selezionati durante l’aggiornamento di massa degli attributi per modificare la visibilità del prodotto. In precedenza, l’aggiornamento di massa degli attributi creava una riscrittura URL per l’archivio errato.
- Quando l'impostazione
Synchronize widget products with backend storage
è abilitata, l'applicazione Open Source aggiunge i dati dei prodotti visualizzati di recente nella tabella del databasecatalog_product_frontend_action
. Quando aggiungi dei record, include l’ID del cliente o del visitatore. La sezionerecently_viewed_product
nella risposta ora è vuota se l'ID cliente e l'ID visitatore sono nulli. Di conseguenza, quando viene inviata la richiesta Ajaxcustomer/section/load
, l'applicazione Open Source può filtrare correttamente i prodotti visualizzati di recente in base all'ID cliente o visitatore. In precedenza, la risposta includeva tutti i dati disponibili nella tabella del databasecatalog_product_frontend_action
perché non era stata eseguita alcuna verifica per un ID cliente o visitatore vuoto.
- Gli amministratori possono ora modificare le opzioni di prodotto configurabili nel carrello di un acquirente dal pannello a tendina Amministratore. In precedenza, il pannello diapositiva non funzionava correttamente.
- La cache delle pagine viene ora cancellata come previsto per il prodotto principale configurabile quando vengono salvate le modifiche a un prodotto secondario. In precedenza, poiché la cache non veniva cancellata, le modifiche non venivano selezionate nella pagina di prodotto di configurazione storefront. GitHub-34508
- Gli elenchi dei prodotti ora vengono visualizzati correttamente in Amministrazione. In precedenza, l'elenco di prodotti non veniva riprodotto e Magento Open Source visualizzava questo errore:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
. GitHub-33145
- I prezzi dei prodotti sono ora gli stessi nella pagina dei dettagli del prodotto e nella ricerca in vetrina in implementazioni in più punti vendita dopo che il Limite del prezzo del catalogo è cambiato da sito Web a globale. In precedenza, nella pagina Risultati ricerca catalogo veniva visualizzato il prezzo global e nella pagina dei dettagli del prodotto veniva visualizzato il prezzo sito Web. GitHub-34074
- La navigazione a livelli ora visualizza i prodotti con i prezzi più alti previsti quando Calcolo passaggio di navigazione prezzo è impostato su Manuale.
- È ora possibile modificare il limite di prodotti per pagina visualizzato all'interno di una categoria quando Ricorda paginazione categoria è abilitato. In precedenza, il cookie
form_key
e l'interfaccia utenteform_key
erano diversi e Magento Open Source visualizzava questo errore:Invalid Form Key. Please refresh the page
.
- L'indicizzatore EAV ora elabora gli ID prodotto come tipo
int
per evitare possibili problemi di prestazioni.
- La nuova cache dei prodotti viene ora generata correttamente dopo l’aggiunta di una nuova immagine con un nome contenente "". su un prodotto, quindi salva il prodotto e pulisci la cache delle immagini. GitHub-32699
-
In Magento Open Source ora viene visualizzato un messaggio di errore come previsto quando si tenta di creare un attributo dalla pagina del prodotto senza completare il campo Amministratore. GitHub-33099
-
Le valutazioni dei prodotti ora sono corrette in tutti gli elenchi di prodotti del catalogo quando la pagina Home contiene più elenchi di catalogo. GitHub-33867
Prodotti configurabili
- Magento Open Source ora visualizza il prezzo di prodotto corretto per un prodotto configurabile con un’opzione selezionata dopo averne modificato la quantità nella pagina dei dettagli del prodotto. In precedenza, il prezzo veniva reimpostato al valore iniziale dopo la modifica della quantità.
- La query
products
recupera ora i prezzi per i prodotti configurabili che riflettono con precisione l'impostazione di configurazione Visualizza esaurito. In precedenza, la query non restituiva prezzi precisi.
- Le opzioni configurabili sono ora collegate ai prodotti configurabili creati nell'amministratore utilizzando
POST /V1/configurable-products/configurable1/child
.
- Gli attributi a selezione multipla ora vengono salvati correttamente durante la modifica del prodotto. In precedenza, durante il salvataggio di un prodotto, applicationOpen Source salvava l'opzione predefinita per gli attributi non selezionati e per quelli selezionati.
- Magento Open Source ora visualizza gli attributi configurabili come previsto durante la creazione degli attributi globali
select
tramite uno script di patch. In precedenza, gli attributi globali idonei erano nascosti.
-
È ora possibile utilizzare la mutazione
addConfigurableProductsToCart
per aggiungere prodotti configurabili con opzioni personalizzate. In precedenza, applicationOpen Source generava questo errore:Magento 2.3.4 graphql Notice: Undefined index: option_value in /var/www/html/mg234/vendor/magento/module-configurable-product-graph-ql/Model/Resolver/ConfigurableCartItemOptions.php on line 62
. GitHub-28860 -
Ora puoi riordinare i prodotti configurabili con opzioni personalizzate facoltative. In precedenza, i tentativi di riordino non erano riusciti e comportavano la visualizzazione di questo errore:
Some of the selected options are not currently available
. GitHub-35409
- La mutazione
addConfigurableProductsToCart
ora funziona come previsto con più prodotti. In precedenza venivano restituite informazioni di prodotto errate o veniva restituito un messaggio di errore non valido. GitHub-30948
Cliente
- Magento Open Source ora visualizza correttamente gli attributi predefiniti del sistema EAV in base all'impostazione del sito Web sulla vetrina. In precedenza, gli attributi del cliente a livello di sito Web abilitati per un sito Web e disabilitati per un altro venivano visualizzati come abilitati per entrambi i siti Web.
Download disponibile
- Ora puoi rimuovere collegamenti e file di esempio da un prodotto scaricabile. GitHub-31887
- Le e-mail inviate dal sistema ora vengono inviate correttamente ai destinatari con ".-" nel loro indirizzo e-mail.
- Ora i clienti ricevono promemoria e-mail sui carrelli abbandonati secondo la pianificazione corretta. La nuova funzione SQL
TIMESTAMPDIFF(DAY, ,)
ha sostituito la funzioneTO_DAYS()
e calcola la differenza nei timestamp in base alla data e all'ora. In precedenza, i promemoria e-mail non venivano inviati per pianificazione a causa del calcolo errato di due valori data-ora di abbandono del carrello (qualsiasi fuso orario) e ora del server (UTC).
- Magento Open Source visualizza ora un messaggio di errore nella pagina Spedizione quando un acquirente immette un formato e-mail non valido dopo aver fatto clic su Inserisci ordine. In precedenza, il messaggio di errore veniva visualizzato nella pagina Pagamento. [GitHub-33590](https://github.com/magento/magento2/issues/33590)
Framework
- Il comando
bin/magento setup:config:set
non sostituisce più i prefissi ID cache già impostati inapp/etc/env.php
.
- Il comando
bin/magento setup:static-content:deploy -s compact
ora include gli stili dei temi figlio come previsto. In precedenza, i file CSS con tema non erano presenti nella vetrina dopo la distribuzione.
- È stato aggiunto un nuovo sniff per verificare se sono utilizzate barre di chiusura negli elementi
void
.
- Magento Open Source non genera più un errore SQL dopo l’assegnazione di una nuova origine a un prodotto e la modifica della relativa quantità. GitHub-35262
- L'ordinamento degli attributi ora funziona come specificato nel file
di.xml
dopo l'aggiornamento.
- La funzione
updateCartCurrency
ora imposta la stringa invece di un oggetto all'interno dell'oggetto carrello. In precedenza, applicationOpen Source non caricava virgolette utilizzandogetQuote
perché la funzioneupdateCartCurrency
impostava un oggetto invece di una stringa all'interno dell'oggetto carrello. GitHub-34199
- Gli avvisi di obsolescenza non vengono più visualizzati negli unit test a causa di
\DateTimeFormatter::formatObject()
. Questo metodo ora funziona come previsto con valori numerici per$format
.
- Magento Open Source non visualizza più un errore
preg_replace()
in Admin. Il terzo argomento ($subject
) è ora di tipoarray|string
invece dibool
.
- Il metodo
isFreeShipping
ora restituisce un numero intero anziché un valore booleano.GitHub-35164
- Magento Open Source non genera più il seguente errore quando si crea un plug-in per qualsiasi metodo della classe
vendor/magento/module-backend/Model/Menu.php
:Error: Call to undefined method ReflectionUnionType::getName()
. GitHub-35292
- Magento Open Source ora restituisce un errore 404 invece di un errore 500 quando si passa a
/checkout/sidebar/updateItemQty/?item_qty=error
nella vetrina. In precedenza, questo errore veniva generato:Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69
. GitHub-34380
- Magento Open Source non attiva più un errore
trim(): Passing null to parameter #1 ($string) of type string is deprecated
quando la connessione AMPQ è configurata senza la configurazione SSL.
- La definizione del database
longblog
è stata corretta inlong blob
. GitHub-35108
- Il testo di foratura contenente virgolette singole è ora traducibile. GitHub-34319
- Un
TypeError
inmagento2/app/code/Magento/Security/Model/AdminSessionsManager.php
è stato corretto daint
astring
. GitHub-34415
.htpasswd
è stato aggiunto ai percorsi vietati nel file di configurazionenginx
. GitHub-35150
- Il tempo di caricamento delle pagine dell'elenco prodotti della categoria è stato migliorato aggiungendo
Magento_Ui/js/core/app
comedeps
aapp/code/Magento/Ui/view/frontend/requirejs-config.js
. GitHub-34847
- Il metodo
ProductRepository.php:get
ora restituisce una volta le chiavi della cache. In precedenza, venivano restituiti due volte. GitHub-34958
- È stato aggiunto un messaggio di errore a una nuova eccezione creata nel gestore eccezioni per i processi cron. GitHub-34941
- I file ReadMe per i moduli
GraphQl-GroupedProductGraphQl
sono stati aggiornati. GitHub-34951
- Le pagine ordine di stampa/fattura/nota di credito della vetrina non visualizzano più il logo Luma predefinito anziché il logo specificato per la visualizzazione sul sito Web. GitHub-34942
Correzioni generali
- Se si imposta la dimensione massima della sessione su 0 (Admin Store > Settings > Configuration - Advanced), l'amministratore non verrà più disconnesso. GitHub-35312
- Le impostazioni di configurazione degli attributi dell’indirizzo del cliente ora vengono caricate correttamente in base al sito web a cui il cliente è assegnato quando si aggiunge un nuovo indirizzo del cliente dall’amministratore che viene assegnato a un sito web non predefinito.
- Magento Open Source non genera più un'eccezione quando si aggiunge un prodotto bundle tramite Page Builder.
- Ora puoi creare un account cliente su un dispositivo iOS con l’apostrofo inclinato (') nel nome, nel secondo nome o nel cognome. In precedenza era consentito solo l'apostrofo diritto e l'utilizzo dell'apostrofo inclinato predefinito di iOS 11+ ha prodotto un errore
Name is not valid!
.
- La query
products
ora restituisce informazioni sul prodotto che riflettono con precisione la configurazione "Mostra prodotti correlati". I campirelated_products
,upsell_products
ecrosssell_products
nell'interfaccia prodotto GraphQL ora sono risolti in base rispettivamente a Mostra prodotti correlati, Mostra prodotti di upselling e Mostra configurazione prodotti di cross-selling.
- L'attributo Imposta prodotto come nuovo da data visualizza ora la data corretta quando l'attributo Imposta prodotto come nuovo viene impostato tramite un aggiornamento collettivo di massa del prodotto. In precedenza, Imposta prodotto come nuovo dalla data veniva visualizzato come 1 gennaio 1970.
- Agli utenti con ruoli limitati non viene più concesso automaticamente l’accesso a nuovi moduli.
- Le condizioni delle regole di prodotto correlate ora funzionano come previsto con i prodotti che contengono gli attributi
multiselect
.
- Gli esercenti possono ora aggiungere un attributo di prezzo livello (
tier_price
) ai confronti tra prodotti. In precedenza, la pagina di confronto dei prodotti si bloccava quando l'impostazione Comparable on storefront per questo attributo era abilitata. GitHub-35244
- Magento Open Source visualizza ora un messaggio di errore quando imposti un dominio cookie non valido (Store > Configurations > Web > Default Cookie Settings Cookie Domain). In precedenza, il sito web si bloccava. GitHub-35048
- Magento Open Source non genera più un errore quando un amministratore con ruoli con ambito in un singolo sito Web aggiunge un prodotto a Content Elements utilizzando PageBuilder. In precedenza, applicationOpen Source generava un errore SQL.
- La convalida è stata aggiunta alla seconda riga dell'indirizzo nelle pagine di modifica e aggiunta degli indirizzi. Vengono ora applicate le lunghezze di testo minima e massima specificate per il secondo.
- Magento Open Source non genera più il seguente errore durante la creazione di una regola di catalogo nell'amministratore dopo l'aggiornamento:
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
.
- Magento Open Source non genera più un errore quando attivi la casella di controllo Seleziona questa opzione per collegare un feed RSS alla tua lista dei desideri prima di fare clic su Condividi elenco dei desideri. GitHub-34998
- È ora possibile tradurre il titolo della casella di controllo Mostra password (Accesso cliente, Registrazione cliente, Modifica cliente (sezione Modifica password) e Moduli per il nuovo set di password del cliente). GitHub-34857
- Sono state aggiornate le etichette e le descrizioni dei commenti in
app/code/Magento/NewRelicReporting/etc/adminhtml/system.xml
. GitHub-31947
- Sono stati rimossi
csp_whitelist.xml
file non necessari. GitHub-30607