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.

NOTE
Le versioni di Adobe Commerce possono contenere modifiche non compatibili con le versioni precedenti (BIC). Per rivedere le modifiche non compatibili con le versioni precedenti, vedere Riferimento BIC. I principali problemi non compatibili con le versioni precedenti sono descritti in Elementi di rilievo BIC. Non tutte le versioni introducono i principali BIC.

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

Miglioramenti di sicurezza per questa versione migliorano la conformità alle più recenti best practice 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 o setData.
    • Le chiavi della cache non generate per i blocchi ora devono contenere solo lettere, cifre, trattini (-) e caratteri di sottolineatura (_).
  • 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 parametro handles 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 per l'integrità della sottorisorsa (SRI) per soddisfare i requisiti PCI 4.0 per la verifica dell'integrità dello script nelle pagine di pagamento. Il supporto per l’integrità della sottorisorsa (SRI) fornisce hash di integrità per tutte le risorse JavaScript che risiedono nel file system 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 su yes, 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 possedute da 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 l'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 di jsTree.

  • Libreria jquery/fileUpload rimossa.

Tutte le librerie JavaScript e le dipendenze NPM nel codice di base del Magento Open Source sono state aggiornate alle versioni più recenti disponibili. Tutte le dipendenze della libreria Laminas sono state aggiornate alla versione più recente compatibile con PHP 8.3.

Aggiornamenti aggiuntivi

  • Il gateway API XML UPS Commerce è stato migrato alla nuova API REST UPS Commerce 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 bearer) per tutte le API.) Tutte le precedenti API XML di Commerce UPS sono state rimosse dalla base di codice di Magento Open Source 2.4.7.

  • L'integrazione di Magento Open Source 1} con FedEx è stata migrata dai servizi Web WSDL FedEx legacy alle API RESTful più recenti di FedEx.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 pianificare consegne e restituzioni 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 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.

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 mutazione clearCustomerCart, che è stata dichiarata obsoleta.

  • Miglioramenti nella creazione di mutazioni del carrello. La mutazione createGuestCart è stata aggiunta per sostituire la mutazione createEmptyCart obsoleta. In precedenza, se si utilizzava createEmptyCart, 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.

  • 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 e setShippingAddressesOnCart:

    • fax
    • middlename
    • prefix
    • suffix

Nuove query e mutazioni

