Note sulla versione di Magento Open Source 2.4.7
Il Magento Open Source 2.4.7 introduce il supporto per PHP 8.3. Include centinaia di correzioni e miglioramenti di qualità. Le dipendenze del Compositore core e le librerie di terze parti sono state aggiornate alle versioni più recenti disponibili. Questa versione aumenta la copertura di GraphQL per gli attributi personalizzati e le cache del risolutore GraphQL. Introduce anche il supporto per i servizi FedEx e UPS aggiornati di recente.
Altre informazioni sulla versione
Anche se il codice per queste funzioni è incluso con le versioni del codice core 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.
Punti salienti del Magento Open Source 2.4.7
In questa versione, cerca le seguenti aree di rilievo.
Miglioramenti di sicurezza
Questa versione include le stesse correzioni di sicurezza e gli stessi miglioramenti di sicurezza della piattaforma inclusi in Adobe Commerce 2.4.6-p5, 2.4.5-p7 e 2.4.4-p8. Per le ultime discussioni su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.
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
Ulteriori miglioramenti della sicurezza
I miglioramenti apportati alla protezione per questa versione migliorano la conformità alle più recenti best practice in materia di sicurezza.
-
Modifiche al comportamento delle chiavi della cache non generate:
- Le chiavi della cache non generate per i blocchi ora includono prefissi che differiscono dai prefissi per le chiavi generate automaticamente. Le chiavi della cache non generate sono chiavi impostate tramite la sintassi di direttiva del modello o i metodi
setCacheKey
osetData
. - Le chiavi della cache non generate per i blocchi ora devono contenere solo lettere, cifre, trattini (-) e caratteri di sottolineatura (_).
- Le chiavi della cache non generate per i blocchi ora includono prefissi che differiscono dai prefissi per le chiavi generate automaticamente. Le chiavi della cache non generate sono chiavi impostate tramite la sintassi di direttiva del modello o i metodi
-
Limitazioni al numero di codici coupon generati automaticamente. Il Magento Open Source ora limita il numero di codici coupon generati automaticamente. Il valore massimo predefinito è 250.000. I commercianti possono utilizzare la nuova opzione di configurazione Code Quantity Limit (Stores > Settings:Configuration > Customers > Promotions) per evitare di sovraccaricare il sistema con molti coupon.
-
Ottimizzazione del processo predefinito di generazione URL amministratore. La generazione dell’URL amministratore predefinito è stata ottimizzata per una maggiore casualità, il che rende gli URL generati meno prevedibili.
-
Una nuova impostazione di configurazione della cache a pagina intera può aiutare a mitigare i rischi associati all'endpoint HTTP
{BASE-URL}/page_cache/block/esi
. Questo endpoint supporta frammenti di contenuto senza restrizioni e caricati dinamicamente dagli handle di layout e dalle strutture di blocco di Commerce. La nuova impostazione di configurazione Handles params size imposta il valore del parametrohandles
di questo endpoint, che determina il numero massimo consentito di handle per API. Il valore predefinito di questa proprietà è 100. I commercianti possono modificare questo valore dall'amministratore (Stores > Settings:Configuration > System > Full Page Cache > Handles params size). Vedere Configurare l'applicazione Commerce per l'utilizzo di Vernice. -
È stato aggiunto il supporto SRI (Subresource Integrity) per soddisfare i requisiti PCI 4.0 per la verifica dell'integrità degli script nelle pagine di pagamento. Il supporto SRI (Subresource Integrity) fornisce hash di integrità per tutti i risorse JavaScript residenti nel filesystem locale. La funzione SRI predefinita viene implementata solo nelle pagine di pagamento per le aree amministratore e vetrina. Tuttavia, i commercianti possono estendere la configurazione predefinita ad altre pagine. Consulta Integrità della sottorisorsa nella Guida per gli sviluppatori di Commerce PHP.
-
Modifiche alle direttive Content Security Policy (CSP)—Aggiornamenti alla configurazione e miglioramenti alle direttive Adobe Commerce Content Security Policy (CSP) per la conformità ai requisiti PCI 4.0. Per informazioni dettagliate, vedere Informativa sulla sicurezza dei contenuti nella Guida per gli sviluppatori di Commerce PHP.
-
La configurazione CSP predefinita per le pagine di pagamento per le aree di amministrazione e vetrina di Commerce è ora in modalità
restrict
. Per tutte le altre pagine, la configurazione predefinita è la modalitàreport-only
. Nelle versioni precedenti alla versione 2.4.7, CSP era configurato in modalitàreport-only
per tutte le pagine. -
È stato aggiunto un provider nonce per consentire l’esecuzione di script in linea in un CSP. Il provider di nonce facilita la generazione di stringhe di nonce univoche per ogni richiesta. Le stringhe vengono quindi collegate all’intestazione CSP.
-
Sono state aggiunte opzioni per configurare URI personalizzati in modo da segnalare le violazioni CSP per le pagine Crea ordine in Amministrazione e Pagamento nella vetrina. È possibile aggiungere la configurazione dall'amministratore o aggiungendo l'URI al file
config.xml
.note note NOTE L'aggiornamento della configurazione CSP alla modalità restrict
potrebbe bloccare gli script in linea esistenti nelle pagine di pagamento in Admin e storefront, causando il seguente errore del browser al caricamento di una pagina:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src
. Correggi questi errori aggiornando la configurazione della whitelist per consentire gli script richiesti. Consulta Risoluzione dei problemi nella Guida per gli sviluppatori di Commerce PHP.
-
-
Limitazione della tariffa nativa per le informazioni di pagamento trasmesse tramite API REST e GraphQL. I commercianti possono ora configurare la limitazione della tariffa per le informazioni di pagamento trasmesse utilizzando REST e GraphQL. Questo livello di protezione aggiuntivo supporta la prevenzione degli attacchi di carte di credito e potenzialmente riduce il volume di attacchi di carte di credito che testano molti numeri di carta di credito contemporaneamente. Si tratta di una modifica del comportamento predefinito di un endpoint REST esistente. Vedi Limitazione di frequenza.
-
Il comportamento predefinito della query GraphQL isEmailAvailable e dell'endpoint REST (V1/customers/isEmailAvailable) è stato modificato. Per impostazione predefinita, le API ora restituiscono sempre
true
. Gli esercenti possono abilitare il comportamento originale impostando l'opzione Abilita accesso per cassa ospite nell'amministratore suyes
, ma in questo modo è possibile esporre le informazioni del cliente a utenti non autenticati.
Miglioramenti alla piattaforma
Gli aggiornamenti della piattaforma per questa versione migliorano la conformità alle best practice di sicurezza più recenti.
Il Magento Open Source 2.4.7 include i seguenti aggiornamenti della piattaforma:
- Compatibilità PHP 8.3. Questa versione introduce il supporto per PHP 8.3. Il Magento Open Source ora supporta sia PHP 8.3 che 8.2. PHP 8.2 sarà supportato fino alla data di fine del servizio (EOS) nel dicembre 2025. Dopo dicembre 2025, tutti i commercianti che eseguono distribuzioni 2.4.7 devono migrare a PHP 8.3.
Il Magento Open Source 2.4.7 è ancora compatibile con PHP 8.1 solo a scopo di aggiornamento. PHP 8.1 non è supportato e non è consigliato. Il codice di base del Magento Open Source 2.4.7, tutte le estensioni in bundle, tutte le estensioni di proprietà di Adobe e i servizi SaaS sono compatibili con PHP 8.3.
-
Supporto di RabbitMQ 3.13. Questa versione è compatibile con l’ultima versione di RabbitMQ 3.13. La compatibilità rimane con RabbitMQ 3.11 e 3.12, che è supportato rispettivamente fino ad agosto 2024 e dicembre 2024, ma Adobe consigliato utilizzando il Magento Open Source 2.4.7 solo con RabbitMQ 3.13.
-
Compositore 2.7.x. La compatibilità con Composer 2.2.x rimane.
-
Supporto cache di vernice 7.4. Questa versione è compatibile con la versione più recente di Varnish Cache 7.4. La compatibilità rimane con le versioni 6.0.x e 7.2.x, ma si consiglia di utilizzare il Magento Open Source 2.4.7 solo con Vernice Cache versione 7.4 o 6.0 LTS.
-
Elasticsearch 8.11 compatibilità
-
OpenSearch 2.12 e OpenSearch 1.3 supportano
-
Redis 7.2
-
La libreria
extjs
è stata sostituita con la versione più recente dijsTree
. -
Libreria
jquery/fileUpload
rimossa.
Tutte le dipendenze JavaScript librerie e NPM nel codice Magento Open Source core sono state aggiornate alle ultime versioni disponibili. Tutte le dipendenze libreria Lamina sono state aggiornate all'ultima versione compatibile con PHP 8.3.
Aggiornamenti aggiuntivi
-
Il gateway API XML di Commerce UPS è stato migrato alla nuova API REST di Commerce UPS per supportare gli aggiornamenti che UPS sta apportando al proprio modello di sicurezza API. (UPS sta implementando un modello di sicurezza OAuth 2.0 (token portatore) per tutte le API.) Tutte le precedenti API XML di Commerce UPS sono state rimosse dalla codebase di Magento Open Source 2.4.7.
-
La Magento Open Source integrazione con FedEx è stata migrata dai servizi Web FedEx WSDL legacy alle più recenti API FedEx RESTful. Il servizio Web di tracciamento dei servizi Web FedEx, la convalida degli indirizzi e la convalida dei codici postali WSDLS verranno ritirati a maggio 2024.
-
È stato aggiunto il supporto per il nuovo metodo di spedizione USPS Ground Advantage. Si tratta di un’integrazione standard con il nuovo metodo di spedizione di USPS, USPS Ground Advantage, rilasciato a luglio 2023. Questa nuova integrazione può essere utilizzata per recuperare le tariffe di spedizione e programmare consegne e resi tramite il servizio di spedizione USPS. Il metodo di spedizione USPS Ground Advantage sostituisce questi metodi di spedizione, che sono stati ritirati quando è stato rilasciato il metodo di spedizione USPS Ground Advantage:
- USPS Retail Ground
- Servizio di pacchetti di prima classe
- Seleziona terreno
-
I moduli di spedizione Temando sono stati rimossi dalla base di codice del Magento Open Source principale. Questa funzionalità è stata rimossa nel Magento Open Source 2.4.4.
Miglioramenti a livello di prestazioni e scalabilità
Il Magento Open Source 2.4.7 include i seguenti miglioramenti alle prestazioni e alla scalabilità del Magento Open Source:
-
Gestione indicizzatore avanzata. Il nuovo comando
indexer:set-status
supporta la gestione dinamica dello stato dell'indicizzatore. Gli utenti amministratori possono utilizzare questo comando per cambiare lo stato dell'indicizzatore insuspended
,invalid
ovalid
. Questa funzione è particolarmente utile per gestire le prestazioni del sistema durante operazioni di massa estese, come importazioni di prodotti o aggiornamenti, consentendo il controllo del momento in cui gli indicizzatori vengono attivati automaticamente dai processi cron del sistema. Vedi Gestione degli indicizzatori. -
Pagina di elenco prodotti per prodotti complessi con molte opzioni. Il tempo di caricamento è migliorato per le pagine di elenco dei prodotti che includono prodotti complessi con oltre 100 opzioni. Anche le prestazioni delle richieste di GraphQL di elencare i prodotti per categoria sono migliorate.
-
Miglioramenti delle prestazioni della regola di vendita. Sono state migliorate le prestazioni delle implementazioni aziendali con molte regole di vendita attive (circa 100.000). Le distribuzioni aziendali che implementano in modo significativo le promozioni spesso implementano molte regole attive del carrello. Questi tipi di distribuzioni aziendali che eseguono il Magento Open Source 2.4.7 non registreranno alcun peggioramento delle prestazioni correlato al numero di regole del prezzo del carrello configurate durante le operazioni di pagamento.
-
Operazioni di salvataggio più rapide delle configurazioni a livello di archivio per le distribuzioni con molti archivi. Il salvataggio delle impostazioni di configurazione nelle distribuzioni con più di 500 archivi può richiedere molto tempo. Il nuovo modulo Configurazione asincrona abilita le operazioni di salvataggio della configurazione asincrona eseguendo un processo cron che utilizza un consumer per elaborare l'operazione di salvataggio in una coda di messaggi. AsyncConfig è disabilitato per impostazione predefinita.
-
Generazione più rapida della cache di configurazione per le configurazioni di grandi dimensioni. Il comando
bin/magento cache:clean config
esegue ora il preriscaldamento della cache di configurazione quando questa è abilitata. Questo riduce il tempo di inattività necessario per generare la cache di configurazione per le configurazioni di grandi dimensioni. Le operazioni di salvataggio della configurazione non puliscono più la cache diconfig_scopes
prima di scrivere i dati nella cache, riducendo anche il tempo di blocco delle altre richieste durante la scrittura dei dati di configurazione.
Braintree
-
Vaulted PayPale Pay Later modifiche—I clienti che hanno effettuato l'accesso e che in precedenza hanno archiviato o archiviato il proprio conto PayPal possono pagare con:
- Pay Now (senza dover accedere al proprio account PayPal, l'utente può pagare con la propria carta predefinita)
- Pagamento con un'altra fonte di finanziamento
- Paga con un altro account
- Pulsante PayPal Pay Later o PayPal Credit
-
Supporto di 3DS perGoogle Pay. È incluso il supporto per la verifica 3DS per le schede non tokenizzate Google Pay. Per ulteriori informazioni, consulta la documentazione di Braintree.
-
Vault Apple Pay Payments - Consenti ai clienti connessi di archiviare i pagamenti Apple Pay nel proprio account Commerce Store per utilizzarli in transazioni future. Questo riduce il numero di passaggi al momento del pagamento e crea un’esperienza di pagamento più rapida per il cliente che ritorna.
-
Vault Google Pay Payments - Consenti ai clienti connessi di archiviare i pagamenti Google Pay nel proprio account Commerce Store per utilizzarli in transazioni future. Questo riduce il numero di passaggi al momento del pagamento e crea un’esperienza di pagamento più rapida per il cliente che ritorna.
-
Vault Venmo Payments - Consenti ai clienti connessi di archiviare/archiviare i propri account Venmo nel proprio account Commerce Store per utilizzarli in transazioni future. Questo riduce il numero di passaggi al momento del pagamento e crea un’esperienza di pagamento più rapida per il cliente che ritorna.
-
Vault ACH Payments - Consenti ai clienti connessi di archiviare i pagamenti ACH nel proprio account Commerce Store per utilizzarli in transazioni future. Questo riduce il numero di passaggi al momento del pagamento e crea un’esperienza di pagamento più rapida per il cliente che ritorna.
-
Express Paymentpulsanti nella parte superiore dell'estrazione. Per favorire un'esperienza di estrazione più rapida, sono state introdotte Express Payment opzioni all'inizio dell'estrazione. I clienti possono ora pagare PayPal, PayPal Pay Later, Apple Pay e Google Pay Express pagamenti.
-
Note sulla versione di Braintreee collegamenti per il supporto all'interno di Admin Configuration—Gli esercenti possono ora collegarsi direttamente da Commerce Admin per Braintree il supporto e le note sulla versione online.
-
Supporto di GraphQL per tutti i metodi di pagamento Braintree eccettoVenmo. Altre configurazioni sono esposte nell'API GraphQL. Questa funzione è particolarmente utile per le applicazioni headless.
-
Vaultingpagamenti nell'area dell'account. I clienti connessi possono ora archiviare/archiviare nuove carte di credito/debito e PayPal account nell'area dell'account cliente. In precedenza, i clienti potevano eseguire il vaulting/store solo quando salvavano i pagamenti per un uso successivo al completamento di una transazione al momento del pagamento, ora possono eseguire il vaulting di nuove carte di credito/debito e account PayPal senza dover creare una nuova transazione.
-
Transazioni senza attrito: le transazioni senza attrito accelerano il processo di pagamento riducendo il numero di clic/passaggi del cliente per completare una transazione online con carta di credito/debito. In precedenza (quando era abilitato 3DS), ogni cliente aveva problemi con 3DS. Con la nuova funzione Transazioni senza attrito, i clienti vengono sfidati per 3DS solo quando la banca lo richiede. Questo riduce l’abbandono del carrello, aumenta i tassi di conversione e porta a un aumento delle vendite.
-
Webhook controversia: quando un cliente contesta una transazione per Braintree, lo stato della controversia viene ora passato a Commerce. È ricercabile nella griglia Sales > Order e può essere allegato a ogni ordine.
GraphQL
Il Magento Open Source 2.4.7 include funzionalità avanzate di caching di GraphQL, supporto dello schema GraphQL per gli attributi personalizzati, supporto per l’annullamento di ordini headless e miglioramento del resolver caching.
-
Gestione più flessibile del carrello. La mutazione
clearCart
cancella ora il contenuto di un carrello specificato in una singola azione. Sostituisce la mutazioneclearCustomerCart
, che è stata dichiarata obsoleta. -
Miglioramenti nella creazione di mutazioni del carrello. La mutazione
createGuestCart
è stata aggiunta per sostituire la mutazionecreateEmptyCart
obsoleta. In precedenza, se si utilizzavacreateEmptyCart
, non era possibile determinare se il carrello era per un cliente ospite o connesso. -
Gli elementi dell'ordine ora includono le immagini del prodotto.
OrderItemInterface
espone le immagini del prodotto, consentendo l'associazione delle immagini ai prodotti ordinati e un caricamento più efficiente. GitHub-32369 -
Supporto esteso per il resolver caching. I seguenti risolutori di query GraphQL sono ora memorizzabili nella cache dei risultati del resolver GraphQL, il che migliora le prestazioni quando le query vengono inviate con le richieste POST:
Magento\CustomerGraphQl\Model\Resolver\Customer::resolve
Magento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolve
Magento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolve
Magento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
-
Supporto per l'annullamento dell'ordine. La mutazione cancelOrder consente a un cliente di annullare un ordine, trasmettendo il relativo identificatore e un motivo di annullamento.
- I nuovi campi di risposta
order_cancellation_enabled
eorder_cancellation_reasons.description
instoreConfig
le query supportano le richieste di annullamento degli ordini avviate dall'utente. Vedi Eseguire una query sulla configurazione dell'annullamento dell'ordine di un archivio
- I nuovi campi di risposta
-
Supporto avanzato per attributi personalizzati. Il supporto degli attributi personalizzati di GraphQL è stato migliorato arricchendo i dati API per supportare tutti i tipi di attributi. Lo schema degli attributi EAV di GraphQL ora supporta l’estensione degli attributi del cliente e degli oggetti dell’indirizzo del cliente nell’Admin e il loro recupero tramite GraphQL. Le aree specifiche di miglioramento includono:
- estensione/aggiunta del supporto di attributi personalizzati ad aree specifiche come l’indirizzo del cliente
- aggiunta della cache per gli attributi personalizzati
- supporto migliorato degli attributi personalizzati esistenti per i prodotti
-
Le funzionalità avanzate di memorizzazione nella cache di GraphQL migliorano la velocità di caricamento delle pagine. È stata aggiunta la funzionalità di memorizzazione in cache a queste query, che migliora la velocità di caricamento delle pagine per la maggior parte delle pagine PWA:
-
Prestazioni migliorate del parser GraphQL. Le prestazioni del parser GraphQL sono state migliorate riducendo il numero di volte in cui il metodo di analisi viene chiamato per richiesta. Ora si chiama una volta. In precedenza, il parser veniva chiamato almeno tre volte.
Nuovi campi per le mutazioni esistenti
-
Il campo
quickorder_active
è stato aggiunto alle query storeConfig e availableStores. Questo campo indica se la funzione di ordine rapido è abilitata. -
Sono stati aggiunti i campi seguenti alle mutazioni
setBillingAddressOnCart
esetShippingAddressesOnCart
:fax
middlename
prefix
suffix
Nuove query e mutazioni
attributeForms
queryattributesList
query- Query
guestOrder
- Query
guestOrderByToken
- Query
recaptchaFormConfig
cancelOrder
mutazione- Query
customAttributeMetadataV2
- Mutazione
applyCouponsToCart
- Mutazione
confirmEmail
- Mutazione
createGuestCart
- Mutazione
estimateShippingMethods
- Mutazione
estimateTotals
- Mutazione
removeCouponsFromCart
Query e mutazioni obsolete
clearCustomerCart
mutazionecreateEmptyCart
mutazione- Query
attributesMetadata
- Query
customAttributeMetadata
Inventory management
Inventory management (v1.2.7) fornisce strumenti per gestire l’inventario dei prodotti. Questa funzione sviluppata dalla community è fornita in bundle con Adobe Commerce e il codice di base del Magento Open Source.
Metapackage estensione Magento Open Source
Questa versione include il metapackage di estensione del Magento Open Source v1.0.0, che raggruppa automaticamente con questa versione di base alcune estensioni del Magento Open Source. La versione di questa estensione inclusa in questo metapackage viene installata durante l'esecuzione di composer update
, semplificando il processo di aggiornamento dell'estensione quando si esegue l'aggiornamento alla versione di base più recente. Questa estensione mantiene una pianificazione di rilascio indipendente.
Il metapacchetto dell’estensione del Magento Open Source per il Magento Open Source 2.4.7 include le seguenti estensioni:
- Integrazione di Adobe Commerce con Adobe IMS
- Braintree
- Servizi di pagamento
Le versioni future di questo metapacchetto di estensione conterranno estensioni aggiuntive.
PWA Studio
PWA Studio v14.0 è compatibile con il Magento Open Source 2.4.7-beta1. Include diversi miglioramenti per migliorare l’accessibilità. Per informazioni sulle correzioni di bug, vedi Versioni di PWA Studio. Per un elenco delle versioni di PWA Studio e delle relative versioni di base di Magento Open Source compatibili, vedere Compatibilità delle versioni.
Framework API web
Questa versione introduce due nuovi endpoint REST che forniscono una soluzione alternativa per una limitazione con gli endpoint REST API GET
e POST V1/products/attributes
. Questi endpoint restituiscono lo stesso valore per l'attributo is_filterable
per entrambe le opzioni Filterable(with results)
e Filterable(no results)
dell'opzione Use in Layered Navigation. La proprietà dell'attributo is_filterable
è di tipo Boolean
, che non consente di impostare questa proprietà su Filterable(no results)
.
Due nuovi endpoint REST sono stati implementati come soluzione alternativa:
PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}
. Parametri del percorso:attributeCode
(String
) eisFilterable
(int
valori sono: 0 è No; 1 èFilterable (with results)
; 2 èFilterable (no results)
).GET /V1/products/attributes/{attributeCode}/is-filterable
. Parametri percorso:attributeCode
(String
).
Problemi risolti
Sono stati risolti centinaia di problemi nel codice core del Magento Open Source 2.4.7. Di seguito è descritto un sottoinsieme dei problemi risolti inclusi in questa versione.
Installazione, aggiornamento, distribuzione
- La modifica della cache non necessaria è stata rimossa dal processo di configurazione. In precedenza, il Magento Open Source scriveva la propria configurazione su disco inutilmente durante l'esecuzione di
bin/magento setup:db-data:upgrade
obin/magento setup:upgrade
, causando problemi con alcuni moduli durante l'installazione. GitHub-38124
- Sono stati risolti i problemi di distribuzione dovuti a memoria insufficiente e tabelle di grandi dimensioni. Il comando
bin/magento setup:upgrade
non ha più esito negativo a causa di errori di memoria superata correlati a tabelle MySQL di grandi dimensioni.
bin/magento setup:install
viene completato correttamente dopo l'eliminazione diapp/etc/config.php
. In precedenza, il file mancante non veniva rigenerato durante l’installazione e il Magento Open Source generava un errore. GitHub-37805
- Refactoring di
bin/magento setup:upgrade
eseguito correttamente durante l'installazione di un nuovo modulo che installa sia le tabelle che gli indicizzatorimview
associati. GitHub-37304
- Il ripristino del database non ha più esito negativo a causa di un errore del delimitatore. In precedenza, il Magento Open Source ha generato questo errore quando
bin/magento setup:rollback --db
veniva eseguito:Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
.
- Il comando
bin/magento setup:upgrade
non ha più esito negativo con questo tipo di errore relativo al limite di memoria MySQL:PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes)
. La migrazione di attributi a selezione multipla è stata ottimizzata per consumare meno memoria durantesetup:upgrade
.
- La generazione di un backup del database ora funziona come previsto sia dalla riga di comando Admin che da quella. In precedenza, il Magento Open Source ha generato questo errore:
Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
.
- L'esecuzione di
setup:config:set
senza specificare il parametro--lock-db-prefix
non cancella più il valore corrente dal fileenv.php
.
- La configurazione della vernice è stata aggiornata per impedire agli utenti guest di accedere ai contenuti memorizzati nella cache relativi ad altri gruppi di clienti.
bin/magento setup:upgrade
ora viene completato correttamente durante l'installazione di un nuovo modulo che installa sia le tabelle che gli indicizzatorimview
associati.
bin/magento setup:upgrade
visualizza ora un messaggio di errore più informativo quando un argomento della coda di messaggi non include un nome di argomento. GitHub-34246
bin/magento setup:upgrade
visualizza ora un messaggio di errore più informativo quando i file XML uniti non sono validi. Il messaggio di errore ora include il nome del file.
Interfaccia utente amministratore
- I grafici ora sono disabilitati correttamente per impostazione predefinita sul dashboard. GitHub-38430
- Il menu Vendite amministratore ora visualizza correttamente i sottomenu. In precedenza, l’interruzione di colonna non funzionava correttamente e alcuni sottomenu non venivano visualizzati. GitHub-37812
- Le opzioni del menu a discesa Select sono ora visibili in Admin Content > Pages quando nella griglia sono selezionate più pagine. GitHub-35386
- È stato corretto il percorso al valore predefinito di
system/dashboard/enable_charts
nelle impostazioni di configurazione. Ora i grafici vengono visualizzati nell’amministratore come previsto. GitHub-37668
- È stato corretto un problema di visualizzazione con le griglie dei clienti amministratori. In precedenza, le colonne della griglia non erano completamente contenute nella pagina visualizzata.
- I colori al passaggio del mouse vengono ora applicati come previsto sulle righe delle griglie statiche di amministrazione. GitHub-35358
- Il flusso di lavoro di pagamento non visualizza più un avviso quando un acquirente inserisce un codice postale per la Grecia che non contiene uno spazio vuoto. GitHub-36676
- Il collegamento Amministratore
It's time to change your password
ora viene reindirizzato alla pagina Modifica password amministratore come previsto. GitHub-37902
- I suffissi del titolo della pagina sono ora inclusi sia nel tag
title
che nel tagmeta title
per le pagine dei prodotti. GitHub-37680
- La condizione di stato delle scorte di prodotto viene ora applicata correttamente per le regole dei prodotti correlati.
- Il pulsante Login as Customer è ora visualizzato correttamente sui dispositivi mobili.
- Adobe Commerce non visualizza più il pulsante Amministratore Add new customer group se l'utente amministratore connesso non è autorizzato ad aggiungere un nuovo gruppo di clienti.
- Ora un utente amministratore con autorizzazioni limitate può salvare un prodotto secondario il cui prodotto principale è assegnato a un ambito diverso. In precedenza, Commerce invalidava la cache per un prodotto principale non assegnato all’ambito in cui il prodotto secondario veniva modificato.
- Gli utenti Admin ora possono passare correttamente da una visualizzazione all’altra senza che i dati di visualizzazione vengano danneggiati o persi. GitHub-37529
Prodotti bundle
- La query
customerCart
ora restituisce tutti gli sconti applicati sui prodotti bundle come previsto. In precedenza, gli sconti totali applicati a un prodotto bundle venivano restituiti come zero.
- Le pagine dei dettagli del prodotto ora visualizzano il prezzo corretto per i prodotti bundle a cui è stato applicato uno sconto del 100%. In precedenza, il Magento Open Source non applicava uno sconto del 100% ai prezzi dei prodotti aggregati.
- Le regole di prezzo del carrello ora vengono applicate ai bundle di prodotto invece che a ciascun prodotto secondario per i prodotti in bundle a prezzo dinamico.
- È stato corretto un errore che si verificava quando si utilizzava l'endpoint
POST V1/shipment
per creare una spedizione contenente un prodotto bundle. L'endpoint ora aggiunge gli elementi come previsto e non restituisce più questo errore:The shipment couldn't be saved
.
- È ora possibile utilizzare il ciclo di lavorazione API
GET V1/shipment/
per creare una spedizione con un prodotto bundle quando per il prodotto è impostato il tipo di spedizione together. Anche i prodotti bundle vengono ora convalidati in base alla proprietà del tipo di spedizione.
- Gli acquirenti possono ora modificare la quantità di un prodotto nel carrello. In precedenza, Adobe Commerce non gestiva valori Null per
ItemId
quando i prodotti venivano modificati nel carrello acquisti vetrina e veniva visualizzato un errore. GitHub-37696
- I prodotti bundle possono ora essere aggiunti correttamente a un ordine amministratore utilizzando SKU che contengono una barra (
/
). In precedenza, gli utenti amministratori non potevano utilizzare questo metodo per aggiungere prodotti a un ordine amministratore e Magento Open Source generava un errore JavaScript.
- Gli utenti amministratori possono ora impostare valori predefiniti decimali per le nuove opzioni del bundle aggiunte quando Qty Uses Decimal è abilitato per il prodotto semplice corrispondente. In precedenza, i valori decimali potevano essere impostati solo per le selezioni salvate.
- Prestazioni ottimizzate per il salvataggio di prodotti bundle con un numero elevato di opzioni
- I prodotti bundle ora vengono importati correttamente senza duplicare le SKU nelle opzioni del prodotto. In precedenza, il Magento Open Source creava più SKU duplicate nelle opzioni del prodotto quando importava i prodotti in bundle con voci duplicate.
- Il prezzo del prodotto del bundle ora viene calcolato correttamente quando uno dei prodotti nel bundle è esaurito. In precedenza, se un prodotto che faceva parte del bundle era esaurito, veniva rimosso dal calcolo del prezzo.
- I prodotti in bundle vengono ora visualizzati come esauriti al momento dell’acquisto dell’ultimo dei prodotti secondari richiesti. In precedenza, i prodotti in bundle venivano visualizzati come in magazzino sul negozio quando i loro prodotti semplici erano esauriti.
- Sono stati risolti i problemi di prestazioni relativi all'aggiunta di prodotti bundle con opzioni non obbligatorie al carrello utilizzando la mutazione
addBundleProductsToCart
.
- La query
categoryList
ora restituisce tutte le opzioni del bundle come previsto quando l'impostazione di configurazione Show out-of-stock products è abilitata. In precedenza, le opzioni esaurite non venivano incluse nella risposta alla query.
- I prodotti del bundle creati con
POST V1/products
ora hanno esito positivo quando l'ambito del prezzo del catalogo è impostato suwebsite
. In precedenza, si verificava una violazione del vincolo di integrità. GitHub-35595
Cache
- Le categorie sono ora visibili agli acquirenti nei negozi in cui la cache è impostata su Fastly CDN (Caching Application=Fastly CDN). Ciò ha interessato sia gli acquirenti ospiti che i clienti registrati.
- Dopo l’accesso, i cookie della cache sono ora gli stessi dopo la navigazione nel sito web. In precedenza, il controller di accesso inviava il cookie di cache errato e le pagine potevano essere state memorizzate nella cache più volte.
- Le risposte dalle operazioni di GraphQL GET sulle pagine CMS che contengono blocchi CMS ora vengono cancellate come previsto nella cache Fastly. I successivi aggiornamenti della pianificazione ora mostrano contenuti accurati e aggiornati per queste pagine.
- Pagina cache viene ora cancellata come previsto per un prodotto padre quando uno dei suoi prodotti figlio è stato salvato dall'amministratore. È stato introdotto un controllo plugin per raggiungere l'invalidazione della cache per varianti configurabili, simili ad altri tipi di prodotto, indipendentemente dallo stato dell'indicizzatore (pianificato o in tempo reale). In precedenza, i prezzi non venivano aggiornati correttamente nello storefront dopo l'aggiornamento di una variante configurabile da parte dell'amministratore.
- È stato aggiunto un meccanismo caching per le credenziali AWS. Un provider di credenziali ora utilizza la cache Commerce per memorizzare nella cache le credenziali recuperate da AWS per la configurazione EC2.
- Il plugin il cui scopo è quello di aggiungere la cache configurabile tag quando viene salvato un prodotto semplice associato a un prodotto configurabile ora funziona come previsto. Tutti i tag di cache configurabili rilevanti vengono rimossi come previsto quando un prodotto semplice viene aggiornato da
POST V1/products
. In precedenza, non tutti i prezzi venivano aggiornati nella vetrina e le cache dovevano essere cancellate manualmente. GitHub-36726
Carrello e pagamento
- Magento Open Source ora ottimizza le prestazioni non caricando i dati dei preventivi specifici dell’utente durante la generazione di pagine memorizzabili nella cache a pagina intera, come le pagine dei dettagli del prodotto (PDP) e le pagine CMS, quando il carrello permanente è abilitato. In precedenza, il sistema caricava inutilmente i dati di preventivo e di sessione specifici dell’utente durante la generazione di queste pagine, il che influenzava le prestazioni.
- Gli attributi personalizzati degli indirizzi personalizzati vengono ora salvati come previsto nel database. In precedenza, i valori degli attributi salvati nel database venivano preceduti dal codice degli attributi.
- La generazione del testo del filtro delle regole del carrello per gli attributi del prodotto è stata migliorata. I singoli prodotti non vengono più caricati più volte.
- Ora Magento Open Source visualizza un messaggio di errore informativo quando si verifica un errore durante l’estrazione e non restituisce più l’acquirente a una fase di estrazione precedente. In precedenza, il cliente veniva reindirizzato alla pagina di spedizione.
- La query
cart
non restituisce più il metodo di spedizione e l'indirizzo per i carrelli virtuali. In precedenza, quando un carrello conteneva sia prodotti fisici che virtuali e tutti i prodotti fisici venivano rimossi, la risposta alla query del carrello continuava a includere le informazioni sulla spedizione.
- Magento Open Source ora visualizza messaggi informativi quando viene attivata un’azione di aggiunta al carrello. In precedenza,
The requested qty is not available
non veniva sempre visualizzato nella vetrina in base alle esigenze.
- I tempi di caricamento delle pagine di pagamento sono stati migliorati per i clienti con rubriche di grandi dimensioni. Magento Open Source ora elabora solo il numero di indirizzi dei clienti specificato nell'impostazione Customer Addresses Limit . In precedenza, Magento Open Source caricava l'intera rubrica.
- Le quantità del prodotto possono ora essere modificate nel carrello come previsto per gli articoli disponibili quando un articolo è esaurito. In precedenza, gli acquirenti non potevano modificare il quantità del prodotto di alcun articolo quando uno era esaurito.
- Il
AdvancedSalesRule
filtro degli attributi prodotto ora funziona correttamente con il tipo di back-end dell'attributo decimale. Di conseguenza, le regole del carrello conCoupon Type
impostato su No Coupon ora funzionano come previsto.
- L’intero importo di uno sconto sul carrello ora viene applicato come previsto ai carrelli che contengono sia bundle che prodotti configurabili.
- I cookie della sezione clienti ora rispettano l'impostazione del dominio del cookie. In precedenza, il mini carrello non veniva aggiornato come previsto nei negozi che contenevano sottodomini lineare se la sessione era condivisa.
- La spedizione di un ordine a più indirizzi non attiva più un errore durante l'elaborazione dell area geografica ID.
- Gli importi a sconto fisso applicati a livello di carrello ora sono corretti.GitHub-37496
- I coupon vengono ora applicati correttamente a un ordine quando un acquirente applica il coupon dopo aver selezionato il metodo di spedizione forfettario in cui si applica un prezzo del carrello regola con il metodo di spedizione impostato come condizione. In precedenza, nella pagina del carrello veniva visualizzato l'errore Coupon non valido e il coupon non veniva applicato. GitHub-34866
- I coupon vengono ora applicati correttamente a un ordine quando un acquirente applica il coupon dopo aver selezionato il metodo di spedizione a tariffa fissa in cui si applica una regola di prezzo del carrello con il metodo di spedizione impostato come condizione. In precedenza, nella pagina del carrello veniva visualizzato l’errore Coupon is Not valid (Il coupon non è valido) e il coupon non veniva applicato. GitHub-34866
- La casella di controllo My billing and shipping address are the same ora rimane selezionata per impostazione predefinita quando un acquirente utilizza il completamento automatico di Chrome per compilare l'indirizzo di spedizione e quindi fa clic su Avanti prima che il blocco dei metodi di spedizione venga ricaricato. GitHub-33725
- Il valore
applied_rule_ids
nella tabellaquote_item
ora include un elenco corretto degli ID di regola applicati. In precedenza, questo valore conteneva solo l’ultimo ID regola applicato.
- Il minicarrello e i dati dei clienti nell'archiviazione locale vengono ora reimpostati quando una sessione viene rimossa dal server. In precedenza, questi dati venivano visualizzati ancora quando il file di sessione veniva rimosso.
- I carrelli discreti non vengono più uniti erroneamente dall'amministratore quando il carrello permanente è abilitato.
- Lo strumento di stima delle imposte sul carrello e della spedizione ora riflette accuratamente la configurazione di destinazione predefinita. In precedenza, quando si configuravano le impostazioni di calcolo della destinazione imposta predefinita e si specificavano Stato/Area geografica e ZIP, nel carrello in Estimate Tax and Shipping veniva visualizzato solo il valore ZIP. Il risultato è stato l’impostazione da parte del Magento Open Source dell’ID di regione su non definito prima di richiamare l’istruzione condizionale che imposta l’ID di regione predefinito dall’amministratore.
- Il Magento Open Source non genera più questo errore durante l'estrazione quando il carrello acquisti permanente è abilitato:
Invalid state change requested
. In precedenza, quando veniva generato questo errore, venivano occasionalmente creati più ordini con lo stessoquote_id
.
- Il mini carrello ora visualizza i prezzi dei prodotti del bundle che riflettono le impostazioni di configurazione dell’imposta del carrello. In precedenza, il mini carrello includeva sempre le imposte nei prezzi dei prodotti bundle.
- La stima della spedizione fornita dalla pagina del carrello è ora accurata.
collectShippingRates
è ora impostato una sola volta. In precedenza, la stima della spedizione veniva duplicata. GitHub-36648
- La
cart
query non restituisce più un errore quando un prodotto nel carrello specificato è esaurito. In precedenza, gli acquirenti che utilizzavano questa query per effettuare un acquisto non potevano completare l'acquisto quando un articolo era esaurito e la pagina di pagamento era vuota.
- Le richieste API guest a
POST V1/guest-carts/<cartId>/shipping-information
non restituiscono più lo statocancel
se la pagina viene ricaricata durante l'accesso in un ambiente mobile. In precedenza, il Magento Open Source ha generato un errore 500 e ha registrato questa eccezione:TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given
.
- L'idoneità alla spedizione gratuita ora viene calcolata come previsto quando viene applicata la condizione Subtotal (Excl. Tax) per le regole del carrello. GitHub-36760
- La query
cart
ora restituisce il prezzo di livello corretto per un prodotto. GitHub-29655
- Sono stati aggiunti messaggi di errore informativi alla pagina di pagamento per indicare agli acquirenti quando l’applicazione di un coupon sulla pagina di spedizione è in conflitto con il metodo di spedizione selezionato. In precedenza, un messaggio indicava agli acquirenti di tornare alla pagina precedente.
- Il popup di autenticazione viene ora inizializzato solo quando è necessario anziché ogni volta che è abilitato il checkout ospite. Ora viene inizializzato quando il acquirente ospite tenta di procedere al checkout e il checkout guest è disabilitato. GitHub-30672
Regola prezzo carrello
- La condizione di sottoselezione del prodotto della regola del prezzo del carrello ora include l'opzione
total (incl.tax)
come previsto. GitHub-34871
- Il
If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true
prezzo regola condizione del catalogo ora funziona correttamente con gli attributi categoria e referenza di magazzino. In precedenza, questa condizione non veniva applicata correttamente nella logica dei coupon di prezzo del carrello e agli ordini venivano applicati coupon non validi. GitHub-37660
- Ora puoi salvare correttamente un nuovo prezzo del carrello regola con l'estensione
Magento_OfflineShipping
disabilitata. In precedenza, Magento Open Source lanciato questo errore:report.ERROR: Warning: Undefined array key "simple_free_shipping"
. GitHub-37580
- Le regole del prezzo del carrello vengono ora applicate come previsto quando un regola del prezzo del carrello relativo a un metodo di spedizione è configurato per il store e questo metodo di spedizione viene modificato in un altro durante il checkout. In precedenza, il valore
applied_rule_ids
non veniva mai modificato nella tabellasales_order_item
e la regola del prezzo del carrello non veniva applicata all'ordine.
- I coupon vengono ora applicati correttamente a un ordine quando un acquirente applica il coupon dopo aver selezionato il metodo di spedizione a tariffa fissa in cui si applica una regola di prezzo del carrello con il metodo di spedizione impostato come condizione. In precedenza, nella pagina del carrello veniva visualizzato l'errore
Coupon is Not valid
e il coupon non veniva applicato. GitHub-34866
Catalogo
- L'esecuzione di
bin/magento cache:clean
obin/magento cache:flush
non esegue più lo scaricamento dell'intera cache incorporata o di vernice a pagina intera se non specificato. GitHub-38301
- I commercianti possono ora utilizzare il carosello prodotti per creare blocchi CMS quando
catalog_product_price dimensions-mode
è impostato suwebsite
. In precedenza, il Magento Open Source non aveva salvato il blocco e aveva generato questo errore SLQ:report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table
.
- Nel Magento Open Source non vengono più visualizzate immagini duplicate quando si modifica il colore del prodotto in una pagina dei dettagli del prodotto. GitHub-36243
- È stato ottimizzato l’algoritmo per sincronizzare i valori specifici del sito web dopo l’aggiunta di un nuovo archivio o la modifica di uno esistente in ambienti multi-store di grandi dimensioni.
- Il processo di pulizia dei file immagine memorizzati nella cache è stato migliorato per evitare la creazione di directory nascoste nella cartella
pub/media/catalog/product
. In precedenza, le directory nascoste causavano problemi di spazio su disco durante le operazioni di pulizia. L’operazione poteva essere terminata, lasciando dietro di sé directory nascoste temporanee che non venivano mai eliminate.
- I prezzi dei prodotti del bundle ora vengono calcolati correttamente e sono stati risolti un problema con l’ordine delle operazioni durante il calcolo dei prezzi. GitHub-35665
- Una clausola non necessaria è stata rimossa dalle query di indice
catalog_product_price
, migliorando le prestazioni dell'indicizzatore sugli archivi con cataloghi di grandi dimensioni. GitHub-32382
- Il Magento Open Source non inserisce più il testo della descrizione del prodotto nel campo della pagina dei dettagli del prodotto Meta Description quando questo campo è stato lasciato vuoto. In precedenza, quando una descrizione del prodotto conteneva codice HTML generato da Page Builder o da un altro editor HTML, il HTML veniva visualizzato nel campo Meta Description e non era possibile lasciare vuoto questo campo.
- Le opzioni di prodotto configurabili nelle pagine PDP del prodotto configurabili non sono più influenzate dalle altre opzioni di prodotto configurabili nella pagina. In precedenza, i prodotti configurabili con attributi a discesa non attivavano più un’eccezione quando era presente un carosello di prodotto nella pagina dei dettagli del prodotto. Le opzioni di prodotto configurabili non erano selezionabili quando nella pagina erano presenti altri prodotti configurabili con opzioni di campioni.
- Le informazioni sui prodotti visualizzate di recente vengono ora visualizzate in conformità con store configurazione di visualizzazione. In precedenza, i dati dei prodotti visualizzati di recente non venivano aggiornati per la visualizzazione dello store, inclusi nome e lingua preferita.
- I video Vimeo ora vengono riprodotti come previsto sulle pagine dei prodotti nella visualizzazione per dispositivi mobili nei browser web basati su Chromium.
- Il comando
bin/magento catalog:images:resize
genera correttamente le immagini dei prodotti assegnati a un sito Web personalizzato con un tema personalizzato.
- I metadati con valori
NULL
oNOT NULL
vengono ora salvati per l'archivio predefinito in base alla casella di controllo Usa valore predefinito come previsto. In precedenza, i metadati con valoreNULL
non venivano salvati quando questa casella di controllo era deselezionata.
- Ora i commercianti possono eliminare correttamente un’immagine esistente dalla pagina dei dettagli del prodotto e caricare una nuova immagine con lo stesso nome. In precedenza, in queste circostanze, la pagina del prodotto della vetrina non mostrava l'immagine corretta.
- La query
productDetail
ora restituisce il nome del prodotto anziché null quando l'attributo dell'immagine del prodottoalt
è impostato come vuoto.
- Gli ordini che includono prodotti sia scaricabili che fisici ora includono collegamenti di lavoro al prodotto scaricabile non appena l'ordine è stato completato. In precedenza, i collegamenti ai prodotti scaricabili non erano disponibili fino alla spedizione dei prodotti fisici nello stesso ordine.
- Le riscritture URL vengono ora aggiornate quando una categoria viene spostata da un archivio/categoria principale a un altro archivio/categoria principale. Le voci obsolete del database vengono ora rimosse quando le sottocategorie vengono trasferite a nuove categorie principali. Il database ora include solo le voci pertinenti. In precedenza,
url_path
non veniva aggiornato con l'ID archivio corretto.
- L'endpoint REST
V1/products/<sku>/media
può ora elaborare il caricamento simultaneo di più immagini multimediali. In precedenza, durante l’elaborazione di diverse richieste simultaneamente, venivano creati dati incoerenti e il Magento Open Source generava un errore quando questi dati venivano salvati nel database.
- Sono state migliorate le prestazioni di reindicizzazione parziale per gli indici Categoria prodotti e Categoria prodotti. In precedenza, il processo cron
indexer_update_all_views
eseguiva i reindicizzatori più volte per singolo prodotto o categoria.
- Quando lo stato del magazzino del prodotto viene aggiornato automaticamente a esaurito in base alla configurazione del magazzino (quantità), lo stato del magazzino viene successivamente aggiornato a esaurito quando la quantità del magazzino viene aggiornata. In precedenza, l'impostazione
stock_status_changed_auto
veniva ignorata quando la configurazione stock di un prodotto veniva aggiornata a stock.
- L'ordinamento della barra degli strumenti ora funziona come previsto nelle pagine di ricerca quando l'impostazione Remember Category Pagination è abilitata. GitHub-33220
- Gli attributi a selezione multipla vengono ora salvati come previsto quando viene selezionata la casella di controllo Use Default Value nell'ambito della visualizzazione archivio. In precedenza, questa casella di controllo veniva deselezionata quando il prodotto veniva modificato e il valore predefinito veniva salvato.
- Gli utenti amministratori con accesso limitato al sito web possono ora aggiungere immagini a un prodotto che rientra nel loro ambito di applicazione. Se l’utente amministratore non dispone dei diritti di accesso al prodotto, Magento Open Source visualizza un messaggio informativo. In precedenza, gli utenti amministratori con accesso limitato al sito web non potevano aggiungere immagini ai prodotti a cui avevano accesso.
- Dopo aver ordinato i prodotti in base al nome in Admin > Category > Products in category nelle distribuzioni multistore, il nome corretto viene ora visualizzato in Magento Open Source in cui i nomi dei prodotti variano a seconda dell'archivio. GitHub-36208
- La mutazione
addProductsToCart
ora restituisce opzioni personalizzabili con dati. In precedenza, restituiva solo opzioni personalizzabili vuote. GitHub-37599
- Lo stato del prodotto ordinato in inevaso viene ora visualizzato correttamente nella vetrina. In precedenza, i prodotti disponibili per la spedizione venivano erroneamente identificati come prodotti in inevaso.
- I prodotti esportati ora hanno il valore
manage_stock
corretto quando il valoreuse_config_manage_stock
è uguale a1
. In precedenza, questo valore predefinito era errato.
- L’accesso ai prodotti scaricabili dall’amministratore non genera più un errore quando l’utente amministratore cambia la vista dello store da quella utilizzata durante la creazione del prodotto a un’altra vista dello store. I prezzi dei prodotti ora vengono convertiti correttamente in mobili quando un utente amministratore passa dalla visualizzazione store a quella predefinita per tutte le visualizzazioni store. In precedenza, il Magento Open Source aveva generato un errore. GitHub-37519
- Il Magento Open Source non visualizza più un messaggio di avviso quando si salva un prodotto creato con opzioni personalizzate dopo l'eliminazione dell'immagine.
- Le immagini delle miniature dei prodotti vengono ora visualizzate come previsto nell’e-mail di avviso sulle scorte di prodotto inviata quando un prodotto è di nuovo disponibile. In precedenza, questa immagine non veniva visualizzata nell’e-mail di avviso
- Il conteggio dei prodotti nella struttura delle categorie (Amministratore Catalog > Category) è ora accurato. In precedenza, non era possibile recuperare il conteggio dei prodotti della categoria dalla tabella
catalog_category_product_index
. È stato corretto l’errore di battitura che ha attivato questo bug. GitHub-35417
- L'immagine principale del prodotto nella pagina dei dettagli del prodotto non si sposta più in modo visibile verso il basso durante il caricamento della pagina quando
product_image_white_borders
nel temaview.xml
è disabilitato. In precedenza, l’immagine del prodotto veniva spostata visibilmente verso il basso durante il caricamento della pagina a causa di impostazioni di altezza non corrette in Fotorama JS.
- Ora i clienti vengono avvisati del calo del prezzo del prodotto quando si sottoscrivono avvisi di calo del prezzo. In precedenza, le notifiche di calo dei prezzi non venivano sempre inviate a causa del caching a livello di applicazione.
- È stata aggiunta la convalida lato server al processo di creazione degli attributi del prodotto tramite l’API web. Impossibile abilitare il campo Use in Layered Navigation Catalog se il valore del campo Catalog Input Type for Store Owner è
Text Field
,Text Area
,Text Editor
,Date
oDate and Time
. In precedenza, i prodotti venivano omessi dalle categorie e dai risultati di ricerca.
- La pagina della categoria ora viene ricaricata con l’impaginazione corretta dopo che un acquirente apre la pagina, modifica l’impaginazione, passa a una pagina di prodotto e quindi ritorna alla pagina della categoria. GitHub-36563
- I prodotti semplici esauriti che sono opzioni per un prodotto configurabile ora vengono visualizzati come disabilitati nella vetrina quando Display Out of Stock Products è impostato su Sì. In precedenza, tutte le opzioni venivano visualizzate come disponibili, nonostante il loro stato e la loro disponibilità reale.
- L'aggiornamento dell'attributo dell'ambito del sito Web in una visualizzazione archivio specifica non esclude più il valore di tale attributo nell'ambito globale. In precedenza, l'importazione dei prezzi dei prodotti quando erano disponibili più righe con la stessa referenza di magazzino generava
store_view_code
prezzi imprecisi per gli ambiti di visualizzazione predefiniti e Tutti gli Store.
- I commercianti possono ora aggiungere un'immagine GIF alla galleria di immagini di un prodotto dall'amministratore. In precedenza, Magento Open Source visualizzato questo errore:
imagecolorsforindex(): Argument #2 ($color) is out of range
.
- Sono stati aggiunti controlli per gestire gli errori derivanti da chiavi di matrice non definite. In precedenza, si verificava un errore durante la generazione della whitelist dello schema dichiarativo.
- Magento Open Source ora restituisce un risultato valido per la data
01/01/1970
personalizzata. In precedenza, l'attributo personalizzato restituiva questo errore:Invalid input datetime format of value '1/01/1970
. GitHub-37274
routes
query che utilizzano frammenti ora restituiscono informazioni sulla categoria come previsto. In precedenza, si verificava un errore interno del server nella pagina della categoria. GitHub-35906
- Sono stati risolti i problemi relativi al processo di reindicizzazione parziale di
cataloginventory_stock
e le prestazioni dell'indicizzatore sono migliorate. In precedenza, le categorie di prodotti e scorte non venivano aggiornate con precisione.
- Il Magento Open Source ora genera un reindirizzamento 301 per un prodotto quando la categoria a cui appartiene è stata spostata in un nuovo elemento padre. GitHub-37039
Regole del catalogo
- Le regole del catalogo ora sono indicizzate correttamente se abilitate tramite aggiornamento della pianificazione. Di conseguenza, i prezzi scontati sono ora correttamente generati e indicizzati. In precedenza, quando erano disponibili due regole di catalogo e una regola veniva attivata dopo che la prima regola prima del completamento dell’operazione di indicizzazione della regola di catalogo della prima regola, i prezzi degli sconti della regola di catalogo non venivano generati per la seconda regola di catalogo.
- Le regole del catalogo vengono ora applicate come previsto in un ambiente multisito.
Prodotti configurabili
- I commercianti possono ora selezionare Skip quantity at this time e Skip image uploading at this durante la configurazione di un prodotto configurabile senza influire sull'origine dei prodotti semplici associati. In precedenza, la selezione di Skip quantity at this time causava la scomparsa delle origini prodotto.
- L'etichetta As low as non viene più visualizzata per un prezzo di prodotto configurabile quando tutte le opzioni hanno lo stesso prezzo.
- Gli utenti amministratori con autorizzazioni per i siti web ora possono salvare un prodotto secondario che fa parte di un prodotto configurabile in un contesto di archivio diverso. I processi di reindicizzazione ora ignorano questo tipo di prodotto configurabile.
- I prodotti configurabili con due prodotti secondari non vengono più contrassegnati come esauriti quando un prodotto secondario viene disabilitato da un aggiornamento pianificato. Questo era un problema noto per la versione 2.4.7-beta1.
- Sono state migliorate le prestazioni delle operazioni di salvataggio per i prodotti configurabili con più opzioni. In precedenza, i timeout potevano verificarsi durante le operazioni di salvataggio del prodotto. GitHub-36928
- La vetrina dei prezzi dei prodotti configurabili ora cambia come previsto quando un acquirente seleziona un'opzione di prodotto. GitHub-37378
Coupon
- I codici coupon con un numero limitato di utilizzi per cliente possono ora essere utilizzati una seconda volta quando l'ordine per il quale è stato utilizzato in precedenza fallisce. In precedenza, il codice promozionale non veniva rilasciato quando l’ordine precedente veniva annullato.
- I codici coupon che contengono caratteri di spazio non vengono più invalidati. In precedenza, se un codice coupon conteneva un carattere spazio (prima o dopo il codice effettivo), la convalida non riusciva. GitHub-38048
- Il valore del coupon monouso di un acquirente viene ora ripristinato come previsto quando l’ordine a cui era applicato viene annullato.
- L'endpoint
GET V1/coupons/<couponId>
ora restituisce la risposta completa prevista per i coupon creati manualmente, come per i coupon generati automaticamente. In precedenza, alcuni campi venivano omessi (ad esempio,usage_limit
,usage_per_customer
ecreated_at
).
cron
- Il
aggregate_sales_report_bestsellers_data
cron job non crea più tabelle MySQL temporanee molto grandi e ora viene completato con successo. Questo cron job ora inserisce i dati per store, non per tutti i negozi contemporaneamente. In precedenza, questo cron job poteva causareNo space left on device
errori.
- Il numero di record in sospeso nella tabella
cron_schedule
è stato ridotto impedendo ai processi cron di tentare di acquisire blocchi di processi cron non necessari. In precedenza, i cron job tentavano di acquisire i blocchi quando era troppo tardi per eseguire il lavoro. I processi Cron incron_schedule
non sono stati contrassegnati come mancanti anche se avevano già superato l'orario pianificato. Il Magento Open Source ha inoltre ripetutamente visualizzato questo errore nel registro errori:report.WARNING: Could not acquire lock for cron job: indexer_update_all_views
.
- È stato corretto l’errore irreversibile di divisione per zero nelle espressioni cron. GitHub-37804
- Il processo cron
sales_clean_quotes
è stato ottimizzato per essere eseguito più rapidamente aggiungendo un indice composito sustore_id
eupdated_at columns
nella tabella delle virgolette. Questa modifica migliora le prestazioni del processo cron quando si elaborano molti preventivi.
- Gli utenti amministratori possono ora visualizzare l'attività attualmente in esecuzione nel processo
bin/magento cron:run
. Il titolo del processo attualmente in esecuzione elenca i nomi dei gruppi e dei processi. GitHub-34321
Cliente
- Magento Open Source ora visualizza i Date of Birth campi , Tax/VAT Number, Gender, Telephone, Company e Fax nella pagina Modifica cliente in base alle impostazioni di configurazione. GitHub-36196
- Le e-mail che contengono segni diacritici o accenti (ovvero, e-mail utf8) sono ora supportate per i clienti e le aziende, nonché per il posizionamento di ordini da parte di ospiti e clienti registrati. In precedenza, il Magento Open Source non aveva salvato i record cliente contenenti segni diacritici e aveva visualizzato questo errore:
Something went wrong while saving the customer
.
- I nomi dei mittenti delle e-mail non possono più contenere due punti. Una nuova regola di convalida ora impedisce il salvataggio dei nomi dei mittenti che contengono i due punti della sezione Indirizzi e-mail per l'archivio dell'amministratore Stores > General. In precedenza, i commercianti potevano salvare un nome del mittente contenente un carattere due punti, che causava errori del server di posta.
- Gli indirizzi e-mail dei clienti possono ora includere segni diacritici. In precedenza, il front-end convalida vietato la creazione di un utente con segni diacritici nel loro indirizzo e-mail. GitHub-12075
- Le e-mail di avviso relative a titoli e prezzi ora vengono tradotte in base alla lingua configurata per la visualizzazione predefinita del sito web store. In precedenza, queste e-mail non venivano tradotte.
POST V1/order/notify-orders-are-ready-for-pickup
invia ora un'e-mail di avviso ai clienti che un ordine è pronto per essere ritirato solo quando l'ordine è pronto. L’e-mail ora viene attivata solo quando la richiesta è stata soddisfatta senza un’eccezione.
Framework
- È stato migliorato il debug aggiungendo il valore
UNCACHEABLE
quando si esegue l'output di un'intestazione HTTP con vernice. In precedenza, venivano emessi soloHIT
valori ORMISS
. GitHub-37912
- È stato aggiunto del codice per supportare la gestione predefinita della compressione della vernice. GitHub-38309
- Il comando
varnish:vcl:generate
ora includeinput-file argument
. Questo supporta l’aggiunta di un VCL personalizzato a un archivio Git, relativo alla directory principale di Commerce. GitHub-37363
- Il supporto per la vernice 4.x e 5.x è stato rimosso dalla base di codice. GitHub-38304
phpcodesniffer-composer-installer
incomposer.json
è stato aggiornato alla versione 1.0.0. GitHub-36913
- I caratteri non conformi ai RFC3986 sono stati rimossi dal codebase. GitHub-38355
- È stato corretto un tag di documento PHP non corretto nella
Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid
classe. GitHub-38186
- Refactoring del codice in tutta la base di codice creata durante l'esercitazione di codifica, in base al quale qualsiasi sezione della cache inclusa nel file
app/etc/env.php
includerebbe una sezione front-end. Questo refactoring risolve potenziali problemi durante l’aggiornamento delle distribuzioni di Magento Open Source precedenti alla versione 2.4.4. GitHub-38363
- È stato chiarito il messaggio di errore associato a
StockItemValidator.php
quando durante una chiamata API viene fornito un ID stock con valore 0. GitHub-31107
- Aggiunta di una matrice vuota predefinita a
$tagGenerators
inCompositeTagGenerator
per evitare errori durante la compilazione dell'iniezione di dipendenze. In precedenza, l'esecuzione del comandobin/magento setup:upgrade
quando i moduliMagento_DirectoryGraphQl
eMagento_StoreGraphQl
erano disabilitati generava un errore. GitHub-38165
- La classe
AlgorithmProviderFactory
inutilizzata è stata rimossa e le dipendenze da questa classe sono state rimosse in classi qualiJweAlgorithmManagerFactory.php
,JweContentAlgorithmManagerFactory.php
eJwsAlgorithmManagerFactory
. GitHub-37783
- Il file
var/log/system.log
non contiene piùmain.INFO
messaggi di errore. Il registro delle voci di menu è stato spostato dal livello INFO a DEBUG. In precedenza, il filevar/log/system.log
era pieno di messaggi come questo:Add of item with id Magento_Theme::design_config was processed …
.
- Il precaricamento Redis non ha più esito negativo quando
exec()
restituisce false. È stata aggiunta la verifica al processo di precaricamento per impedire aarray_combine
di riceverefalse
come secondo argomento. Di conseguenza, il precaricamento continuerà a essere eseguito quandoexec()
restituiràfalse
. GitHub-37509
- È stato eseguito il refactoring del modulo
Magento_CatalogWidget
per sostituire$block
funzioni di escape con$escaper
funzioni di escape. GitHub-37107
Swaziland
è stato aggiornato aEswatini
in tutta la base di codice. GitHub-37873
- È stata aggiunta la nuova valuta nicaraguense (NIO) all'elenco delle valute disponibili.
- È stato corretto un nome di variabile in
CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
. GitHub-38093
- Sono stati risolti gli errori di arrotondamento dei subtotali che si verificavano nelle transazioni per i prodotti per i quali è stata abilitata la quantità decimale. GitHub-37817
- Il filtro data per la griglia clienti Admin ora funziona come previsto in base alle impostazioni internazionali specificate.
- Il comando
bin/magento setup:upgrade
non ha più esito negativo a causa del tipo di dati della variabile$schemaPatch
. In precedenza, il valore stringa veniva passato alla funzioneget_class
, che causava l'errore. GitHub-37545
- La connessione al database MySQL viene ripristinata se si verifica un timeout della connessione durante una transazione quando si imposta
max_messages = 0
per il consumer. In precedenza, la connessione veniva interrotta.
- Il modulo di base
magento/module-release-notification
è stato contrassegnato come obsoleto nel codice di sviluppo 2.4 con questo commento:Starting from Magento 2.4.7, Magento_ReleaseNotification module is deprecated in favor of another in-product messaging mechanism
.
- La generazione del codice proxy ora genera i file Proxy e Factory come previsto per le distribuzioni in esecuzione in modalità di produzione. GitHub-35252
- Lo stato indiano del Ladakh è ora elencato come opzione nei menu a discesa Indirizzo amministratore State. GitHub-33698
- Il ticker del conto alla rovescia dell’evento viene ora visualizzato come previsto nella pagina della categoria.
- Il tag
@author
non consentito è stato rimosso dalla base di codice, inclusi i seguenti moduli:Magento_user-variable-wee
,Magento_Catalog
eMagento_Customer
,Magento_Wishlist
,Magento_Review
Tax
e in tutto il framework. GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
- Il serializzatore JSON nel modulo
User
è stato sostituito con un nuovo serializzatore più preciso (JsonHexTag
). In precedenza, il Magento Open Source a volte si bloccava quando si tentava di utilizzare dati serializzati dal serializzatore regolare quando conteneva elementi senza escape. GitHub-31377
- Gli errori di pipeline interrotta non si verificano più durante l'esecuzione di una reindicizzazione completa (
bin/magento indexer:reindex
). Le connessioni AMPQ ora vengono chiuse prima che i processi di gestione dei processi vengano fork.
- La convalida dei messaggi della coda ora convalida il sottotipo di tutti gli elementi dell’array. In precedenza, il Magento Open Source aveva generato un'eccezione.
- La configurazione della connessione di coda per argomento in
app/etc/env.php
ora funziona correttamente. In precedenza, la coda di avvisi prodotti non veniva generata correttamente quando veniva creata una nuova coda di messaggi con uno scambio personalizzato. Se la connessione in coda per un argomento è stata configurata inapp/etc/env.php
con uno scambio personalizzato, è stata creata una nuova associazione per tutti gli argomenti con tale scambio personalizzato. Gli esercenti non potevano elaborare gli avvisi sui prodotti.
- I formati temporali contrassegnati con un commento
/* mariadb-5.3 */
non causano più errori durantebin/magento setup:install
durante l'aggiornamento del server MariaDB alla versione 10.5.1 o successiva.
- Il driver AwsS3 ora funziona come previsto, sostituendo l'implementazione predefinita di base per l'archiviazione dei file. In precedenza, i dati potevano essere danneggiati quando questo driver era configurato per l'archiviazione dei file. GitHub-37844
- I comandi
bin/magento config:show
eset
che utilizzano variabili$_ENV
ora supportano l'utilizzo di codici di sito Web e store contenenti caratteri maiuscoli o maiuscoli.
- Sono state aggiunte classi con
!important
utilizzate in Tailwind 3 per il supporto del layout CSS. GitHub-37568
- È stata aggiunta una dipendenza
jQuery
mancante al filetrim-input.js
. GitHub-37683
- I dettagli specifici dell'evento vengono ora passati come secondo attributo (
context
) del metodolog
. GitHub-37879
- Sono stati aggiunti valori di proporzioni alle immagini del catalogo e gli script non necessari sono stati rimossi dal framework interfaccia. GitHub-37691
- Sono stati rivisti i messaggi di errore attivati dalla configurazione XML non valido per essere più informativi. GitHub-37788
- È stato modificato il codice obsoleto relativo alla creazione di proprietà dinamiche in tutta la codebase.
- Le prestazioni degli indicizzatori per i grandi magazzini con database di prodotti estremamente attivi sono migliorate. Gli indicizzatori ora indicizzano le informazioni più recenti sul prodotto una volta per ogni indice anziché più volte. In precedenza, i prodotti scomparivano dal sito web e i dati sui prodotti potevano non essere più aggiornati. GitHub-30012
mview_state
Lo stato del record ora indica accuratamente lo stato in base all'attività del registro modifiche quando è disponibile una connessione al database slave. In precedenza, questi record rimanevano in uno stato in cloudwaiting
implementazioni lineare quando non c'erano nuove voci nel changelog.
- È stato aggiunto il supporto per l'opzione per il
precision
formato valuta per mantenere la parità di funzionalità con la classe obsoletaZendCurrency
.
- I messaggi cookie sono stati convertiti in attributi osservabili e gli sviluppatori possono ora manipolare lo stato, il che può potenzialmente innescare interfaccia modifiche. In precedenza, i cookie erano di sola lettura e non potevano essere manipolati. GitHub-37308
- Gli utenti amministratori ora possono generare una fattura quando la loro istanza di Magento Open Source è connessa all’archiviazione S3. In precedenza, il Magento Open Source visualizzava questo errore:
Cannot create image resource. File not found
. GitHub-35706
- Il Magento Open Source ora registra un messaggio di eccezione come previsto quando la convalida del numero IVA da parte del servizio di convalida VIES non riesce. GitHub-36065
- Il nome
Administrators
è stato rimosso dalla query utilizzata per recuperare il ruolo di amministratore durante la creazione del ruolo di amministratore. GitHub-36998
- Il comando
bin/magento setup:config:set
non ha più esito negativo se nel fileapp/etc/env.php
è incluso un nome utente di database non valido. GitHub-37409
- L'ordinamento in base alla colonna delle parole riservate in un componente predefinito dell'interfaccia utente amministratore non genera più un errore SQL in
var/log/exception.log
. GitHub-37423
- Aggiunta di
AddDataForCostaRica.php
per fornire informazioni di stato per la Costa Rica. GitHub-37382.
- È stato migliorato il messaggio di errore per lo scenario in cui l’utente tenta di accedere a un URL non valido dall’amministratore. GitHub-35682.
Param $options[
position]
per i simboli di valuta ora funziona come previsto e supporta la personalizzazione della posizione del simbolo di valuta. In precedenza, dopo la migrazione da Zend Framework 1, il metodotoCurrency
ignorava il parametroposition
. Questo problema si verificava in tutta l’interfaccia di amministrazione.
- Mutex è stato implementato per gli ordini di evitare race condition durante l'aggiornamento da richieste simultanee. In precedenza, le richieste simultanee (race condition) per gli annullamenti degli ordini causavano la duplicazione delle voci nella tabella
inventory_reservation
.
- La funzione
populateWithArray
ora trasforma correttamente le proprietà dell'oggetto in maiuscole/minuscole, rendendolo compatibile con i getter e i setterAbstractModel
. In precedenza, la formattazione delle maiuscole/minuscole dei serpenti era errata quando il nome dell’attributo dei dati conteneva diverse lettere maiuscole in una riga.
- Il valore di incremento automatico nella tabella
catalog_product_entity_varchar
ora viene incrementato correttamente dopo il salvataggio di un prodotto. In precedenza, questo valore aumentava di dieci volte.
- Il Magento Open Source non genera più questa eccezione del file system quando si tenta di svuotare la cache JavaScript/CSS:
No such file or directory
.
- Il valore di
value_id
incustomer_entity_int
è ora incrementato correttamente. Viene eseguita una query di aggiornamento invece diinsert on duplicate key update
durante l'aggiornamento di un'entità che include questi attributi. Di conseguenza, le colonne di incremento automatico utilizzate nel modello EAV crescono ora in modo lineare. In precedenza, il processo di incremento automatico per le colonne ignorava i valori a causa di query di inserimento non riuscite. GitHub-28387
- Sono stati rimossi gli spazi vuoti superflui dagli
id
attributi che non lo richiedono. (Questo bug è stato introdotto da una modifica del codice di Magento Open Source 2.4.6.)
- I codici store non vengono più visualizzati nel URL store quando il store è in modalità store singola. GitHub-36831
- Sono stati apportati aggiornamenti minori ai plug-in
around
. GitHub-31443
- È stato eseguito il refactoring dei campioni
Helper
per rimuovere gli alias di importazione fuorvianti. GitHub-31373
- Gli utenti amministratori ora possono eliminare o rinominare un file
sitemap.xml
come previsto. In precedenza, un utente amministratore poteva eliminare il file dall’amministratore, ma rimaneva nel file system. GitHub-37468
- I coupon non vengono più contrassegnati come utilizzati quando il pagamento non va a buon fine per l'ordine a cui sono stati applicati. I messaggi in coda vengono ora elaborati nell'ordine in cui vengono pubblicati all'avvio del consumer. In precedenza, il primo messaggio veniva estratto dal coda per verificare semplicemente se i messaggi erano in coda e veniva rifiutato in seguito, causando l'elaborazione del primo messaggio per ultimo.
- Magento Open Source non genera più un'eccezione nel file di registro quando un utente tenta di stampare un'etichetta di spedizione. In precedenza, se un'estensione modificava le intestazioni di risposta che contengono un allegato, il sistema generava un'eccezione nel file di registro.
- Il supporto per altre classi HTML è stato aggiunto a
elements.xsd
. GitHub-36891
Correzioni generali
- Il nome della variabile
reponseBody
è stato modificato inresponseBody
inapp/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
.GitHub-38093
- La pianificazione degli aggiornamenti dei prodotti non cancella più i dati degli attributi a selezione multipla. In precedenza, quando era pianificato un aggiornamento per un prodotto, i dati degli attributi a selezione multipla del prodotto venivano erroneamente cancellati. GitHub-37675
- Il salvataggio di un prodotto con un ambito di archiviazione non predefinito non comporta più la modifica degli attributi con ambito di archiviazione quando vengono caricati utilizzando
ProductRepository
. GitHub-8897
- Sono stati aggiunti messaggi di errore informativi alla convalida del campo personalizzato nelle pagine dei dettagli del prodotto. GitHub-38006
- È ora possibile utilizzare caratteri speciali nei campi del nome. In precedenza, il carattere e commerciale (&) era limitato nella convalida del nome, che bloccava le operazioni di aggiunta o modifica dei clienti quando il nome del cliente conteneva una e commerciale. GitHub-38080
- Gli utenti amministratori con accesso limitato a uno specifico archivio ora possono utilizzare un’azione di aggiornamento di massa per aggiornare le recensioni dei prodotti. In precedenza, il Magento Open Source aveva generato questa eccezione:
report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439
.
- La funzionalità Mostra password della pagina di accesso storefront ora visualizza le password come previsto. In precedenza, le password non venivano visualizzate. GitHub-37432
- L’elenco di confronto dei prodotti è ora sempre specifico per il sito web degli acquirenti ospiti e non contiene prodotti aggiunti da altri siti web, inclusi quelli assegnati a entrambi i siti web.
- I blocchi di contenuto CMS che contengono emoji non vengono più troncati dopo le emoji quando vengono salvate nel database. In precedenza, il contenuto veniva troncato dopo le emoji perché la configurazione del database predefinita non supportava caratteri a quattro byte.
- Le password vengono ora visualizzate come previsto quando la casella di controllo Show Password nella pagina di accesso è attiva.
- L'attributo di sistema Reimposta token password della convalida dell'entità cliente (
rp_token
) è stato rimosso dalla convalida dell'attributo durante la creazione dell'account cliente e la convalida dei segni diacritici è inclusa solo nell'e-mail cliente risultante. In precedenza, il Magento Open Source non aveva salvato il record cliente e aveva visualizzato questo errore:Something went wrong while saving the customer
.
- Ora è possibile salvare correttamente le modifiche nella griglia Pagine amministratore e Blocca dopo aver eliminato una colonna. GitHub-37525
- I clienti possono ora accedere con una nuova password da un dispositivo dopo aver reimpostato la password su un altro dispositivo.
- Il campo Indirizzo cliente amministratore Stato/Provincia ora mantiene l'ultimo valore salvato come previsto. In precedenza, quando si rimuoveva il valore da questo campo, il Magento Open Source continuava a visualizzare il valore eliminato nel campo Stato/Provincia. GitHub-36846
- Gli errori non si verificano più durante le richieste di un feed RSS per le categorie quando RSS Feed Top Level Category è abilitato. In precedenza, la navigazione nella pagina delle categorie dei feed RSS causava errori di Elasticsearch
CRITICAL
nei file di registro quando RSS Feed Top Level Category era abilitato.
- Il valore corretto viene ora salvato per
gws_store_groups
quando l'ambito del ruolo viene modificato durante la creazione del ruolo utente. In precedenza, quando l'ambito del ruolo era selezionato comeAll
, il valoregws_store_groups
veniva salvato come null durante la creazione dell'utente ma non durante la modifica del ruolo. Inoltre, se l'ambito del ruolo è stato selezionato comeCustom
, il valoregws_store_groups
è sempre stato salvato come nullo.
- È ora possibile accedere alla pagina reimpostare la password facendo clic sull'collegare Admin reimpostare la password nella pagina Admin login quando l'impostazione Add Store Code to Urls è abilitata. Il collegamento per la reimpostazione della password amministratore ha aperto in precedenza la pagina di accesso o la pagina 404.
- L'intervallo di date nel dashboard delle statistiche di amministrazione viene ora calcolato in base al fuso orario impostato nelle impostazioni di configurazione, quindi convertito in UTC per recuperare i dati dal database.
- Il filtro gerarchico CMS funziona come previsto dopo aver filtrato una vista store quindi fare clic Save su Admin Content > Hierarchy. In precedenza, facendo clic sulla Save pagina veniva aggiornata, ma il contesto veniva perso e la visualizzazione store selezionata non veniva più visualizzata.
- Facendo clic sul pulsante Send invitation (Admin Marketing > Private sales > Invitation) ora invia una richiesta POST insieme alla chiave del modulo e invia l'invito correttamente. Precedentemente, quando si faceva clic su questo pulsante, non erano presenti né il metodo HTTP POST né la chiave del modulo.
- È ora possibile copiare correttamente i file a zero byte nello storage remoto con AWS S3.
- Gli utenti amministratore possono ora aggiungere un nuovo indirizzo cliente dall’amministratore quando quel cliente è stato creato per un altro sito web il cui ID store non corrisponde all’ID sito web. In precedenza, il Magento Open Source visualizzava questo messaggio popup:
Something went wrong
. GitHub-36582
- Nella pagina dell'editor di blocchi di CMS viene ora visualizzato il valore
block_id
del widget corretto. GitHub-29644
GraphQL
- La query
getCustomerWishlist
non genera più un errore interno del server durante la query degli elenchi che contengono prodotti configurabili.
- La query
customerCart
ora restituisce tutti gli sconti applicati sui prodotti bundle come previsto. In precedenza, gli sconti totali applicati a un prodotto bundle venivano restituiti come zero.
- La query
getCustomerWishlist
non genera più un errore interno del server durante la query degli elenchi che contengono prodotti configurabili.
- La dichiarazione del contrassegno, il
is_subscribed
suo resolver, la cache e iCustomerGraphQl
test associati sono stati spostati dal modulo alNewsletterGraphQl
modulo.
- La mutazione
addProductsToCart
non segnala più errori non correlati inuser_errors
. In precedenza, gli errori relativi al carrello venivano inclusi inuser_errors
insieme agli errori di operazione previsti. GitHub-37908
- Il filtro prodotto per query
products
ora può restituire risultati di corrispondenza parziali e corrispondenze complete. Il nuovo attributomatch_type
(PARZIALE, COMPLETO) supporta l'impostazione del tipo di corrispondenza. In precedenza, la query restituiva solo corrispondenze complete.
- Mutex aggiunto alla query
addConfigurableProductsToCart
per evitare race condition durante un aggiornamento da richieste simultanee. In precedenza, quando un commerciante inviava due richieste parallele per aggiungere lo stesso prodotto configurabile a un carrello, venivano aggiunti due elementi separati con lo stesso SKU di prodotto. GitHub-37847
- L'aggregazione dei prodotti nelle risposte GraphQL ora include valori diversi da zero per gli attributi quando Use in Layered Navigation è impostato su Filterable (no results). In precedenza venivano restituiti solo valori diversi da zero.
- Sono state migliorate le prestazioni della query
setShippingAddressForEstimate
per le operazioni relative al carrello che coinvolgono attributi di prodotto personalizzati. In precedenza, la query caricava tutti gli attributi del prodotto quando i parametri venivano inviati come variabili.
- Il campo
ConfigurableProduct.configurable_options
della queryproducts
ora restituisce solo valori con almeno un prodotto abilitato. In precedenza, questo campo restituiva prodotti semplici disabilitati.
- Sono state migliorate le prestazioni di
GetCategories query
riducendo il numero di query SQL non necessarie generate.
- La gestione degli errori degli indirizzi per i componenti della libreria GraphQL ora funziona come previsto.
- La query
products
restituisce ora tutti i dettagli relativi ai prezzi di vetrina quando i prezzi dinamici sono impostati su no e vengono applicati sconti. In precedenza, la fascia di prezzo per i prodotti non veniva restituita. GitHub-35649
- I nomi delle transazioni GraphQL ora includono solo i nomi delle query di primo livello nei registri di New Relic. In precedenza, i nomi delle transazioni includevano anche nomi di query secondari.
- La gestione degli errori degli indirizzi per i componenti della libreria GraphQL ora funziona come previsto.
- Quando l'impostazione Visibilità per un prodotto è impostata su
Catalog
,products
query su tale prodotto ora risolvono l'impostazione correttamente. In precedenza, qualsiasi filtro fornito era passato all'impostazioneVisibility: Catalog
. GitHub-36591
- La query
customer
ora restituisce un campoproduct_sale_price
che include l'imposta sugli ordini quando il prezzo del prodotto è stato configurato per includere l'imposta. GitHub-36946
- Gli attributi del prodotto di tipo
DateTime
ora vengono mappati sul filtroFilterRangeTypeInput
nelle query dei prodotti. In precedenza, questi attributi erano mappati aFilterMatchTypeInput
. In seguito a questa modifica, le query che filtrano gli attributiDateTime
richiedono valorifrom
eto
invece di valori di corrispondenza.
- La query
customer
ora restituisce solo le recensioni dei clienti relative a una visualizzazione specifica dello store come previsto quando viene filtrata per ID store.
- La query
categories
non restituisce più un errore se il valore di rispostaitems.redirect_code
contiene un valore null. GitHub-36675
- La mutazione
changeCustomerPassword
ora attiva l'e-mail come previsto dopo aver reimpostato correttamente una password.
- Le query
urlResolver
eroute
ora restituiscono un risultato quandoTarget Path
di riscrittura URL è un URL assoluto. In precedenza, la queryurlResolver
restituiva NULL quando veniva utilizzata per recuperare i dati di reindirizzamento.
- La query
products
ora restituisce le etichette corrette. GitHub-29635
- La query
categoryList
ora restituisce una sezioneproduct
compilata del bloccooptions
per i prodotti secondari dei bundle come previsto. In precedenza, non venivano restituite informazioni sui prodotti secondari del bundle.
- La query
route
ora restituisce route per categorie e prodotti come previsto senza un errore interno del server. GitHub-36544
- La query
products
recupera oraurl_key
valori quando sono selezionate più categorie.
products
Le query ora restituiscono aggregazioni solo per i prodotti assegnati al catalogo condiviso specificato.
- I nomi delle transazioni sono stati aggiunti alle transazioni GraphQL Nuovo reliquia. GitHub-36874
- Il
OptionValueProvider
metodo classget()
restituisce ora il valore di un'opzione attributo basata su quanto specificatooption_id
, come previsto. In precedenza, si era verificato un errore. GitHub-35910
- La query
products
ora restituisce tutte le aggregazioni (filtri) disponibili e le relative etichette tradotte correttamente. In precedenza, le etichette di aggregazione di prezzi e categorie non venivano tradotte come previsto. GitHub-36140
- È ora possibile utilizzare un frammento
ProductCard
quando si eseguonorelated_products
query ,upsell_products
ecrossell_products
così viaProductInterface
. GitHub-29769
- La
products
query restituisce ora i prodotti correlati, vendere in upselling e effettuare azioni di cross-selling nell'ordine in cui sono stati salvati. GitHub-36461
- Le query GraphQL ora restituiscono i dati dei prodotti correlati ordinati per posizione. GitHub-33010
category_url_path
è stato aggiunto aProductAttributeFilterInput
, che supporta la richiesta di tutti i prodotti per una categoria in una singola query. GitHub-32460
- È stato corretto un errore in cui il metodo che imposta l’archivio corrente in una mutazione GraphQL veniva eseguito prima del metodo che gestisce la convalida. GitHub-31336
Immagine
- Il modulo di caricamento delle icone preferite di amministrazione ora supporta
.ico
tipi di file. GitHub-34858
Importa/esporta
- Il processo di importazione del prodotto ora analizza i valori con il separatore corretto. In precedenza, il processo di importazione utilizzava l'operatore pipe ("|") per analizzare i valori a selezione multipla fino a quando il separatore di valori determinato non era uguale al valore di default. Il processo di importazione non è riuscito.
- I reindirizzamenti 301 vengono ora creati automaticamente quando i valori
URL Key
vengono aggiornati dall'importazione CSV.
- Le tariffe della tabella di spedizione ora vengono aggiornate come previsto nel file CSV di importazione delle tariffe della tabella. Il file di caricamento della velocità della tabella viene temporaneamente archiviato fino all'esecuzione del processo cron asincrono del processore di configurazione. Questo processo cron rileva la nuova posizione del file e lo elabora di conseguenza. In precedenza, le velocità delle tabelle non venivano aggiornate come previsto perché il processore asincrono cercava il file nella posizione errata.
- Nella griglia Esporta file vengono ora visualizzati tutti i file esportati, indipendentemente dalla marca temporale. In precedenza, nella griglia non venivano visualizzati tutti i file esportati con la stessa marca temporale. GitHub-36951
- I prodotti con opzioni personalizzabili ora possono essere importati correttamente. In precedenza, i dati delle opzioni andavano persi durante l’importazione. GitHub-37598
- I caratteri speciali nei file CSV esportati ora sono rappresentati come previsto in Excel. GitHub-37921
- Importazione di origini stock e indirizzi cliente tramite Customers and Addresses (single file) L'opzione ora viene completata correttamente.
- L’importazione del prodotto non ha più esito negativo a causa di memoria insufficiente. In precedenza, l’importazione di un numero qualsiasi di prodotti in un database che già contiene circa dieci milioni di prodotti non riusciva a causa della mancanza di memoria.
- I controlli di convalida ora interrompono il processo di importazione come previsto quando non sono presenti dati validi da importare e Magento Open Source visualizza ora questo errore:
There are no valid rows to import
. In precedenza, la convalida passava in queste condizioni, ma il processo di importazione non è riuscito con questo messaggio:entity values are mixed
. GitHub-32905
- L’importazione di chiavi URL con lo stesso prodotto non sovrascrive più o elimina le chiavi predefinite esistenti della vista archivio. Le riscritture URL vengono ora rigenerate per le visualizzazioni archivio solo quando non è presente alcun valore
url_key
sostituito. In precedenza, l’importazione di URL riscrive con la stessa chiave URL sostituiva la chiave URL predefinita esistente per la visualizzazione archivio. (key_store
riscritture URL sono state eliminate, ma la riscrittura URL sul livello di visualizzazione dell'archivio predefinito per il prodotto era ancora impostata sukey_store
.)
- Il conteggio dei prodotti non cambia più in modo imprevisto durante l’importazione. Lo svuotamento della cache viene ora posticipato a dopo il processo di importazione.
- Lo stato delle azioni di importazione pianificate ora rappresenta con precisione il successo o l'errore dell'operazione di importazione. In precedenza, tutte le azioni venivano registrate come riuscite.
- Il Magento Open Source ora prende in considerazione l'impostazione Disable Automatic Group Change Based on VAT ID durante l'importazione dei record dei clienti. In precedenza, il valore
disable_auto_group_change
nei file di importazione veniva ignorato. GitHub-36409
Magento\Framework\Convert\Excel
ora gestisce correttamente i numeri preceduti da uno spazio. Il codice XML di Excel ora codifica i campi comeString
. In precedenza, il writer di Excel codificava questi valori comenumber
, causando file non validi. GitHub-33422
- I commercianti possono ora specificare le impostazioni internazionali in cui vengono presentati i dati di importazione e il modo in cui i validatori dei dati devono analizzarli. Se non viene specificato un valore di impostazioni locali, per analizzare i dati il Magento Open Source utilizza le impostazioni locali di configurazione predefinite (non la visualizzazione predefinita dell'archivio). In Amministrazione, i processi di importazione ed esportazione continuano a utilizzare le impostazioni locali dell’interfaccia utente di amministrazione per importare, analizzare e formattare i dati, rispettivamente.
- L'importazione di prodotti con attributi
country_of_manufacture
creati da un utente amministratore con impostazioni internazionali diverse da quelle dell'utente amministratore che importa i prodotti non genera più un errore di convalida. In precedenza, questa operazione di importazione poteva causare un errore di convalida sull'attributocountry_of_manufacture
.
- I prodotti esportati ora hanno il valore
manage_stock
corretto quando il valoreuse_config_manage_stock
è uguale a1
. In precedenza, questo valore predefinito era errato.
- Magenti Open Source Ora nella griglia di importazione pianificata viene visualizzato un messaggio di errore informativo quando un'immagine non viene importata correttamente durante un'operazione di importazione pianificata. In precedenza, non veniva visualizzato alcun messaggio di errore.
- Il processo di importazione del prodotto non viene più interrotto quando mancano le immagini del prodotto. In precedenza, quando mancava un'immagine del prodotto durante l'importazione di un servizio di terze parti tramite un file CSV, il Magento Open Source visualizzava questo errore:
Maximum error count has been reached or a system error is occurred!
.
- Il processo di importazione del prodotto non genera più un errore di convalida quando un valore di attributo nella colonna
configurable_variations
contiene una virgola.
- La decodifica è stata esclusa dal processo di esportazione. Il testo del file di esportazione CSV rimane invariato dopo l’importazione. Di conseguenza, la descrizione non cambia dopo la reimportazione. In precedenza, i tag HTML venivano rimossi nell’editor di Page Builder dopo l’esportazione e l’importazione del prodotto.
- Le configurazioni non predefinite (ambito del sito Web o dell'archivio) aggiunte come variabili di ambiente non interrompono più il processo
app:config:import
con un errore di ricorsione.
- Gli indicizzatori di ricerca e prezzo del catalogo in modalità Aggiornamento in modalità di salvataggio non vengono più invalidati dopo l’importazione. In precedenza, la versione del documento Indicizzatore Elasticsearch veniva modificata quando venivano importati prodotti nuovi ed esistenti.
- I report dei prodotti sono ora esportati nella directory
var
. In precedenza, questi rapporti venivano esportati nella directory principale dei documenti, una directory di sola lettura nelle istanze cloud.
- I campi di indirizzo cliente a selezione multipla vuoti non interrompono più o interrompono il processo di esportazione.
Indice
- Sono state migliorate le prestazioni dell'indicizzatore
catalogrule_product
quando non è impostata alcuna regola di catalogo. GitHub-34784
- Sono stati risolti i problemi relativi alle prestazioni dell’indicizzatore dei prezzi. Le prestazioni dell'indicizzatore non peggiorano più gradualmente. È stato eseguito il refactoring dell’indicizzatore per aumentarne la velocità di elaborazione modificando la modalità di creazione delle tabelle temporanee. Queste tabelle temporanee vengono ora ricreate invece di essere gestite da istruzioni DELETE che richiedono più tempo.
- Sono state migliorate le prestazioni dell’indicizzatore del prezzo. All'indicizzatore dei prezzi è stato aggiunto un suggerimento di indice che migliora i tempi di esecuzione delle query MySQL attivate durante l'indicizzazione.
- Tutti gli indicizzatori ora utilizzano gli stessi colori per rappresentare lo stato dell'indicizzatore. GitHub-34648
- Sono state migliorate le prestazioni dell’indicizzatore del prodotto Regola catalogo nelle distribuzioni in cui le regole non vengono assegnate a tutti i siti web.
- La creazione di un tipo di prodotto personalizzato quando gli indicizzatori sono impostati su Update on schedule non causa più errori nell'attività di aggiornamento dell'indice
cron
. GitHub-36471
bin/magento indexer:reindex customer_grid
non ha più esito negativo con un errore MySQL quando la griglia del cliente include attributi cliente personalizzati appena creati. GitHub-36233
- La modifica della modalità di indicizzazione per più indicizzatori (ovvero, una modifica della modalità di indicizzazione di azione di massa) ora cambia la modalità di un indicizzatore solo quando la modalità corrente è diversa da quella applicata. Ciò migliora le prestazioni impedendo viaggi inutili al database. GitHub-36823
- L'indicizzazione dei prodotti con molte opzioni di attributi è stata migliorata. GitHub-36386
Infrastruttura
- È stata aggiunta un'istruzione
return
mancante al controller di abilitazione per utilizzo amministratore. In precedenza, non era presente alcuna istruzionereturn
e il controller nella classeFrontendController
è stato gestito in modo errato. GitHub-31374
- MySQL
CREATE TEMPORARY TABLE ... LIKE
è stato sostituito conCREATE TEMPORARY TABLE
refactoring per la conformità con MySQL 8.x. GitHub-37926
- Il Magento Open Source non include più il percorso completo della radice del server nel messaggio di errore visualizzato quando una richiesta HTTP non valida è stata inviata al server. Solo le stringhe vengono passate al metodo
explode
come secondo argomento.
restricted_classes.php
ha sostituitoZend_Validate_File_Upload
. In precedenza, la convalida si bloccava durante il caricamento di un file di importazione di dimensioni maggiori del valore configurato inphp.ini
. GitHub-37281
- Il motore dei modelli e-mail ora può elaborare correttamente alcune direttive nidificate (ad esempio,
{{if}}{{depend}}...{{/depend}}{{/if}}
). GitHub-36438
product
query con dati di aggregazione ora restituiscono i valori di etichetta corretti per gli attributi di prodotto di tipo booleano. GitHub-29123
- Sono state aggiunte regioni ucraine alla tabella
directory_country_region
. GitHub-35187
- I file CSS non sono più danneggiati se uniti quando
var/tmp
epub/static
si trovano in file system diversi e CSS Merging Enabled è abilitato. I file temporanei sono stati creati nella stessa directory statica del file di destinazione per garantire che entrambi i file si trovino nello stesso file system. Di conseguenza, la chiamata per rinominarlo è atomica. GitHub-29172
- È stato corretto un potenziale errore che si verificava durante la chiamata di una funzione membro
getId()
ilint
e che causava occasionalmente un'eccezione durante la visualizzazione di un cliente in Amministrazione.
- I controlli dei tipi vengono ora applicati per il tipo di array nel processore di configurazione del tema di progettazione. GitHub-34440
Inventory management
- I prodotti vengono ora riportati automaticamente allo stato In magazzino dopo una nota di credito che include una restituzione della quantità di prodotto. In precedenza, se un prodotto era esaurito ma una nota di credito restituiva scorte di questo prodotto, i commercianti dovevano modificare manualmente lo stato delle scorte del prodotto.
- Sono state migliorate le prestazioni dell’indicizzatore di inventario in modalità asincrona, rimuovendo le richieste ridondanti per reindicizzare gli elementi di origine predefiniti.
- Sono stati risolti i problemi relativi all’indicizzatore Inventory che influivano sulla precisione del conteggio delle scorte vetrina dei prodotti configurabili. GitHub-36421
- L'aggiornamento degli articoli di origine dell'inventario tramite REST
V1/inventory/source-items
ora funziona più rapidamente. La chiamata non attiva più un’operazione di reindicizzazione o clean-cache sui prodotti di magazzino non modificati.
- REST
V1/products/<sku>
ora attiva una reindicizzazione automatica delle azioni quando si aggiorna lo stato delle azioni di un prodotto. In precedenza, non veniva attivata una reindicizzazione azionaria per il prodotto in fase di aggiornamento.
- Lo stato delle scorte di prodotto configurabili è ora aggiornato nella vetrina come previsto quando i prodotti secondari vengono aggiornati da
V1/inventory/source-items
.
- La chiamata REST
POST <store_code>/V1/inventory/source-items
ora convalida il payload per lo spazio vuoto negli elementi di origine dell'inventario restituiti e invia un messaggio di errore sulla convalida in base alle esigenze.
- I commercianti possono ora notificare agli acquirenti che un ordine è pronto per il ritiro quando l'impostazione No Manage Stock è abilitata per un prodotto. In precedenza, quando questa impostazione era abilitata, il Magento Open Source visualizzava questo messaggio di errore:
Your order is not ready for pickup
.
- I commercianti possono ora creare una nota di credito per gli ordini da cui è stato eliminato un prodotto semplice associato a un prodotto configurabile. In precedenza, gli esercenti non potevano creare la nota di credito e Magento Open Source ha generato un'eccezione
TypeError
.
- Il conteggio dell’origine della griglia di amministrazione ora restituisce record validi dopo l’applicazione di un filtro. In precedenza, il metodo
getSourcesCount
restituiva sempre il numero totale di origini dopo l'applicazione di un filtro.
- La pagina Categoria non viene più reindirizzata al dashboard di amministrazione quando si ordinano i prodotti utilizzando l’opzione "Sposta dal magazzino in basso". Il problema è stato risolto inserendo l’istruzione SQL join nell’istruzione condizionale solo dopo aver verificato che non sia già inclusa. In precedenza, la pagina veniva reindirizzata al dashboard di amministrazione con il messaggio:
Invalid security or form key. Please refresh the page
.
AUTO_INCREMENT
della tabellainventory_source_item
non viene più aumentato con ogni operazioneUPDATE
. In precedenza, ogni aggiornamento aumentava il valoreAUTO_INCREMENT
di questa tabella, causando l'esclusione del valoreAUTO_INCREMENT
dall'intervallo durante l'aggiunta di un nuovo record ainventory_source_item table
. Di conseguenza, gli utenti amministratori hanno ricevuto il seguente errore quando hanno tentato di creare un nuovo prodotto dall'amministratore:Numeric value out of range...
.
- Gli utenti amministratore possono ora aggiungere un prodotto al carrello di un cliente dall’amministratore per un particolare ambito di visualizzazione dello store con Inventory management. In precedenza, l’ID stock non veniva determinato correttamente e gli utenti amministratori non potevano aggiungere il prodotto al carrello clienti.
- La sincronizzazione tra Inventory e il catalogo non si basa più sull'impostazione di configurazione Synchronize with Catalog. In precedenza, i prodotti venivano sincronizzati correttamente solo quando questa impostazione era abilitata.
- Il Magento Open Source non genera più un errore dopo il ricaricamento della pagina quando un acquirente detrae una quantità di prodotto da un ordine che rientra nell’intervallo di prodotti disponibili durante la selezione dell’origine di spedizione.
- Lo stato delle scorte di prodotto configurabili ora viene aggiornato correttamente quando un prodotto configurabile e il relativo valore di prodotto secondario
Stock Availability
vengono aggiornati da un aggiornamento di massa dell'inventario. In precedenza, non era possibile rimettere in magazzino un prodotto configurabile e i relativi prodotti secondari tramite aggiornamento di massa.
- Il tipo di dati per le origini non predefinite è stato aggiornato a
DECIMAL (12, 4)
per supportare fino a otto cifre intere, ovvero lo stesso limite implementato per le scorte predefinite. Questo valore è ora sincronizzato con le pagine Aggiungi e modifica prodotto dell’amministratore, che supportano la convalida di input fino a otto cifre per tutti i tipi di origini di inventario. In precedenza, l'input per il campo Quantity (per origini non predefinite) era supportato solo fino a sei cifre.
- Sia le origini predefinite che quelle non predefinite ora visualizzano le informazioni corrette per la quantità venduta del prodotto quando un'origine non predefinita che è stata ordinata dalla vetrina viene elaborata per la spedizione. In precedenza, il Magento Open Source mostrava uno stato delle scorte errato per le origini prodotto.
\Magento\Catalog\Model\Product::getIsSalable()
ora restituisce lo stato delle scorte in base all'ambito definito nell'oggetto prodotto (\Magento\Catalog\Model\Product::getStoreId()
). In precedenza,getIsSalable()
lo stato delle scorte veniva restituito in base al ambito corrente, indipendentemente dall'oggetto prodotto.
Registrazione
- Gli utenti Admin possono ora visualizzare i registri delle azioni collettive create dalle integrazioni nella sezione Registro delle azioni collettive dell'Amministratore.
Accesso
- Reimpostare un password in un browser e successivamente registrazione tramite un browser diverso non genera più un'eccezione. GitHub-36447
- I clienti vengono ora reindirizzati alla pagina login dopo aver attivato un account come previsto. In precedenza, i clienti venivano connessi automaticamente.
Newsletter
- Commerce ora controlla se la funzionalità di iscrizione alla newsletter è abilitata prima di accettare nuovi abbonati a una newsletter. GitHub-33040
Ordini
- I prodotti spostati dal carrello Amministratore all'elenco degli articoli da ordinare vengono ora eliminati dal carrello acquisti come previsto. GitHub-37538
- I commercianti possono ora creare note di credito come previsto per la restituzione parziale degli ordini pagati in parte da punti premio. In precedenza, quando un commerciante creava una restituzione parziale, lo stato dell’ordine veniva erroneamente identificato come chiuso e nella pagina Ordine amministratore non venivano visualizzate le opzioni della nota di credito.
- Il Magento Open Source ora applica l'importo dello sconto corretto agli ordini parzialmente annullati. In precedenza, l'importo dello sconto calcolato nella colonna
base_discount_cancelled
veniva calcolato in modo errato quando un ordine veniva modificato. Il supporto per i valori negativi è stato aggiunto alle fatture per gli ordini scontati.
- Il Magento Open Source ora ordina gli attributi dell’indirizzo del cliente personalizzato in base all’ordinamento fornito quando l’utente amministratore ha creato l’ordine in Admin.
- La pagina Griglia ordini di vendita amministratore ora viene caricata come previsto quando un commerciante avvia una ricerca da questa pagina. In precedenza, quando un commerciante tentava di cercare ordini da questa tabella, la pagina si bloccava e il Magento Open Source visualizzava un errore
Request-URI Too Long
nella console del browser.
- Sono state migliorate le prestazioni del metodo
OrderRepository::get()
riducendo il numero di volte in cui carica un ordine dal database. In precedenza, questo metodo caricava un ordine più volte. GitHub-36636
- Gli esercenti possono ora generare note di accredito per gli ordini che contengono alcuni articoli con un totale pari a zero quando altri articoli dell'ordine sono disponibili per il rimborso. In precedenza, gli esercenti non potevano effettuare più rimborsi quando un cliente aveva uno sconto del 100% su alcuni articoli dell’ordine.
- I collegamenti tra i prodotti secondari e quelli principali vengono ora visualizzati nella pagina dell’ordine durante il riordine del prodotto secondario dall’amministratore. GitHub-37028
- L'emulazione ora viene avviata durante le chiamate
send()
una volta completata l'emulazione durante la chiamatagetInfoBlockHtml()
e non viene registrato alcun errore. In precedenza, il filesystem.log
era inondato con questo errore:main.ERROR: Environment emulation nesting is not allowed
. GitHub-35603
- Gli esercenti possono ora generare note di accredito per gli ordini che contengono alcuni articoli con un totale pari a zero quando altri articoli dell'ordine sono disponibili per il rimborso. In precedenza, gli esercenti non potevano effettuare più rimborsi quando un cliente aveva uno sconto del 100% su alcuni articoli dell’ordine.
- I collegamenti tra i prodotti secondari e quelli principali vengono ora visualizzati nella pagina dell’ordine durante il riordine del prodotto secondario dall’amministratore. GitHub-37028
- La sezione dell'intestazione della pagina dell'ordine contiene ora le informazioni previste sulla fattura, sulla nota di credito e sulla spedizione inviate. GitHub-27474
- Le note di credito per gli ordini che contengono un solo prodotto configurabile ora vengono generate correttamente. In precedenza, la funzione
isLast()
non restituivatrue
come previsto. GitHub-36722
- Sono state migliorate le prestazioni del processo cron
aggregate_sales_report_bestsellers_data
ottimizzando la query di dati principale.
- Lo stato dell'ordine ora è corretto quando è stato effettuato un rimborso parziale per un ordine che contiene prodotti bundle. In precedenza, lo stato dell’ordine veniva indicato come completo dopo l’emissione di un rimborso parziale, anche se l’ordine rimanente non era completo. GitHub-37377
- Gli acquirenti non possono più ordinare un prodotto utilizzando un prezzo personalizzato quando un ordine viene generato dall’amministratore utilizzando il prezzo personalizzato una tantum. In precedenza, se un ordine conteneva un articolo con prezzi personalizzati, questo prezzo personalizzato veniva applicato ad altri ordini con la funzionalità di riordino.
- Gli acquirenti non possono più salvare gli stati degli ordini errati nella pagina dell’ordine. Lo stato dell'ordine non viene più modificato da Completo a Elaborazione quando viene spedito un articolo. In precedenza, il Magento Open Source non verificava lo stato attuale dell’ordine prima di salvarne lo stato dopo che un acquirente aveva inserito un commento. GitHub-36562
- La griglia degli ordini di vendita viene ora sincronizzata in modo asincrono con tutti gli ordini come previsto. GitHub-36562
- La funzionalità Filtra per data di acquisto nella sezione Ordini cliente della pagina Ordini ora funziona come previsto. In precedenza, si verificava un errore JavaScript quando la logica di conversione del fuso orario generava un errore quando lo stesso fuso orario veniva fornito al metodo.
- Il dashboard Amministratore ora visualizza le statistiche degli ordini corrette al primo caricamento. In precedenza, il dashboard mostrava informazioni di ordine errate, ma mostrava le informazioni corrette una volta aggiornato il periodo di tempo.
- Gli utenti Admin vengono ora reindirizzati come previsto alla pagina dell’ordine dopo aver selezionato una vista store durante la creazione di un nuovo ordine da Admin.
- L'endpoint
GET V1/orders/<OrderID>
ora restituisce informazioni sui prodotti configurabili e semplici nell'ordine indipendentemente dallo stato delle scorte dei prodotti semplici. Gli utenti amministratori possono effettuare ordini ora solo se gli articoli (prodotti) selezionati sono in magazzino o in vendita. In precedenza, questa API restituiva informazioni solo sui prodotti in stock.
- La pagina della nota di accredito non si blocca più se la spedizione gratuita è abilitata quando il prezzo di spedizione include le imposte e i calcoli delle imposte vengono applicati dopo gli sconti. In precedenza, il Magento Open Source ha generato un'eccezione
Division by zero
. GitHub-36800
- L'utilizzo dell'endpoint
rest/V1/orders/{id}/comments
per pubblicare un commento su un ordine senza fornire lo stato dell'ordine non influisce più sulla visualizzazione dell'ordine. In precedenza, lo stato dell'ordine veniva registrato come NULL nelle tabellesales_order
esales_order_grid
e né la pagina Ordini personali né la griglia dell'ordine amministratore visualizzavano l'ordine. GitHub-34180
Page Builder
- Le immagini ora mantengono le proporzioni corrette quando vengono ridimensionate in Page Builder. GitHub-37493
- In Page Builder ora vengono visualizzati i messaggi di errore necessari quando si tenta di caricare un'immagine con dimensioni superiori alla dimensione massima specificata per il file. In precedenza, Commerce visualizzava un messaggio a comparsa di avviso per i file immagine caricati di dimensioni inferiori al massimo specificato.
- I cursori dei prodotti di pagina CMS ora includono i prodotti principali di tutti i prodotti secondari selezionati per l’inclusione nel cursore. In precedenza, i prodotti principali venivano esclusi dal cursore.
- Il contenuto convertito in HTML viene ora visualizzato nei modelli di posta elettronica come previsto quando il modulo
Magento_AsyncConfig
è disabilitato. In precedenza, i modelli e-mail contenevano solo HTML non elaborati.
- Sono state migliorate le prestazioni delle operazioni di salvataggio di Page Builder nel browser Chrome.
- L’aggiunta di un prodotto a un carrello dal carosello Page Builder non duplica più la quantità di articolo da pagine con due widget diversi che visualizzano gli stessi prodotti.
- Page Builder non aggiunge più l'attributo HTML
tabindex
ai tag di collegamento ipertestualea
quando si modifica un collegamento ipertestuale e quindi si salva un modello.
- Il widget prodotti e l’anteprima di Page Builder ora gestiscono correttamente i caratteri speciali HTML. In precedenza, il widget del prodotto non visualizzava correttamente gli SKU contenenti il carattere
&
.
- Il contenuto degli elementi di testo di Page Builder viene ora aggiornato come previsto quando selezioni e aggiorni il blocco di contenuto completo in modalità anteprima.
- Copiare e incollare testo da un editor di testo di Page Builder a un altro ora funziona come previsto. In precedenza, la pagina in cui si è tentato di incollare il testo non poteva essere salvata e il Magento Open Source visualizzava questo errore della console:
[ERROR] Page Builder was rendering for 5 seconds without releasing locks.
.
- Il tipo di contenuto Page Builder
column-block
creato in versioni precedenti di Page Builder ora viene visualizzato correttamente.
- L’amministratore ha migliorato il filtro per la descrizione dei metadati del prodotto durante la creazione del prodotto. In precedenza, se Page Builder era abilitato, la descrizione dei metadati del prodotto veniva generata in base alla maschera
{{name}} {{description}}
predefinita. La maschera di metadescrizione del prodotto predefinita è ora composta da{{name}}
. GitHub-36107
- L’aggiunta di un blocco dinamico senza contenuto non attiva più un errore.
- Sono stati risolti i problemi relativi alla visualizzazione delle colonne nel contenuto di Page Builder. In precedenza, il contenuto del tipo di contenuto
column-line
non veniva sottoposto a rendering. GitHub-3949
Pagamento
- Magento Open Source ora gestisce correttamente gli errori 502 da PayPal impedendo la creazione di ordini quando si verifica questo errore. In precedenza, gli ordini venivano ancora creati nonostante un errore 502 da PayPal, che lead a incongruenze tra Magento Open Source record e PayPal.
- PayPal transazioni Express Checkout ora includono SKU di prodotti secondari e titoli di prodotti completi. Il
Magento/Paypal/Model/Cart.php
file raccoglie ora gli SKU dei prodotti secondari con il titolo del prodotto padre per identificare il titolo del prodotto con il referenza di magazzino figlio. GitHub-36808
- L'impostazione di configurazione Card Security Code Does Not Match viene ora elaborata come previsto durante il processo di pagamento di Payflow Pro. In precedenza, questo processo di valutazione non veniva mai completato, bloccando così l’estrazione.
- L'opzione Metodo di pagamento del Vault non viene più visualizzata nel workflow di checkout dell'amministratore quando l'acquirente non dispone di un token del vault. GitHub-36273
- Il pulsante Venmo ora può essere nascosto quando i pulsanti PayPal sono abilitati. In precedenza, il pulsante Venmo non poteva essere rimosso dal carrello, dal mini-carrello, dai dettagli del prodotto o dalle pagine di pagamento.
- Gli acquirenti possono ora selezionare un metodo di spedizione durante l'applicazione del codice coupon durante il pagamento. In precedenza, in queste condizioni, il Magento Open Source ha generato un errore e ha assegnato la spedizione a tariffa fissa all'ordine.
- Sono stati risolti i problemi relativi all'elaborazione della vetrina dei metodi di pagamento PayPal e PayPal del credito.
- Sono stati risolti dei problemi relativi agli URL di fallback per gli ordini pagati con da Pagamenti ideali quando è abilitato il pagamento locale.
- Gli acquirenti non possono più creare un ordine PayPal senza aggiungere un cognome.
Braintree
- Le informazioni sul pagamento delle Braintree vengono ora salvate per ogni negozio e gli acquirenti ora vedono solo le informazioni sulla carta salvate nel negozio in cui fanno acquisti. In precedenza, gli acquirenti potevano visualizzare le informazioni sulla scheda memorizzata da tutti i negozi durante il pagamento. GitHub-34253
- Gli acquirenti possono ora effettuare il check-out di un ordine spedito a più indirizzi utilizzando un metodo di pagamento Braintree quando il vault per i pagamenti con carta è disabilitato. GitHub-37615
- Gli ordini parzialmente fatturati vengono ora acquisiti come previsto nel account corretto nelle distribuzioni in cui i commercianti hanno due ID account diversi per la stessa valuta nella account Braintree.
- Il Magento Open Source non genera più un errore durante la creazione di una seconda fattura parziale per un ordine pagato per Braintree quando Enable Vault for Card Payments è abilitato. In precedenza, quando un commerciante tentava di creare una seconda fattura, il Magento Open Source generava questo errore:
Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid
.
- L'opzione del metodo di pagamento Braintree Vault non viene più deselezionata automaticamente nella workflow di pagamento quando un acquirente aggiorna il proprio indirizzo fatturazione. In precedenza, il metodo di pagamento veniva deselezionato quando l'acquirente deselezionava il pulsante My billing and shipping address are the same.
- Sono stati risolti i problemi relativi al check-out con PayPal tramite Braintree dopo l’aggiornamento da Adobe Commerce 2.4.5-p2. GitHub-37242
- I numeri di telefono vengono ora visualizzati come previsto con gli indirizzi nei campi dell'indirizzo di spedizione a comparsa modale di Google Pay. In precedenza, mancavano i numeri di telefono.
- Gli ordini vengono ora effettuati correttamente con Braintree quando la risposta Braintree include un valore vuoto per
threeDSecureInfo/eciFlag
. In precedenza, si verificava un errore PHP durante il checkout quando questo valore era vuoto.
- Magento Open Source non genera più un errore quando un acquirente applica un coupon nella pagina di revisione dell'ordine quando effettua il check-out con Google Pay dal mini carrello. In precedenza, gli acquirenti venivano reindirizzati a una pagina 404.
- Gli acquirenti possono ora completare il checkout utilizzando Braintree Payments e Magento Open Source 2.4.6 con ReCAPTCHA v2 o v3 invisibile. GitHub-37241
- Gli acquirenti non possono più fare clic sul pulsante PayPal per acquistare un prodotto configurabile senza aver prima selezionato le opzioni richieste. In precedenza, gli acquirenti potevano fare clic sul pulsante PayPal e successivamente venivano reindirizzati alla pagina del prodotto con un errore:
- Il pulsante PayPal viene ora visualizzato come previsto nelle pagine del carrello e del mini-carrello. In precedenza, questo pulsante non veniva visualizzato nella pagina del carrello e veniva duplicato nella pagina del mini carrello.
Prestazioni
- Più clic nel menu a discesa Azioni di massa della pagina Vendite > Ordini non generano più più richieste POST. GitHub-37997
- Solo
200
le risposte OR404
vengono memorizzate nella cache quando un acquirente passa a una pagina che attiva una reindirizzare 301, a meno che l'intestazione Cache-Control della pagina non contengaprivate
. In precedenza, uno stato HTTP 200 conprivate
nell'intestazione Cache-Control veniva memorizzato nella cache e uno stato HTTP 301 veniva memorizzato nella cache a meno che non fosse contenutoprivate
nell'intestazione Cache-Control. GitHub-36492
- Rimosso
Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper
inutilizzato daMagento\Catalog\Model\ProductRepository
. In precedenza,ProductRepository
ha caricato questo helper, che è un controllerAdminhtml
. GitHub-37864
- Sono state migliorate le prestazioni della velocità di caricamento della pagina quando molte opzioni vengono aggiunte ai prodotti in bundle. GitHub-29409
- Il processo di assegnazione dei prodotti alle categorie dalla scheda Products in Category è stato ottimizzato. I pulsanti Assign e Remove nella scheda Add Product by SKU sono ora disattivati fino a quando i prodotti non sono completamente caricati nella griglia. In precedenza, gli utenti amministratori non potevano aggiungere prodotti per SKU in cataloghi che contenevano milioni di prodotti registrati.
- Sono state migliorate le prestazioni della mutazione
addProductToCart
durante l'esecuzione con molti attributi di prodotto personalizzati. In precedenza, quando questa mutazione veniva eseguita con molti attributi di prodotto ( approssimativamente 1000), il Magento Open Source tentava di caricare tutti gli attributi di prodotto.
- I problemi di prestazioni durante il caricamento degli attributi del prodotto utilizzati dalle regole del carrello sono stati risolti. Ora vengono caricati solo gli attributi del prodotto per le regole del carrello attive.
- Il comando
bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml
viene ora eseguito correttamente se eseguito più volte. In precedenza, questo errore veniva generato quando l'esecuzione veniva eseguita più di una volta:Coupon with the same code already exists
.
Promozione
- Gli effetti della regola di prezzo Fixed amount discount for whole cart, se applicata con la regola Apply to shipping amount, ora vengono distribuiti in modo proporzionale come previsto tra i prodotti e gli importi di spedizione. In precedenza, i calcoli degli sconti non erano corretti.
- L'impostazione Discard Subsequent Rules è ora applicata come previsto. Quando questa impostazione è abilitata, altre regole con priorità bassa possono essere applicate solo a un prodotto diverso. GitHub-35707
reCAPTCHA
- reCAPTCHA v3 invisibile ora funziona come previsto per il pulsante Sign in della pagina di pagamento. In precedenza, gli acquirenti non potevano accedere e Commerce generava errori JavaScript.
- Il Google reCAPTCHA nel flusso di lavoro di pagamento ora funziona come previsto per assegni, ordini di pagamento e metodi di pagamento personalizzati.
- I moduli Adobe Commerce non possono più essere inviati prima che venga caricata la casella di controllo Google ReCAPTCHA.
- Il widget reCAPTCHA ora precede la Place Order pulsante nella pagina di pagamento. In precedenza, il widget veniva visualizzato nella parte superiore della pagina.
Rapporti
- Il rapporto Ordini (REPORTS > Sales > Orders) ora include valori degli ordini corretti quando gli ordini vengono generati da negozi che utilizzano valute non predefinite. In precedenza, questo report includeva valori errati. GitHub-36742
- Le informazioni fuorvianti nel modulo di segnalazione degli ordini di vendita sono state riviste per maggiore chiarezza.
- Gli utenti amministratori possono ora cercare record con e-mail contenenti
+
segni più dalla pagina Report carrelli abbandonati. GitHub-36560
Ricerca search-heading
- I suggerimenti di ricerca con completamento automatico nel mini front-end di ricerca dell’intestazione ora funzionano come previsto. In precedenza, il completamento automatico non compilava questo campo quando questa funzione era abilitata. GitHub-37557
- Le prestazioni delle query eseguite dalla barra di ricerca di amministrazione sono state migliorate con l’aggiunta di un indicizzatore. In precedenza, più grande era la tabella
search_query
, più tempo richiedeva il completamento della query.
- L’ordinamento alfabetico dei prodotti in base al nome ora funziona correttamente per i nomi che contengono caratteri turchi.
- La proprietà dell'attributo di prodotto Use in Search Results Layered Navigation viene ora visualizzata solo quando l'impostazione Use in Search è impostata su Yes.
- Il prezzo di ricerca avanzato e i filtri SKU ora funzionano correttamente se applicati insieme in una ricerca avanzata. GitHub-37581
- Non vengono più eseguite ricerche per campi di ricerca vuoti. Questo riduce le dimensioni della tabella
search_query
. In precedenza, le query non corrette o le query su campi di ricerca vuoti restituivano un set di dati enorme, che aumentava le dimensioni della tabellasearch_query
e causava problemi con/tmp
.
- I filtri storefront ora funzionano come previsto quando si ordinano le voci di catalogo con attributi personalizzati a discesa.
- I risultati della ricerca ora visualizzano i risultati rilevanti in base al peso della ricerca degli attributi come previsto.
- Il testo informativo nel campo di input
Storefront Properties
dell'attributoSearch Weight
in Admin Stores > Attributes > Product ora descrive i valori possibili. GitHub-36646
Spedizione
- Le regole di prezzo del carrello ora funzionano come previsto quando un prodotto bundle viene aggiunto al carrello quando gli attributi di prezzo dinamico sono disabilitati. La spedizione gratuita e la tariffa di tabella corretta vengono applicate indipendentemente dal fatto che l’attributo dinamico sia abilitato o disabilitato. In precedenza, la spedizione gratuita non veniva applicata come previsto.
- Il Magento Open Source passa ora a una nuova pagina di spedizione come previsto dopo aver creato una spedizione parziale per un ordine. In precedenza, dopo la creazione di una spedizione parziale, il Magento Open Source non aveva creato una pagina di spedizione completa per i restanti prodotti dell'ordine. GitHub-38063
- L'importo totale per la spedizione di un ordine a più indirizzi ora viene calcolato correttamente. In precedenza, quando un preventivo conteneva più di un indirizzo di spedizione, l'agente di raccolta totale aveva aggiornato l'importo di spedizione per l'indirizzo specificato in
$quote->getShippingAddress()
anziché passarlo di$shippingAssignment
come previsto. GitHub-37283
- Il Magento Open Source non genera più un’eccezione durante il pagamento con più indirizzi di spedizione quando l’utente amministratore utilizza la funzione di accesso come cliente.
- I prodotti ora sono elencati correttamente nella pagina Crea pacchetti Griglia prodotti quando si aggiungono prodotti a un pacchetto dopo la creazione dell'etichetta di spedizione.
- La query
cart
ora restituisce sconti di spedizione discreti come sconti di spedizione separati con etichette di sconto univoche. La nuova proprietà di scontoapplied_to
supporta la differenziazione tra gli sconti applicati a un elemento del carrello. In precedenza, tutti gli sconti sulla spedizione venivano combinati in un unico valore hardcoded Shipping Discount.
- Quando un utente amministratore crea un riordino, gli indirizzi di fatturazione e spedizione dell'ordine iniziale compilano automaticamente i campi pertinenti quando l'utente amministratore fa clic sul pulsante Reorder (Admin Sales > Orders > View ). Se gli stessi indirizzi vengono salvati nella rubrica del cliente, il nuovo ordine includerà sempre una versione aggiornata di tali indirizzi. In precedenza, il campo dell’indirizzo di spedizione era precompilato con i dati aggiornati, ma il campo dell’indirizzo di fatturazione non lo era.
- La casella di testo Shipping Policy è ora visibile nell'ambito di visualizzazione dell'archivio di amministrazione quando Apply custom Shipping Policy è abilitato e sono disponibili criteri di spedizione personalizzati. GitHub-36425
- La query
cart
ora restituisce un valoreselected_shipping_method
che corrisponde a uno dei codici vettore e metodoavailable_shipping_methods
. In precedenza, quando uno dei metodi di spedizione selezionati conteneva un carattere di sottolineatura, questi codici vettore/metodo non corrispondevano. GitHub-36606
- La mutazione
setShippingAddressesOnCart
non genera più un errore quando il secondo valore nella matrice stradale è nullo. In precedenza, questa eccezione veniva generata:The address failed to save. Verify the address and try again
. GitHub-35160
Sitemap
- La mappa del sito XML ora funziona come previsto in una distribuzione multistorio. In precedenza, le sitemap non contenevano le pagine predefinite assegnate per ciascun archivio. GitHub-35001
- I commercianti possono ora creare e salvare un prodotto quando il sito Web
id != 1
e la modalità negozio singolo sono abilitati. In precedenza, l'azione di salvataggio non era riuscita con questo messaggio:SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
. GitHub-35009
Imposta
- Le fatture ora visualizzano il subtotale corretto quando le imposte sono configurate e FPT è abilitato.
- Il Magento Open Source visualizza ora il valore corretto per il valore Regular Price quando viene selezionata un'opzione personalizzata per un prodotto con un valore Special Price quando Price Display Settings è impostato per includere l'imposta.
- L'imposta è ora inclusa come previsto nel prezzo di spedizione del flusso di lavoro di pagamento, come specificato dalle impostazioni di configurazione.
- Il valore di risposta
applied_taxes
della querycart
ora include tutte le singole regole fiscali come previsto. In precedenza, restituiva il valore fiscale totale quando venivano configurate più regole fiscali.
- L'icona di compressione/espansione per la sezione Additional Settings durante la creazione della regola fiscale ora funziona come previsto. In precedenza, funzionava solo l’icona di espansione. GitHub-37922
- È ora possibile modificare il valore di Paese e area aliquota dalla pagina di modifica Regola imposta come previsto. In precedenza, le modifiche apportate da quella pagina non venivano salvate.
- L’importo dell’imposta nell’area di stima del carrello viene ora aggiornato come previsto quando viene aggiornato il metodo di spedizione. In precedenza, l’aliquota non veniva aggiornata dopo che un acquirente aveva cambiato paese durante il pagamento.
- Il valore
tax class
per i prodotti semplici appena creati è ora impostato sul valore del prodotto principale durante la creazione di nuove varianti di un prodotto configurabile esistente nell'ambito della visualizzazione archivio. In precedenza, questo valore era impostato su none. Di conseguenza, a questi prodotti nel carrello non veniva aggiunta alcuna imposta e i clienti venivano tassati in difetto. GitHub-37180
Test
- È stato migliorato il test
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
per eliminare gli errori causati dal completamento prematuro del campo e-mail.
- Refactoring di
StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest
eseguito per migliorarne l'affidabilità. GitHub-38359
- È stato corretto il test
AdminSimpleProductwithTextandVisualSwatch
introducendo un passaggio aggiuntivo che impostava esplicitamente gli attributi da utilizzare nella ricerca.
- È stato corretto l'errore di battitura nello unit test
SortbyTest
. GitHub-37792
- Sono stati rimossi i riferimenti a classi inesistenti negli unit test. GitHub-37636
- È stato migliorato il test
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
per eliminare gli errori causati dal completamento prematuro del campo e-mail.
- Test
Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId
sottoposto a refactoring per gestire l'ordine casuale delle categorie nelle risposte alle queryproducts
.
\Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrity
test ora verifica tutte le classi PHP dai moduli registrati daComponentRegistrar()
.
- Sono stati risolti problemi di prestazioni con array di grandi dimensioni
TableNameSniff
.
CollectionTest::testGetDateRangeFirstPart()
ora rappresenta l'ora legale.
Framework interfaccia utente
- L'attributo
crossorigin
è stato aggiunto alinkTypes
forHEAD
elements.GitHub-32509
- Lo strumento di caricamento delle immagini ora funziona come previsto nelle righe dinamiche. Le immagini ora vengono caricate correttamente se inviate come array multinazionale. GitHub-37957
- Gli stili di caricamento dei file non vengono più duplicati nel tema Luma. GitHub-32373
- I campi stradali nel modulo di modifica dell'indirizzo del account del campo strada vengono ora salvati correttamente. Questi campi ora sono ordinati correttamente in base alle chiavi specificate nel modulo. GitHub-37973
- I valori CLS (Cumulative Layout Shift) sono stati migliorati per le pagine dei dettagli del prodotto. (Questa metrica quantifica la stabilità visiva dei layout di pagina).GitHub-35410
- È stata migliorata la messaggistica degli errori che si verificano durante il rendering del modello. Magento Open Source visualizza ora un messaggio informativo. In precedenza, il Magento Open Source mostrava perdite di HTML in caso di errore PHP.
- Gli attributi cliente personalizzati (tipo
File attached
) ora funzionano correttamente con le immagini eliminate e quindi caricate. In precedenza, gli attributi personalizzati caricati, eliminati e quindi nuovamente caricati non potevano essere salvati dalla vetrina.
- È stato corretto un errore di sintassi nel file del modello di calendario. GitHub-37725
- Gli utenti amministratori possono ora modificare il logo della vetrina quando è abilitata la modalità negozio singolo. In precedenza, Magento Open Source visualizzava il logo di fallback predefinito. GitHub-35952
- I valori di configurazione dei mixin non sono più vuoti e i mixin jQuery ora funzionano indipendentemente dalla posizione di caricamento. In precedenza, i mixin jQuery non venivano caricati in modo coerente tra i browser.
- Le password vengono ora visualizzate come previsto quando è attiva la Show Password casella di controllo nella pagina login.
- Magento Open Source ora visualizza i prezzi corretti per i prodotti a pacchetto fisso con prezzi speciali.
- È stata aggiornata la collegare alla pagina di elenco dei problemi GitHub nel file modello piè di pagina della vetrina a piè di pagina. GitHub-37214
- Il widget Visualizzato di recente visualizza ora l'importo corretto di imposte nei prezzi dei prodotti raggruppati. GitHub-35881
- Gli utenti amministratori possono ora trascinare e rilasciare le opzioni personalizzabili create per il prodotto semplice come previsto. GitHub-36051
- L’ordine dei tipi di attributi a discesa del prodotto ora corrisponde all’ordine delle immagini nella pagina del prodotto configurabile. GitHub-37285
- I messaggi di sistema ora vengono caricati più rapidamente. Vengono caricati solo i messaggi visualizzati. In precedenza, tutti i messaggi venivano caricati dal database, operazione che richiedeva molto tempo.
- La rimozione del nodo breadcrumb mediante l'impostazione
remove=true
tramite il layout XML non comporta più la rimozione del titolo della pagina nella pagina della categoria. In precedenza, la rimozione delle breadcrumb in questo modo rimuoveva il titolo della pagina dalla pagina della categoria.
- Il modulo registrazione cliente viene ora caricato come previsto quando include attributi cliente a selezione multipla. In precedenza, Magento Open Source generata questa eccezione:
[2023-03-05T05:57:40.032602+00:00] report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
. GitHub-37189
- I messaggi di benvenuto contenenti virgolette singole vengono ora visualizzati correttamente nella vetrina senza errori della console. In precedenza, se un messaggio di benvenuto conteneva una virgoletta singola, il messaggio di benvenuto non veniva caricato durante il rendering nella vetrina. Il Magento Open Source ha inoltre visualizzato errori della console.
- Il Magento Open Source non genera più un errore quando si tenta di modificare rapidamente la visualizzazione tra la cronologia dei commenti e Restituisce nella pagina Ordine amministratore. In precedenza, Magento Open Source visualizzava questo errore generico:
A technical problem with the server created an error
.
- Gli utenti amministratori con privilegi limitati a un sito Web ora possono aggiornare gli attributi di prodotto specifici del sito Web impostati su un ambito
all stores view
.
- Il widget Lente ora viene caricato come previsto nella pagina del prodotto.
- Le opzioni personalizzabili su più righe vengono ora visualizzate correttamente nei documenti PDF di fatture, spedizioni e note di accredito. In precedenza, il testo su più righe era preceduto da un’interruzione di pagina imprevista e, se il testo superava la pagina, veniva troncato.
- Gli utenti Amministratore possono ora aggiungere un nuovo indirizzo cliente dall'Amministratore quando il cliente è stato creato per un altro sito Web il cui ID store non corrisponde all'ID del sito Web. In precedenza, Magento Open Source visualizzato questo messaggio finestra a comparsa:
Something went wrong
. GitHub-36582
- I messaggi di errore associati all’invio di commenti nella pagina dei dettagli dell’ordine ora sono più informativi. In precedenza, quando un acquirente faceva clic su Submit comment senza modificare lo stato dell'ordine o immettere testo nell'area dei commenti, Magento Open Source visualizzava questo messaggio:
The comment is missing. Enter and try again
.
- L'icona del calendario viene ora visualizzata come previsto nei campi dell'intervallo di date in Admin Marketing > Cart Price Rules dopo che è stata selezionata una data per un campo. In precedenza, dopo aver selezionato una data per un campo, l’icona del calendario non veniva più visualizzata sugli altri campi e il Magento Open Source visualizzava il testo segnaposto. GitHub-36499
- I moduli di registrazione cliente che includono campi a selezione multipla ora vengono caricati correttamente. In precedenza, il modulo non veniva caricato se conteneva campi a selezione multipla e veniva attivato il seguente errore:
report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
. GitHub-37189
- Facendo clic sulla miniatura di un video nella modalità a schermo intero della galleria dei prodotti, il video viene ora visualizzato come previsto. In precedenza, il video non veniva visualizzato e nella console browser veniva visualizzato un errore JavaScript. GitHub-36456
- Alla riga del copyright è stata aggiunta una variabile che viene aggiornata automaticamente ogni anno. GitHub-36776
- Il cursore immagine sulla pagina del prodotto ora funziona come previsto nella visualizzazione per dispositivi mobili. In precedenza, veniva visualizzata correttamente solo la prima immagine. GitHub-37232
URL riscritture
- URL riscritture vengono ora generate in base alla configurazione della visibilità a livello di store nelle distribuzioni multi store. In precedenza, URL riscritture non venivano generate per gli archivi non predefiniti quando la visibilità del prodotto era impostata su non visibile nella ambito store predefinita.
Category::getUrl()
non recupera più un reindirizzare 301. GitHub-38152
- Magento Open Source non genera più riscritture di URL di prodotto per le categorie radice e per i prodotti impostati su Not Visible Individually in configurazioni multi store quando si generano riscritture di URL mancanti per archivi personalizzati.
- I tag URL canonici ora riflettono le modifiche previste dopo l’aggiornamento della proprietà Key dell’URL della categoria. In precedenza veniva utilizzato l’URL obsoleto della categoria, che attivava immediatamente il reindirizzamento al nuovo URL.
- Le riscritture dell’URL del prodotto della categoria vengono ora generate come previsto per tutte le visualizzazioni dello store quando un prodotto viene aggiunto a una categoria. GitHub-32910
- Il Magento Open Source non genera più un errore quando si tenta di creare un reindirizzamento 301/302 per un URL di prodotto quando L'opzione Genera URL categoria/prodotto riscrive è abilitata. Quando un prodotto viene creato e assegnato a una categoria, vengono create riscritture automatiche URL: una per la URL diretta e una per il prodotto attraverso il percorso della categoria. Quando viene creata una nuova riscrittura URL prodotto, vengono verificate le correlazioni tra prodotto, categoria e store. Questo controllo si basa ora sulle proprietà delle entità correlate (categoria e prodotto). In precedenza, questo controllo veniva eseguito su riscritture di URL preesistenti.
- Categoria URL vengono ora generate riscritture per tutte le viste store quando una nuova categoria viene importata da un file CSV.
- Le configurazioni del suffisso URL prodotto e del suffisso URL categoria ora corrispondono ai suffissi nella tabella
url_rewrite
. In precedenza, si verificavano race condition durante l'aggiornamento delle configurazioni del suffisso URL e i suffissi URL configurati e la tabellaurl_rewrite
non corrispondevano.
- Durante la creazione di riscritture dell’URL di una categoria, il Magento Open Source ora esegue il rendering della struttura delle categorie a tutti i livelli. In precedenza venivano visualizzati solo i primi tre livelli di categorie. GitHub-36973
- Le riscritture degli URL delle categorie sono ora presenti nel file CSV durante l’importazione di una nuova categoria.
- Le pagine CMS in più store senza riscritture URL ora vengono inoltrate come previsto. In precedenza, le pagine CMS in più store richieste senza riscritture URL venivano reindirizzate alla home page del negozio, ma le pagine CMS originali non venivano indirizzate.
Framework API web
- Il Magento Open Source non visualizza più un avviso
Integration not secure
in Admin System > Extensions > Integrations quando i campi Callback URL e Identity link URL sono vuoti. GitHub-36407
- Gli attributi di estensione
taxes
,itemized_taxes
eadditional_itemized_taxes
sono stati aggiunti aMagento\Sales\Api\Data\OrderInterface
. Questi attributi consentono di salvare le imposte applicate con le chiamate REST dell’ordine.
- L’API REST per i prezzi a livello ora supporta le quantità decimali. In precedenza, questa API non consentiva quantità decimali lineare quando l'impostazione Use Decimal Quantity era abilitata.
- L'endpoint REST
V1/orders/{id}/comments
non modifica più lo stato di un ordine quando si tenta di aggiungere un commento allo stato di un ordine in sospeso. Ora genera un errore informativo. In precedenza, questo endpoint modificava lo stato dell’ordine quando si aggiungeva un commento.
- L'endpoint REST API
GET
ePOST V1/products/attributes
non restituisce più lo stesso valore per l'attributois_filterable
per entrambe le opzioniFilterable(with results)
eFilterable(no results)
dell'opzione Use in Layered Navigation. In precedenza, questo endpoint restituiva lo stesso valore perché la proprietà dell'attributois_filterable
era di tipoBoolean
, che non consentiva di impostare questa proprietà suFilterable(no results)
. GitHub-37979
- Il campo
media_gallery_entries
mancante è stato aggiunto all'endpoint RESTV1/configurable-products/sku/children
. In precedenza, questa funzione non disponeva del codice necessario per archiviare e visualizzaremedia_gallery_entries
. GitHub-37607
- Il metodo REST
V1/carts/mine/estimate-shipping-methods
ora convalida tutti i livelli dei dati del campo payload e restituisce un codice HTTP 400 per i dati non validi. In precedenza, veniva convalidato solo il primo livello del payload API e, se venivano restituiti dati non validi in livelli non convalidati del payload, il Magento Open Source restituiva il codice di stato 500.
- Le operazioni REST API in blocco asincrone per aggiornare i prodotti con prezzi di livello e set di attributi diversi ora vengono completate correttamente. In precedenza, i prodotti con set di attributi diversi non potevano essere aggiornati in questo modo e il Magento Open Source visualizzava questo errore:
The product was unable to be saved. Please try again
.
- L'endpoint
POST /V1/products/tier-prices
ora restituisce un messaggio di errore più informativo quando viene utilizzato un nome di gruppo di clienti non valido durante la creazione del prezzo di livello. In precedenza, il Magento Open Source aveva restituito un errore simile al seguente:Notice: Undefined index: XXXXX in ~/public_html/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php on line 474"
. GitHub-36431
- Ora puoi eseguire una richiesta API in blocco asincrona autorizzata per creare clienti con un ID gruppo non predefinito. In precedenza, queste richieste reimpostavano l’ID gruppo sul valore predefinito.
- I clienti creati utilizzando l’API in blocco ora ricevono le e-mail di registrazione del cliente nella lingua configurata nel sito web assegnato. In precedenza, tutte le e-mail venivano inviate alla lingua predefinita, non a quella del sito web a cui il cliente è assegnato.
- La chiamata
POST V1/guest-carts
non invia più ordini guest quando Allow Guest Checkout è disabilitato.
- Il Magento Open Source ora restituisce correttamente l'attributo
content
(codice immagine base64) nelle risposte API diGET V1/products/sku/media
per contenuti multimediali del prodotto. L'attributocontent
non è stato visualizzato in precedenza nella risposta.
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.7 utilizzando Compositore.