Query e mutazioni obsolete

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:

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) e isFilterable (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 o bin/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 di app/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 indicizzatori mview 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 durante setup: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 file env.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 indicizzatori mview 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 tag meta 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 su website. 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.
  • La cache delle pagine viene ora cancellata come previsto per un prodotto principale quando uno dei suoi prodotti secondari è stato salvato dall’amministratore. È stato introdotto un controllo del plug-in per raggiungere l’invalidazione della cache per le varianti configurabili, simile ad altri tipi di prodotto, indipendentemente dallo stato dell’indicizzatore (pianificato o in tempo reale). In precedenza, i prezzi non venivano aggiornati correttamente sullo storefront dopo l’aggiornamento di una variante configurabile da parte dell’amministratore.
  • È stato aggiunto un meccanismo di caching per le credenziali di AWS. Un provider di credenziali ora utilizza la cache di Commerce per memorizzare nella cache le credenziali recuperate da AWS per la configurazione EC2.
  • Il plug-in il cui scopo è quello di aggiungere il tag della cache configurabile quando viene salvato un prodotto semplice associato a un prodotto configurabile ora funziona come previsto. Tutti i tag della 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 delle offerte 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.
  • È stata migliorata la generazione del testo del filtro delle regole del carrello per gli attributi del prodotto. 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. Il Magento Open Source ora elabora solo il numero di indirizzi cliente specificato nell'impostazione Customer Addresses Limit. In precedenza, il Magento Open Source caricava l'intera rubrica.
  • È ora possibile modificare la quantità di prodotto nel carrello come previsto per gli articoli in magazzino quando un articolo è esaurito. In precedenza, gli acquirenti non potevano modificare la quantità di prodotto di qualsiasi articolo quando uno era esaurito.
  • Il filtro dell'attributo di prodotto AdvancedSalesRule ora funziona correttamente con il tipo di back-end dell'attributo decimale. Di conseguenza, le regole del carrello con Coupon 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 cliente ora rispettano l’impostazione di dominio del cookie. In precedenza, il mini carrello non veniva aggiornato come previsto negli archivi che contenevano sottodomini, anche se la sessione era condivisa.
  • La spedizione di un ordine a più indirizzi non attiva più un errore durante l’elaborazione dell’ID di regione.
  • Gli importi degli sconti fissi 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 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
  • 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 tabella quote_item ora include un elenco corretto degli ID di regola applicati. In precedenza, questo valore conteneva solo l’ultimo ID regola applicato.
  • I dati del mini-carrello e dei clienti nell’archiviazione locale ora vengono ripristinati quando una sessione viene rimossa dal server. In precedenza, questi dati venivano ancora visualizzati quando il file di sessione veniva rimosso.
  • I carrelli discreti non vengono più uniti erroneamente dall’amministratore quando il carrello persistente è abilitato.
  • Il calcolatore delle imposte sul carrello e il calcolatore di spedizione ora riflettono con precisione 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 stesso quote_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 query cart 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 stato cancel 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 ora viene inizializzato solo quando è necessario invece che ogni volta che viene abilitato il check-out guest. Ora viene inizializzato quando l'acquirente guest tenta di procedere all'estrazione e l'estrazione guest è disabilitata. 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
  • La condizione della regola del prezzo di catalogo If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true ora funziona correttamente con gli attributi categoria e SKU. 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 una nuova regola del prezzo del carrello con l'estensione Magento_OfflineShipping disabilitata. In precedenza, il Magento Open Source ha generato questo errore: report.ERROR: Warning: Undefined array key "simple_free_shipping". GitHub-37580
  • Le regole di prezzo del carrello ora vengono applicate come previsto quando per il negozio viene configurata una regola di prezzo del carrello correlata a un metodo di spedizione e questo metodo di spedizione viene modificato in un altro durante il pagamento. In precedenza, il valore applied_rule_ids non veniva mai modificato nella tabella sales_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
  • L'esecuzione di bin/magento cache:clean o bin/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 su website. 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 di prodotto visualizzate di recente vengono ora visualizzate in base alla configurazione della vista del negozio. 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 o NOT NULL vengono ora salvati per l'archivio predefinito in base alla casella di controllo Usa valore predefinito come previsto. In precedenza, i metadati con valore NULL 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 prodotto alt è 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 valore use_config_manage_stock è uguale a 1. 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 tema view.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 o Date 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 . 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 sono disponibili più righe con lo stesso SKU e store_view_code causava prezzi non accurati per gli ambiti di visualizzazione predefiniti e Tutti gli store.
  • Gli esercenti possono ora aggiungere un’immagine GIF alla galleria di immagini di un prodotto dall’Amministratore. In precedenza, il Magento Open Source visualizzava 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 personalizzata 01/01/1970. 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
  • 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, si potevano verificare timeout durante le operazioni di salvataggio del prodotto. GitHub-36928
  • La visualizzazione in 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 erano precedentemente utilizzati non riesce. 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 e created_at).

cron

  • Il processo cron aggregate_sales_report_bestsellers_data non crea più tabelle MySQL temporanee di grandi dimensioni e ora viene completato correttamente. Questo processo cron ora inserisce i dati per archivio, non per tutti gli archivi contemporaneamente. In precedenza, questo processo cron poteva causare No 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, cron jobs tentava di acquisire blocchi quando era troppo tardi per eseguire il processo. I processi Cron in cron_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 su store_id e updated_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

  • Nel Magento Open Source vengono ora visualizzati i campi Date of Birth, Tax/VAT Number, Gender, Telephone, Company e Fax nella pagina modifica cliente in base alle impostazioni di configurazione. GitHub-36196

E-mail

  • 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, la convalida front-end impediva la creazione di un utente con segni diacritici nel suo 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 generati solo HIT o MISS valori. GitHub-37912
  • È stato aggiunto del codice per supportare la gestione predefinita della compressione della vernice. GitHub-38309
  • Il comando varnish:vcl:generate ora include input-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 in composer.json è stato aggiornato alla versione 1.0.0. GitHub-36913
  • È stato corretto un tag documento PHP non corretto nella classe Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid. 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 in CompositeTagGenerator per evitare errori durante la compilazione dell'iniezione di dipendenze. In precedenza, l'esecuzione del comando bin/magento setup:upgrade quando i moduli Magento_DirectoryGraphQl e Magento_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 quali JweAlgorithmManagerFactory.php, JweContentAlgorithmManagerFactory.php e JwsAlgorithmManagerFactory. 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 file var/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 a array_combine di ricevere false come secondo argomento. Di conseguenza, il precaricamento continuerà a essere eseguito quando exec() 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 a Eswatini 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 funzione get_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 e Magento_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 in app/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 durante bin/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 e set 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 file trim-input.js. GitHub-37683
  • I dettagli specifici dell'evento vengono ora passati come secondo attributo (context) del metodo log. GitHub-37879
  • Alle immagini del catalogo sono stati aggiunti i valori delle proporzioni e gli script non necessari sono stati rimossi dal framework dell’interfaccia utente. GitHub-37691
  • Sono stati rivisti i messaggi di errore attivati da una configurazione XML non valida per fornire maggiori informazioni. GitHub-37788
  • Codice obsoleto sottoposto a refactoring relativo alla creazione di proprietà dinamiche in tutta la base di codice.
  • Sono state migliorate le prestazioni degli indicizzatori per i grandi store con database di prodotti estremamente attivi. Gli indicizzatori ora indicizzano le informazioni più recenti del 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
  • Lo stato del record mview_state ora indica con precisione lo stato in base all'attività changelog quando è disponibile una connessione al database slave. In precedenza, questi record rimanevano nello stato waiting nelle distribuzioni cloud anche quando non vi erano nuove voci nel changelog.
  • È stato aggiunto il supporto per l'opzione precision per il formato della valuta per mantenere la parità delle funzioni con la classe ZendCurrency obsoleta.
  • I messaggi dei cookie sono stati convertiti in attributi osservabili e gli sviluppatori possono ora manipolare lo stato, che può potenzialmente attivare le modifiche dell’interfaccia utente. 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 file app/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 metodo toCurrency ignorava il parametro position. 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 setter AbstractModel. 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 in customer_entity_int è ora incrementato correttamente. Viene eseguita una query di aggiornamento invece di insert 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
  • È stato rimosso uno spazio vuoto non necessario dagli attributi id che non lo richiedono. Questo bug è stato introdotto da una modifica al codice di Magento Open Source 2.4.6.
  • I codici store non vengono più visualizzati nell'URL store quando lo store è in modalità single-store. 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 riesce per l’ordine a cui sono stati applicati. I messaggi della coda vengono ora elaborati nell'ordine in cui vengono pubblicati all'avvio del consumer. In precedenza, il primo messaggio veniva estratto dalla coda per verificare semplicemente se i messaggi erano in coda e veniva successivamente rifiutato, causando l’ultima elaborazione del primo messaggio.
  • Il 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 modifica 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 in responseBody in app/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 come All, il valore gws_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 come Custom, il valore gws_store_groups è sempre stato salvato come nullo.
  • È ora possibile accedere alla pagina di reimpostazione della password facendo clic sul collegamento Reimpostazione password amministratore nella pagina di accesso amministratore 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 Statistiche di amministrazione ora viene calcolato in base al fuso orario impostato nelle impostazioni di configurazione, quindi convertito in UTC per recuperare i dati dal database.
  • Il filtro gerarchia CMS funziona come previsto dopo aver filtrato una visualizzazione archivio e aver fatto clic su Save in Admin Content > Hierarchy. In precedenza, facendo clic su Save, la pagina veniva aggiornata, ma il contesto andava perso e la visualizzazione dello 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 CMS viene ora visualizzato il valore corretto del widget block_id. 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 flag is_subscribed, il relativo resolver, la cache e i test associati sono stati spostati dal modulo CustomerGraphQl al modulo NewsletterGraphQl.
  • La mutazione addProductsToCart non segnala più errori non correlati in user_errors. In precedenza, gli errori relativi al carrello venivano inclusi in user_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 attributo match_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 query products 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'impostazione Visibility: Catalog. GitHub-36591
  • La query customer ora restituisce un campo product_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 filtro FilterRangeTypeInput nelle query dei prodotti. In precedenza, questi attributi erano mappati a FilterMatchTypeInput. In seguito a questa modifica, le query che filtrano gli attributi DateTime richiedono valori from e to 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 risposta items.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 e route ora restituiscono un risultato quando Target Path di riscrittura URL è un URL assoluto. In precedenza, la query urlResolver 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 sezione product compilata del blocco options 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 ora url_key valori quando sono selezionate più categorie.
  • Le query products ora restituiscono aggregazioni solo per i prodotti assegnati al catalogo condiviso specificato.
  • I nomi delle transazioni sono stati aggiunti alle transazioni di New Relic GraphQL. GitHub-36874
  • Il metodo get() della classe OptionValueProvider ora restituisce un valore di opzione attributo basato sul valore option_id specificato come previsto. In precedenza, restituiva 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 durante la query su related_products, upsell_products e crossell_products in ProductInterface. GitHub-29769
  • La query products ora restituisce prodotti correlati, di upselling e di cross-selling nell'ordine in cui sono stati salvati. GitHub-36461
  • Le query GraphQL ora restituiscono dati di prodotti correlati ordinati per posizione. GitHub-33010
  • category_url_path è stato aggiunto a ProductAttributeFilterInput, 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 su key_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 come String. In precedenza, il writer di Excel codificava questi valori come number, 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'attributo country_of_manufacture.
  • I prodotti esportati ora hanno il valore manage_stock corretto quando il valore use_config_manage_stock è uguale a 1. In precedenza, questo valore predefinito era errato.
  • Magento 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
  • È stata migliorata l’indicizzazione dei prodotti con molte opzioni di attributi. GitHub-36386

Infrastruttura

  • È stata aggiunta un'istruzione return mancante al controller di abilitazione per utilizzo amministratore. In precedenza, non era presente alcuna istruzione return e il controller nella classe FrontendController è stato gestito in modo errato. GitHub-31374
  • MySQL CREATE TEMPORARY TABLE ... LIKE è stato sostituito con CREATE 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 sostituito Zend_Validate_File_Upload. In precedenza, la convalida si bloccava durante il caricamento di un file di importazione di dimensioni maggiori del valore configurato in php.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 e pub/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() il int 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 tabella inventory_source_item non viene più aumentato con ogni operazione UPDATE. In precedenza, ogni aggiornamento aumentava il valore AUTO_INCREMENT di questa tabella, causando l'esclusione del valore AUTO_INCREMENT dall'intervallo durante l'aggiunta di un nuovo record a inventory_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() restituiva lo stato delle scorte in base all'ambito corrente indipendentemente dall'oggetto prodotto.

Registrazione

  • Gli utenti amministratore possono ora visualizzare i registri delle azioni in blocco create dalle integrazioni nella sezione Bulk Actions Log (Registro azioni in blocco) dell'amministratore.

Login

  • Il ripristino di una password in un browser e il successivo accesso tramite un altro browser non generano più un'eccezione. GitHub-36447
  • I clienti vengono ora reindirizzati alla pagina di accesso dopo l’attivazione di un account, come previsto. In precedenza, i clienti effettuavano l’accesso automaticamente.

Newsletter

  • Commerce ora controlla se la funzionalità di abbonamento alla newsletter è abilitata prima di accettare nuovi abbonati a una newsletter. GitHub-33040

Ordini

  • I prodotti spostati dal carrello dell’amministratore all’elenco degli articoli da ordinare vengono ora eliminati come previsto dal carrello. 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 chiamata getInfoBlockHtml() e non viene registrato alcun errore. In precedenza, il file system.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 restituiva true 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 tabelle sales_order e sales_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 ipertestuale a 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 dell'ordine quando si verifica questo errore. In precedenza, gli ordini venivano ancora creati nonostante un errore 502 da PayPal, che causava incongruenze tra i record del Magento Open Source e quelli di PayPal.
  • Le transazioni di pagamento PayPal Express ora includono SKU di prodotti secondari e titoli completi dei prodotti. Il file Magento/Paypal/Model/Cart.php ora raccoglie gli SKU dei prodotti secondari con il relativo titolo del prodotto principale per identificare il titolo del prodotto con lo SKU 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 Vault non viene più visualizzata nel flusso di lavoro di pagamento dell'amministratore quando l'acquirente non dispone di un token 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 in vetrina dei metodi di pagamento del credito PayPal e PayPal.
  • 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 fatturati parzialmente vengono ora acquisiti come previsto nell’account corretto nelle distribuzioni in cui i commercianti hanno due ID account commerciante diversi per la stessa valuta nel proprio account di 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 Metodo di pagamento Braintree Vault non viene più deselezionata automaticamente nel flusso di lavoro di pagamento quando un acquirente aggiorna il proprio indirizzo di 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 ora vengono visualizzati come previsto con gli indirizzi nei campi dell’indirizzo di spedizione modale del popup di Google Pay. In precedenza, mancavano i numeri di telefono.
  • Gli ordini vengono inseriti correttamente con Braintree quando la risposta Braintree include un valore vuoto per threeDSecureInfo/eciFlag. In precedenza, si verificava un errore PHP durante il check-out quando questo valore era vuoto.
  • Il Magento Open Source non genera più un errore quando un acquirente applica un coupon nella pagina di revisione dell'ordine durante 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 pagamento 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
  • Quando un acquirente passa a una pagina che attiva un reindirizzamento 301, vengono memorizzate nella cache solo le risposte 200 o 404, a meno che l'intestazione Cache-Control della pagina non contenga private . In precedenza, lo stato HTTP 200 con private nell'intestazione Cache-Control era memorizzato nella cache e lo stato HTTP 301 era memorizzato nella cache a meno che non contenesse private nell'intestazione Cache-Control. GitHub-36492
  • Rimosso Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper inutilizzato da Magento\Catalog\Model\ProductRepository. In precedenza, ProductRepository ha caricato questo helper, che è un controller Adminhtml. 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.
  • Sono stati risolti i problemi di prestazioni durante il caricamento degli attributi del prodotto utilizzati dalle regole del carrello. 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 il pulsante Place Order nella pagina di pagamento. In precedenza, il widget veniva visualizzato nella parte superiore della pagina.

Rapporti

  • Il report Ordini (REPORTS > Sales > Orders) ora include valori di ordine corretti quando gli ordini vengono generati da negozi che utilizzano valute non predefinite. In precedenza, questo rapporto includeva valori errati. GitHub-36742
  • Le informazioni fuorvianti nel modulo di report 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 tabella search_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'attributo Search 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 sconto applied_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 valore selected_shipping_method che corrisponde a uno dei codici vettore e metodo available_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 query cart 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 query products.
  • Il test \Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrity ora verifica tutte le classi PHP dai moduli registrati da ComponentRegistrar().
  • Sono stati risolti i problemi di prestazioni relativi agli array di grandi dimensioni in TableNameSniff.
  • CollectionTest::testGetDateRangeFirstPart() tiene ora conto dell'ora legale.

Framework interfaccia utente

  • L'attributo crossorigin è stato aggiunto a linkTypes per gli elementi HEAD.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 relativi alla via nel modulo di modifica dell’indirizzo dell’account del cliente del campo della via ora vengono 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 la casella di controllo Show Password nella pagina di accesso è attiva.
  • Il Magento Open Source ora visualizza i prezzi corretti per i prodotti in bundle fisso con prezzi speciali.
  • È stato aggiornato il collegamento alla pagina di elenco dei problemi GitHub nel file del modello di piè di pagina storefront. GitHub-37214
  • Il widget Visualizzato di recente ora visualizza l'importo corretto dell'imposta 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 delle breadcrumb mediante l'impostazione di remove=true tramite l'XML di layout non comporta più la rimozione del titolo della pagina nella pagina della categoria. In precedenza, rimuovendo le breadcrumb, veniva rimosso il titolo della pagina dalla pagina della categoria.
  • Il modulo di registrazione cliente ora viene caricato come previsto quando include più attributi cliente selezionati. In precedenza, il Magento Open Source aveva generato 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 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
  • 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 del 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

Riscritture URL

  • Le riscritture URL vengono ora generate in base alla configurazione della visibilità a livello di archivio nelle distribuzioni multi-store. In precedenza, le riscritture URL non venivano generate per gli archivi non predefiniti quando la visibilità del prodotto era impostata su non visibile nell'ambito dell'archivio predefinito.
  • Category::getUrl() non recupera più un reindirizzamento 301. GitHub-38152
  • Il Magento Open Source non genera più riscritture dell'URL del prodotto per le categorie principali e per i prodotti impostati su Not Visible Individually nelle impostazioni multi-store durante la generazione di riscritture dell'URL mancanti per gli 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 URL automatizzate: una per l’URL diretto e una per il prodotto attraverso il percorso della categoria. Quando viene creata una nuova riscrittura dell’URL di un prodotto, vengono verificate le correlazioni tra prodotto, categoria e archivio. Questo controllo è ora basato sulle proprietà di entità correlate (categoria e prodotto). In precedenza, questo controllo veniva eseguito sulle riscritture URL preesistenti.
  • Le riscritture degli URL delle categorie vengono ora generate per tutte le visualizzazioni dello store quando si importa una nuova categoria 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 tabella url_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 multi-store senza riscritture URL ora vengono inoltrate come previsto. In precedenza, le pagine CMS multi-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 e additional_itemized_taxes sono stati aggiunti a Magento\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 anche 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 e POST V1/products/attributes non restituisce più 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. In precedenza, questo endpoint restituiva lo stesso valore perché la proprietà dell'attributo is_filterable era di tipo Boolean, che non consentiva di impostare questa proprietà su Filterable(no results). GitHub-37979
  • Il campo media_gallery_entries mancante è stato aggiunto all'endpoint REST V1/configurable-products/sku/children. In precedenza, questa funzione non disponeva del codice necessario per archiviare e visualizzare media_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 di GET V1/products/sku/media per contenuti multimediali del prodotto. L'attributo content 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.

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f