Note sulla versione di Adobe Commerce 2.4.7

Adobe Commerce 2.4.7 introduce il supporto per PHP 8.3. Introduce 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 include miglioramenti significativi delle prestazioni, tra cui un caricamento più rapido delle pagine di elenco dei prodotti per i prodotti complessi, con molte opzioni e miglioramenti per la gestione dell’indicizzatore. 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 di Adobe Commerce, molti di questi progetti (ad esempio, B2B e Progressive Web Application (PWA) Studio) vengono 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.

Caratteristiche principali di Adobe Commerce 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
  • Buona 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. Commerce 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.

  • È 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.
  • 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.

  • 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.

Adobe Commerce 2.4.7 include i seguenti aggiornamenti della piattaforma:

  • Compatibilità PHP 8.3. Questa versione introduce il supporto per PHP 8.3. Commerce 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.

Adobe Commerce 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 di Adobe Commerce 2.4.7, tutte le estensioni in bundle e tutte le estensioni di proprietà dell'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 è l'utilizzo di Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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

  • Più coupon per supporto ordine. I commercianti possono ora configurare il numero massimo di coupon che possono essere applicati per ordine con la nuova opzione di configurazione Maximum number of coupons per order. Questo valore è impostato su 1 per impostazione predefinita. È ora possibile utilizzare REST o GraphQL per applicare più coupon a un carrello.

  • 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 UPS XML di Commerce sono state rimosse dalla base di codice di Adobe Commerce 2.4.7.

  • L'integrazione di Adobe Commerce 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 principale di Commerce. Questa funzione è stata rimossa in Adobe Commerce 2.4.4.

Miglioramenti a livello di prestazioni e scalabilità

Commerce 2.4.7 include i seguenti miglioramenti alle prestazioni e alla scalabilità di Commerce:

  • Gli esercenti aziendali possono ora configurare fino a un milione di regole di prezzo attive basate su coupon in Adobe Commerce senza alcun peggioramento significativo delle prestazioni del carrello e delle operazioni di pagamento.

  • Gestione indicizzatore avanzata. Il nuovo comando indexer:set-status supporta la gestione dinamica dello stato dell'indicizzatore. Gli utenti amministratori possono utilizzare questo comando per cambiare lo stato dell'indicizzatore in suspended, invalid o valid. Questa funzione è particolarmente utile per gestire le prestazioni del sistema durante operazioni di massa estese, come importazioni di prodotti o aggiornamenti, consentendo il controllo del momento in cui gli indicizzatori vengono attivati automaticamente dai processi cron del sistema. Vedi Gestione degli indicizzatori.

  • Pagina di elenco prodotti per prodotti complessi con molte opzioni. Il tempo di caricamento è migliorato per le pagine di elenco dei prodotti che includono prodotti complessi con oltre 100 opzioni. Anche le prestazioni delle richieste di GraphQL di elencare i prodotti per categoria sono migliorate.

  • Formato JSON ora supportato per il REST API di importazione. Gli esercenti possono ora importare fino a 100.000 record al minuto in Adobe Commerce in formato JSON.

  • Miglioramenti delle prestazioni della regola di vendita. Sono state migliorate le prestazioni delle implementazioni aziendali con molte regole di vendita attive (circa 100.000). Le distribuzioni aziendali che implementano in modo significativo le promozioni spesso implementano molte regole attive del carrello. In questi tipi di distribuzioni aziendali in cui è in esecuzione Commerce 2.4.7 non si verificherà alcun peggioramento delle prestazioni correlato al numero di regole del prezzo del carrello configurate durante le operazioni di pagamento.

  • Operazioni di salvataggio più rapide delle configurazioni a livello di archivio per le distribuzioni con molti archivi. Il salvataggio delle impostazioni di configurazione nelle distribuzioni con più di 500 archivi può richiedere molto tempo. Il nuovo modulo Configurazione asincrona abilita le operazioni di salvataggio della configurazione asincrona eseguendo un processo cron che utilizza un consumer per elaborare l'operazione di salvataggio in una coda di messaggi. AsyncConfig è disabilitato per impostazione predefinita.

  • Generazione più rapida della cache di configurazione per le configurazioni di grandi dimensioni. Il comando bin/magento cache:clean config esegue ora il preriscaldamento della cache di configurazione quando questa è abilitata. Questo riduce il tempo di inattività necessario per generare la cache di configurazione per le configurazioni di grandi dimensioni. Le operazioni di salvataggio della configurazione non puliscono più la cache di config_scopes prima di scrivere i dati nella cache, riducendo anche il tempo di blocco delle altre richieste durante la scrittura dei dati di configurazione.

Server applicazioni GraphQL

GraphQL Application Server consente ad Adobe Commerce di mantenere lo stato tra le richieste API di Commerce GraphQL ed elimina la necessità di avviare il sistema, con conseguente aumento della velocità effettiva, riduzione della latenza e utilizzo efficiente delle risorse per tutte le API di GraphQL. Condividendo lo stato dell'applicazione tra i processi, le richieste API di GraphQL diventano notevolmente più efficienti e le risposte API di GraphQL sono in media il 30% più veloci.

GraphQL Application Server è disponibile solo per Adobe Commerce. Non è disponibile per il Magento Open Source. È necessario inviare un ticket di supporto Adobe Commerce per abilitare GraphQL Application Server nei progetti Pro.

NOTE
GraphQL Application Server non è attualmente compatibile con Amazon Simple Storage Service (AWS S3). I clienti di Adobe Commerce sull'infrastruttura cloud che attualmente utilizzano AWS S3 per l'archiviazione remota non possono utilizzare GraphQL Application Server fino a quando Adobe non rilascerà un hotfix più tardi nel 2024.

Metapacchetto dell’estensione Adobe Commerce

Questa versione introduce il metapackage di estensione Adobe Commerce v2.0.0, che raggruppa automaticamente con questa versione di base alcune estensioni Adobe Commerce. Le versioni di queste estensioni incluse in questo metapackage vengono installate durante l'esecuzione di composer update, semplificando il processo di aggiornamento di tali estensioni quando si esegue l'aggiornamento alla versione di base più recente. Queste estensioni gestiscono pianificazioni di rilascio indipendenti.

Il metapacchetto dell’estensione Adobe Commerce per Adobe Commerce 2.4.7 include le seguenti estensioni:

Le versioni future di questo metapacchetto di estensione possono contenere estensioni aggiuntive.

Webhook di Adobe Commerce

I webhook di Commerce (v1.2.0 ) consentono agli sviluppatori di configurare la logica sincrona per eseguire chiamate a sistemi esterni quando viene attivato un evento Adobe Commerce. Le chiamate sincrone sono necessarie quando Commerce deve calcolare o convalidare immediatamente un valore come totale dell’ordine, imposta o pagamento utilizzando un endpoint di terze parti e successivamente riscrivere il risultato in Adobe Commerce.

Commerce webhooks è ora installato per impostazione predefinita. Vedi Panoramica dei webhook di Adobe Commerce

Adobe Stock

Il pacchetto Adobe Stock (adobe-stock-integration) è ora incluso nel metapacchetto delle estensioni Commerce (extensions-metapackage) per supportare aggiornamenti più frequenti.

B2B

NOTE
La versione 2.4.7 è compatibile con B2B 1.4.2. Tuttavia, l’Adobe consiglia ai clienti di attendere la prossima versione B2B 1.5.0 GA prima dell’aggiornamento, che include il supporto per PHP 8.3. Consulta le note sulla versione B2B.

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 la quantità 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.

Integrazione di Commerce con Adobe IMS

Il pacchetto di integrazione Adobe IMS (adobe-commerce/adobe-ims-metapackage) è ora incluso nel metapacchetto delle estensioni Commerce (extensions-metapackage) per supportare aggiornamenti più frequenti.

GraphQL

Commerce 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.

Pagamenti

  • È stato aggiunto il supporto GraphQL per le operazioni di base per tutti i metodi di pagamento eccetto Venmo. I nuovi endpoint di GraphQL per i servizi di pagamento sono descritti in Estrai.

  • Il vaulting delle carte di credito è stato migliorato per tutti i metodi di pagamento eccetto Venmo. Gli acquirenti possono ora archiviare o salvare i pagamenti ACH e visualizzarli o eliminarli dalla pagina del proprio account. Gli esercenti possono abilitare e disabilitare i pagamenti archiviati ACH dall'amministratore.

  • Il flusso di lavoro di pagamento ora include una sezione di pagamento rapido che fornisce i pulsanti PayPal, Google Pay e Apple Pay Express.

Opzioni di pagamento introduce metodi di pagamento supportati.

PWA Studio

PWA Studio v14.0 è compatibile con Adobe Commerce 2.4.7. Include diversi miglioramenti per migliorare l’accessibilità. Per informazioni sulle correzioni di bug, vedi Versioni di PWA Studio. Consulta Compatibilità della versione per un elenco delle versioni di PWA Studio e delle relative versioni di base compatibili di Adobe Commerce.

Framework API web

Utilizzo di più coupon per carrello

I nuovi endpoint REST supportano la visualizzazione, l’aggiunta e l’eliminazione di più coupon associati a un carrello.

NOTE
Per la prima volta, diverse route di endpoint REST contengono la stringa V2 anziché V1. Ad esempio, GET /rest/default/V2/carts/{cartId}/coupons. Per gli esercenti Commerce, questi endpoint sostituiscono le versioni V1 degli endpoint. Questi endpoint sono disponibili solo in Adobe Commerce.

Restituisce tutti i codici coupon associati a un carrello:

GET /rest/{store_code}/V2/carts/{cartId}/coupons
GET /rest/{store_code}/V2/carts/mine/coupons

Aggiungi un codice coupon a un carrello:

POST /rest/{store_code}/V2/carts/{cartId}/coupons/{couponCode}
POST /rest/{store_code}/V2/carts/mine/coupons/{couponCode}

Sostituisci i codici coupon in un carrello:

PUT /rest/{store_code}/V2/carts/{cartId}/coupons
PUT /rest/{store_code}/V2/carts/mine/coupons

Rimuovi i codici coupon da un carrello:

POST /rest/{store_code}/V2/carts/{cartId}/coupons/deleteByCodes
POST /rest/{store_code}/V2/carts/mine/coupons/deleteByCodes

Endpoint aggiuntivi
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 relativi al codice core di Adobe Commerce 2.4.7. Di seguito è descritto un sottoinsieme dei problemi risolti inclusi in questa versione. Sono descritte anche le correzioni incluse nelle versioni precedenti di Commerce 2.4.7-beta.

Installazione, aggiornamento, distribuzione

  • La modifica della cache non necessaria è stata rimossa dal processo di configurazione. In precedenza, Commerce 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 Commerce 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, Commerce generava questo errore quando veniva eseguito bin/magento setup:rollback --db: 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, Adobe Commerce 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.
  • Gli acquirenti possono ora ordinare un prodotto in una distribuzione che implementa la suddivisione del database quando Checkout Async è abilitato. In precedenza, Adobe Commerce ha generato questo errore: An error occurred on the server. Please try to place the order again.
  • 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 titoli dei sottomenu ora indicano qualsiasi elemento di pari livello indipendentemente dal livello di accesso assegnato all’utente. In precedenza, queste informazioni erano nascoste agli utenti amministratori con accesso limitato, anche se per il sottomenu esistevano più gruppi di pari livello.
  • 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
  • La griglia degli ordini archiviata viene ora aggiornata in modo asincrono con i nuovi stati degli ordini come previsto. Un approccio basato su eventi per l'aggiornamento dello stato degli ordini nella griglia di archiviazione consente di ottenere uno stato accurato degli ordini, inclusi i rimborsi delle note di post-credito.
  • Il menu a discesa delle azioni della griglia di amministrazione ora può passare il cursore come previsto su un collegamento selezionato per Content > Pages (e i cataloghi condivisi nel modulo B2B). In precedenza, questo menu era per lo più nascosto e gli utenti amministratori dovevano scorrere per visualizzare le opzioni. GitHub-36710

Analytics

  • Le proprietà della pagina dei dettagli del prodotto meta itemprop="image" e meta itemprop="description" sono ora disponibili per l'immagine principale del prodotto. GitHub-37497
  • Nella sezione Report della griglia Prodotti nei carrelli ora viene visualizzato il prezzo del prodotto corretto quando Catalog Price Scope è impostato su Website. In precedenza, il prezzo del prodotto veniva visualizzato come zero quando il prodotto veniva assegnato a un sito Web diverso da quello predefinito.
  • I rapporti sulle entrate vengono ora visualizzati come previsto nel portale Google Analytics (GA4). GitHub-37605
  • I valori price e quantity nel livello dati di Google Tag Manager vengono ora inviati come valori numerici come previsto dalle Google Analytics. In precedenza, questi valori venivano inviati come stringhe.
  • Sono stati risolti gli errori nella gestione dei dati di intestazione durante l’invio dei dati di distribuzione al modulo New Relic.
  • I tag Google Analytics 3 vengono ora attivati come previsto quando i tag Google Analytics 4 sono disabilitati.
  • È stato eseguito il refactoring del modo in cui il contenuto del banner viene caricato per rimuovere query eccessive nel database, con conseguente miglioramento dei tempi di caricamento del carrello.

Prodotti bundle

  • Il conteggio dei prodotti della categoria ora tiene correttamente conto dei prodotti del bundle quando Display Out Of Stock* è abilitato.
  • 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, Commerce non applicava uno sconto del 100% ai prezzi dei prodotti bundle.
  • 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 puoi salvare un aggiornamento pianificato di un prodotto bundle che include un prodotto semplice con un aggiornamento pianificato indefinito. Quando viene creata l’istantanea del prodotto del bundle, i prodotti collegati vengono ora acquisiti per ID, ID entità e anche per SKU. In precedenza, la versione originale del prodotto semplice veniva controllata al momento del salvataggio dell’aggiornamento pianificato sul prodotto bundle, invece della versione corrente del prodotto semplice.
  • È 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 Commerce 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, Adobe Commerce creava più SKU duplicate nelle opzioni del prodotto quando importavi i prodotti 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

  • Commerce 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.
  • Adobe Commerce ora 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.
  • Commerce 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. Commerce ora elabora solo il numero di indirizzi cliente specificato nell'impostazione Customer Addresses Limit. In precedenza, Commerce 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
  • 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.
  • L'indirizzo di spedizione predefinito nella fase di pagamento non viene più compilato con l'indirizzo del punto vendita selezionato in precedenza.
  • I prodotti nel carrello non vengono più esclusi dagli elenchi di prodotti correlati e di upselling dopo lo scaricamento della cache.
  • Il calcolatore delle imposte sul carrello e della spedizione ora riflette 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. Ciò si verificava impostando Adobe Commerce su undefined l’ID di regione prima di richiamare l’istruzione condizionale che impostava l’ID di regione predefinito dall’amministratore.
  • Adobe Commerce non genera più questo errore durante l'estrazione quando il carrello acquisti persistente è 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.
  • Sono state migliorate le prestazioni delle regole del segmento di cliente che si basano su carrelli attivi, riducendo il tempo necessario per aggiungere un prodotto al carrello.
  • 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, Adobe Commerce generava un errore 500 e registrava 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, Adobe Commerce ha generato questo errore: report.ERROR: Warning: Undefined array key "simple_free_shipping". GitHub-37580
  • Le regole di prezzo del carrello vengono ora applicate come previsto quando per il negozio viene configurata una regola di prezzo del carrello correlata a un metodo di spedizione e questo metodo viene modificato in un altro durante il check-out. 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.
  • 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, Commerce non salvava il blocco e generava questo errore SLQ: report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table.
  • Commerce non visualizza più le immagini duplicate quando si cambia 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
  • Commerce 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 ogni 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 Commerce generava un errore quando questi dati venivano salvati nel database.
  • I banner dei segmenti cliente ora si comportano come previsto quando un acquirente che utilizza un account cliente appena creato si disconnette. In precedenza, i banner creati per il segmento di clienti connesso venivano visualizzati anche al termine della sessione dell’account (ovvero, quando l’acquirente registrato si disconnetteva).
  • 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, Commerce 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.
  • I valori special_from_date, special_to_date, news_from_date e news_to_date definiti dall'utente non vengono sostituiti quando un prodotto viene modificato nell'ambito della visualizzazione archivio.
  • Commerce ora visualizza il nome corretto dopo aver ordinato i prodotti in base al nome in Amministratore > Category > Products in category nelle implementazioni multistore 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
  • La selezione della posizione e dell’ID del prodotto ora viene visualizzata correttamente quando un utente amministratore aggiunge un nuovo prodotto a una categoria dopo aver cancellato la cache ma non ricaricato la pagina della categoria. In precedenza, la posizione e la selezione del prodotto non corrispondevano e venivano visualizzate in modo errato.
  • Gli esercenti possono ora aggiornare la data o l’ora di inizio futura di una modifica pianificata per un prodotto scaricabile. In precedenza, Adobe Commerce generava questo errore durante l'aggiornamento della data o dell'ora di inizio futura per il prodotto scaricabile: The downloadable link isn't related to the product. Verify the link and try again.
  • 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.
  • 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, Adobe Commerce generava un errore. GitHub-37519
  • 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.
  • Adobe Commerce non visualizza più un messaggio di avviso quando salvi un prodotto creato con opzioni personalizzate dopo averne eliminata l’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, Adobe Commerce 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.
  • Adobe Commerce 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.
  • Adobe Commerce ora genera un reindirizzamento 301 per un prodotto quando la categoria a cui appartiene è stata spostata in un nuovo elemento principale. 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 time 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.
  • 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
  • Gli acquirenti possono ora utilizzare due codici coupon generati automaticamente separati che sono stati generati dalla stessa regola di prezzo del carrello. Il campo Uses per Coupon è ora abilitato quando il tipo di coupon selezionato è Auto (simile per il tipo di coupon =Specific Coupon). Ciò a sua volta consente all’acquirente di applicare più codici coupon allo stesso prezzo del carrello, se i codici sono diversi.
  • 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. Commerce 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

  • Adobe Commerce ora visualizza 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

Segmenti cliente

  • Le condizioni del segmento cliente ora caricano tutti i clienti corrispondenti come previsto. In precedenza, l’elenco dei clienti con corrispondenza del segmento di clienti non conteneva tutti i clienti con corrispondenza.

EAV

  • L'indicizzatore EAV non richiede più l'eliminazione delle entità non visibili durante l'elaborazione batch. Per impostazione predefinita, l’indicizzatore non raggruppa più prodotti non visibili in batch e le prestazioni dell’indicizzatore sono migliorate.

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, Commerce non salvava i record cliente contenenti segni diacritici e visualizzava 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.
  • Le opzioni immagine non vengono più visualizzate come markup HTML nelle e-mail del cliente Restituisce (modello predefinito) per i prodotti con opzioni immagine personalizzate.
  • I dettagli dell'amministratore società ora vengono salvati come previsto e gli amministratori vengono reindirizzati correttamente, quando le e-mail di assegnazione dell'amministratore società contengono una variabile CMS Block URL.
  • 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 bin/magento 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 implementazioni di Commerce 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 error messaggi. 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.
  • Il nome della variabile reponseBody è stato modificato in responseBody in app/code/Magento/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
  • Gli errori critici di lettura del database quando synchronous_replication è abilitato per le connessioni slave in Adobe Commerce Cloud non si verificano più.
  • 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, Commerce 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, Commerce generava 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 $_ENV variabili ora supportano l'utilizzo di codici di sito Web e store contenenti caratteri in maiuscolo o in camelcase.
  • 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 Commerce è connessa all’archiviazione S3. In precedenza, Commerce visualizzava questo errore: Cannot create image resource. File not found. GitHub-35706
  • Adobe Commerce ora registra un messaggio di eccezione come previsto quando la convalida del numero di IVA da parte del servizio di convalida VIES non riesce. GitHub-36065
  • Il nome Administrators è stato rimosso dalla query utilizzata per recuperare un 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.
  • Codice obsoleto sottoposto a refactoring relativo alla creazione di proprietà dinamiche in tutta la base di codice.
  • I formati di stile personalizzati creati estendendo l’editor TinyMCE in Adobe Commerce e nelle versioni di Magento Open Source precedenti alla versione 2.4.6 sono ora disponibili come previsto nel tipo di contenuto Page Builder text. In precedenza, il formato di stile personalizzato veniva ignorato e dopo l’aggiornamento ad Adobe Commerce 2.4.6-p1 venivano caricati solo i formati predefiniti. GitHub-36950
  • Aggiunta della seguente nota informativa al file quote.php: Important: This method also copies customer data to quote and removes quote addresses. GitHub-37400
  • La creazione di un'istanza del provider del blocco passa ora attraverso la classe \Magento\Framework\Lock\Proxy. Il provider di blocchi è ora configurato con l'impostazione lock tramite il file app/etc/env.php.
  • 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.
  • Adobe Commerce 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 del codice Adobe Commerce 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.
  • Adobe Commerce non genera più un’eccezione nel file di registro quando un utente prova a 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
  • Gli acquirenti possono ora accedere alle pagine configurate come nodi gerarchici quando sono abilitate le restrizioni di accesso. In precedenza, si era verificato un ciclo di reindirizzamento infinito e il browser ha generato questo errore: ERR_TOO_MANY_REDIRECTS.
  • 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, Commerce ha 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.
  • La condizione Is one of della regola di prodotto correlata ora funziona correttamente se configurata con l'impostazione Products to match. In precedenza, questa regola non identificava alcun prodotto.
  • La griglia della pagina del CMS ora filtra le pagine in base alla vista store assegnata all’utente amministratore. In precedenza, l’ambito del ruolo non veniva applicato.
  • 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, Commerce non salvava il record cliente e visualizzava 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
  • Gli amministratori della società possono ora aggiungere utenti della società dalla vetrina. In precedenza, Commerce registrava questo errore quando l'utente amministratore tentava di aggiungere un nuovo utente: report.CRITICAL: Error: Call to a member function __toArray() on null in app/code/Magento/LoginAsCustomerLogging/Observer/LogSaveCustomerObserver.php:123.
  • 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, Commerce continuava a visualizzare il valore eliminato nel campo Stato/Provincia. GitHub-36846
  • Adobe Commerce non genera più un errore di violazione di vincolo quando deselezioni, quindi seleziona una nuova pagina CMS creata.
  • Una directory principale del sito web gerarchico è ora correttamente assegnata a una pagina CMS appena creata. In precedenza, la selezione della directory principale del sito web gerarchico non corrispondeva nelle nuove pagine CMS create.
  • 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 amministratore viene ora calcolato in base al fuso orario impostato nelle impostazioni di configurazione, quindi convertito in UTC per recuperare i dati dal database.
  • Il filtro 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, Adobe Commerce 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

Biglietti regalo e confezione

  • I commercianti non possono più creare una gift card con un valore negativo.
  • La mutazione setGiftOptionsOnCart ora rimuove la confezione regalo da un ordine come previsto. Il valore di gift_wrapping_id è ora non impostato a livello del carrello. In precedenza, gift_wrapping_id veniva aggiornato al valore precedente dopo l'ordine, anche quando questo valore veniva disimpostato a livello di carrello.
  • I conti delle carte regalo ora rimangono attivi come previsto quando il rimborso parziale di un prodotto semplice viene elaborato dall’ordine a cui è stata applicata la carta. In precedenza, l'account gift card veniva eliminato.
  • La mutazione setGiftOptionsOnCart ora aggiorna correttamente il database quando si rimuove un messaggio regalo dal carrello. In precedenza, i dettagli del messaggio non venivano aggiornati nel database e il messaggio regalo non veniva rimosso dal carrello.
  • L'etichetta del registro regali Event Information è ora tradotta come previsto.
  • I subtotali ora vengono calcolati correttamente per gli importi delle gift card personalizzate.
  • Le gift card vengono ora applicate correttamente durante il pagamento con più indirizzi. In precedenza, gli importi delle gift card venivano applicati in modo errato per le spedizioni con più indirizzi, causando importi delle gift card non validi.
  • 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
  • È ora possibile utilizzare la mutazione updateCartItems per aggiornare una gift card nel carrello. In precedenza, questa mutazione poteva aggiornare nel carrello solo l’importo della carta.
  • La confezione regalo è ora inclusa come previsto in un preventivo basato su carrelli uniti. In precedenza, i messaggi regalo venivano uniti correttamente, ma non racchiudevano le selezioni.
  • La mutazione addProductsToCart ora aggiunge correttamente una gift card a un carrello. In precedenza, questa query prevedeva il nome del destinatario della gift card, ma è stato restituito il nome del mittente. Adobe Commerce ha generato questo errore: Please specify a recipient name. GitHub-36665

Gestione tag Google

  • Il modulo Google Tag ora invia i dati corretti al livello dati. In precedenza, i dati sulle impression della pagina non venivano inviati al livello dati.

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
  • I prodotti correlati basati su regole ora vengono caricati come previsto nelle risposte GraphQL dopo la pulizia completa della cache. In precedenza, gli attributi EAV del prodotto responsabili delle corrispondenze basate su regole non venivano caricati per l’entità richiesta, anche se venivano caricati dopo il ricaricamento della pagina del prodotto vetrina.
  • 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 etichette corrette quando esistono più visualizzazioni archivio. 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 product ora restituiscono aggregazioni solo per i prodotti assegnati al catalogo condiviso specificato. In precedenza, i dati di aggregazione per i prodotti non assegnati a un catalogo condiviso venivano visualizzati nella navigazione a livelli.
  • 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 crosssell_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 Commerce 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.
  • Commerce 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, Adobe Commerce utilizza le impostazioni locali di configurazione predefinite (non la visualizzazione archivio predefinita) per analizzare i dati. 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 dati di origine del magazzino ora vengono importati correttamente dal processo di importazione del negozio e Commerce visualizza ora un messaggio di notifica completo al termine del processo di importazione. In precedenza, il messaggio di notifica era mancante.
  • L’annullamento della validità dell’indicizzatore ridondante è stato rimosso quando gli indicizzatori sono in modalità pianificata.
  • 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.
  • Ora Adobe Commerce visualizza un messaggio di errore informativo nella griglia di importazione pianificata 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 di prodotto durante l'importazione di un servizio di terze parti tramite un file CSV, Adobe Commerce visualizzava questo errore: Maximum error count has been reached or a system error is occurred!.
  • Le prestazioni dell’esportazione dei clienti dalla griglia Cliente sono state migliorate nelle implementazioni in cui è abilitato il B2B.
  • 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
  • Sono stati risolti i problemi di visualizzazione nella pagina dei dettagli dei prodotti storefront dovuti all'indicizzazione delle autorizzazioni del catalogo. In precedenza, Adobe Commerce cancellava prima la tabella dell’indice e quindi la indicizzava nuovamente durante un processo di indicizzazione completo di catalogpermissions_product o catalogpermissions_category. Le autorizzazioni del catalogo non funzionavano come previsto nella vetrina fino al completamento della reindicizzazione.
  • 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

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
  • Adobe Commerce non include più il percorso completo della directory principale del server nel messaggio di errore visualizzato quando al server viene inviata una richiesta HTTP non valida. 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
  • Ora è possibile utilizzare con le regole del segmento cliente le opzioni attributo fornite dal modello di origine dati e installate utilizzando la patch dati di configurazione (in genere da moduli di terze parti). In precedenza, questa combinazione non restituiva l’elenco dei clienti che corrispondevano al segmento configurato.
  • 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
  • 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, Commerce 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 Commerce generava 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.
  • Adobe Commerce 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, Adobe Commerce mostrava uno stato delle scorte errato per le origini dei prodotti.
  • \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

  • È stato aggiornato il formato data-ora nella funzione Rapporti di sistema per includere nei rapporti i record dei file di registro.
  • 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.

Raccolta file multimediali

  • Gli esercenti possono ora caricare immagini con lo stesso nome ma in casi diversi (una combinazione di caratteri maiuscoli e minuscoli) in Media Gallery. In precedenza, i nomi dei file di immagine non facevano distinzione tra maiuscole e minuscole in Page Builder e i file con nomi diversi da maiuscole e minuscole venivano sovrascritti nell'archiviazione dei supporti Commerce ospitati su file system con distinzione tra maiuscole e minuscole.

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.
  • La rotazione del registro azioni amministratore ora funziona come previsto quando la frequenza di archiviazione del registro rotazioni è impostata su intervalli settimanali o mensili. In precedenza, quando venivano impostati intervalli settimanali o mensili, i registri non venivano ruotati.
  • Commerce 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.
  • L'endpoint REST V1/orders ora applica le gift card come previsto durante l'importazione degli ordini. In precedenza, le modifiche agli attributi di estensione gift card in questo endpoint non venivano salvate.
  • Commerce 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 Commerce visualizzava un errore Request-URI Too Long nella console del browser.
  • Lo stato dell'ordine è ora contrassegnato come chiuso anziché completo quando l'intero importo dell'ordine è stato rimborsato con il credito del negozio più un metodo di pagamento aggiuntivo. In precedenza, lo stato dell'ordine era contrassegnato come completato perché l'importo rimborsato non era stato calcolato correttamente.
  • 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
  • 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.
  • Adobe Commerce non genera più un errore durante la creazione di una nota di credito con un rimborso offline al saldo di un cliente quando l’utente amministratore non dispone dell’autorizzazione per il sito web del cliente. In precedenza, Adobe Commerce ha generato l'errore More permissions are needed to view this item e l'utente amministratore non poteva creare un rimborso del credito dell'archivio.
  • 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, Adobe Commerce non verificava lo stato attuale dell’ordine prima di salvarne lo stato dopo che un acquirente aveva inserito un commento. GitHub-36562
  • Adobe Commerce non genera più un errore nella pagina di restituzione degli ordini di vetrina quando il prodotto configurabile da restituire è stato eliminato. In precedenza, Adobe Commerce registrava questo errore: report.CRITICAL: Error: Call to a member function getShipmentType() on null in magento2ee/app/code/Magento/Rma/view/frontend/templates/return/create.phtml:52.
  • 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 di Adobe Commerce 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, Adobe Commerce generava 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
  • Fatture, spedizioni e note di accredito possono ora essere spostate dall'archivio insieme agli ordini associati quando gli ID inclusi differiscono dagli ID degli ordini. In precedenza, se un ordine veniva spostato nell’archivio e poi ripristinato, i record delle fatture, delle spedizioni e delle note di credito mancavano dall’ordine se i numeri ID non corrispondevano. GitHub-36847

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.
  • È ora possibile utilizzare l'opzione Page Builder in Admin > Content > Pages per inserire il testo copiato in tutti gli stili utilizzando l'elemento text. In precedenza, Page Builder mostrava solo testo normale e non salvava gli stili.
  • Gli errori CORS non vengono più visualizzati durante la modifica del contenuto del prodotto con Page Builder quando l’utente amministratore dispone di un ACL specifico. Ora l’utente amministratore può salvare il prodotto. In precedenza, Page Builder non salvava il prodotto e il processo di salvataggio si bloccava.
  • Informazioni precise sulle dimensioni del file sono ora incluse nell’anteprima dell’immagine per le immagini caricate in Page Builder.
  • Gli elementi di pagina di Page Builder ora vengono riprodotti a una velocità accettabile nel browser Chrome (v112). In precedenza, il salvataggio del contenuto con Page Builder in esecuzione nel browser Chrome era lento e Commerce registrava questo errore nella console del browser: [ERROR] Page Builder was rendering for 5 seconds without releasing locks.
  • La riproduzione automatica dell’elemento video di Page Builder ora funziona come previsto sui browser mobili Safari su iOS quando l’elemento è collegato direttamente a un file video remoto. In precedenza, non veniva visualizzata alcuna immagine di anteprima.
  • Page Builder ora funziona come previsto nel browser Chrome. In precedenza, le modifiche al contenuto apportate in tale browser non venivano sempre salvate.
  • Il caricamento di una pagina di modifica del prodotto Admin da un prodotto non genera più un errore intermittente di Uncaught TypeError JavaScript.
  • Le immagini caricate tramite l'editor di Page Builder ora sono contrassegnate come utilizzate in Content > Media Gallery. In precedenza, queste immagini erano contrassegnate come non utilizzate in alcun punto di Media Gallery.
  • 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 Adobe Commerce ha visualizzato 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.

Pagamento

  • Commerce 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 di Commerce 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, Commerce ha generato un errore e 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.
  • Adobe Commerce non genera più un errore durante la creazione di una seconda fattura parziale per un ordine pagato da Braintree quando Enable Vault for Card Payments è abilitato. In precedenza, quando un commerciante tentava di creare una seconda fattura, Adobe Commerce 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.
  • Adobe Commerce 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 tramite Braintree Payments e Adobe Commerce 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), Commerce 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
  • I nomi delle transazioni GraphQL ora vengono visualizzati correttamente dopo la disabilitazione di New Relic da Commerce Admin. GitHub-36112

Recensioni

  • Gli acquirenti non possono più inviare rapidamente recensioni di prodotti duplicate quando è abilitato Invisible reCAPTCHA v3.

Premi

  • Le e-mail di scadenza dei punti premio non vengono più inviate dopo la scadenza dei punti. Le attività cron magento_reward_balance_warning_notification e magento_reward_expire_points sono state reimpostate per aumentare la flessibilità e la capacità di invio delle e-mail. In precedenza, i commercianti non potevano inviare in breve tempo molte e-mail generate da queste attività cron. Questo potrebbe aver causato ritardi nella consegna delle notifiche soggette a scadenza.
  • I punti premio scaduti vengono ora sottratti dal saldo attuale dei punti premio di un acquirente come previsto.
  • La notifica e-mail di aggiornamento del saldo dei punti premio ora tiene conto del contesto dello store corrente. In precedenza, l’e-mail di aggiornamento del saldo dei punti premio utilizzava le impostazioni di configurazione per l’archivio predefinito.
  • I punti premio possono ora essere rimborsati dopo la creazione di una nota di credito. In precedenza, i commercianti non potevano rimborsare i punti premio dopo aver creato una nota di credito e lo stato dell'ordine rimaneva Completed, non Closed.

RMA

  • La richiesta REST POST /V1/returns crea ora un RMA per prodotto. In precedenza, questa richiesta poteva ignorare la convalida e restituire più RMA per prodotto.
  • Gli attributi RMA vengono ora aggiunti automaticamente al modulo EAV predefinito quando l'attributo RMA Show on Storefront è impostato su no. In precedenza, la finestra a comparsa Dettagli elemento RMA era vuota quando si creava un attributo restituito personalizzato e l'attributo RMA Show on Storefront era impostato su no.
  • Il valore dell'attributo Enable RMA ora corrisponde al valore specificato nella configurazione quando la casella di controllo Use Config nella pagina di modifica del prodotto è abilitata.
  • L'attributo Enable RMA a livello di singolo prodotto ora rispetta la configurazione delle impostazioni RMA dell'archivio. In precedenza, questa impostazione veniva disattivata per impostazione predefinita quando si aggiungeva un prodotto, indipendentemente dalle impostazioni di configurazione dell’archivio.

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.
  • Commerce 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, Commerce non creava 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
  • Commerce 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

Staging

  • Gli aggiornamenti di staging per le regole di vendita non vengono più duplicati nel dashboard di staging.
  • I prodotti bundle ora vengono aggiornati correttamente se un acquirente li aggiunge al carrello quando è in corso un aggiornamento della pianificazione. In precedenza, se al carrello era stato aggiunto un prodotto bundle con opzioni quando era in corso un'attività di pianificazione, Commerce ha generato questa eccezione: Some of the products below do not have all the required options. Please select all required options.
  • Gli aggiornamenti dello Schedule ora mantengono i prezzi corretti per le opzioni del bundle. In precedenza, questi prezzi venivano modificati a zero per specifiche visualizzazioni di siti web o store.
  • Se non viene specificata una data di fine, l'aggiornamento pianificato non rimuove più la versione precedente dell'elemento nell'area intermedia. In precedenza, quando un elemento di staging veniva aggiornato, la versione con rollback dell’elemento veniva rimossa se non era stata specificata una data di fine. Commerce non ha generato alcun errore né avvisato gli utenti amministratori prima dell’eliminazione.
  • I valori delle etichette delle viste del Negozio non vengono più cancellati dopo un aggiornamento pianificato per le regole del prezzo del carrello. In precedenza, queste etichette venivano cancellate anche se non erano specificate nell’aggiornamento.
  • Le anteprime di staging del contenuto ora funzionano correttamente per le pagine collegate. In precedenza, non era possibile passare alle pagine collegate nell’anteprima di staging, ma venivano indirizzate in modo errato alle pagine di vetrina.
  • Сla modifica di un aggiornamento della gestione temporanea non comporta più la rimozione degli aggiornamenti pianificati assegnati a una data successiva.
  • Gli errori di JavaScript non si verificano più quando si aggiungono o si modificano aggiornamenti pianificati per le categorie quando è abilitata l’opzione Google Analytics esperimenti di contenuto.
  • Gli esercenti possono ora salvare correttamente un aggiornamento della pianificazione esistente per una categoria dopo averlo visualizzato o modificato. In precedenza, Adobe Commerce generava un errore in system.log.
  • I collegamenti scaricabili ora vengono mantenuti come previsto quando viene applicato un aggiornamento pianificato mentre i prodotti aggiunti in precedenza si trovano nel carrello. In precedenza, i collegamenti scaricabili scomparivano dalla pagina Il mio account (I miei prodotti scaricabili) del cliente e dalla pagina di visualizzazione dell’ordine di amministrazione.
  • I prodotti ora sono visibili sulla vetrina come previsto dopo un aggiornamento di staging che consente di applicare il prodotto. In precedenza, il prodotto era abilitato nell’amministratore ma non era visibile nella categoria vetrina quando la modalità indicizzatore dell’inventario del catalogo era impostata su Aggiorna secondo pianificazione. Il problema è stato risolto tramite reindicizzazione completa.
  • La coda del consumer staging.synchronize_entity_period nella tabella magento_bulk non aumenta più quando non sono presenti aggiornamenti di gestione temporanea da elaborare. In precedenza, quando cron era configurato per essere eseguito ogni minuto, ogni minuto veniva aggiunto a questa tabella un nuovo record relativo al consumer staging.synchronize_entity_period.
  • Adobe Commerce non genera più un errore SQL quando si crea una modifica della pianificazione per un prodotto durante il salvataggio di un altro prodotto. In precedenza, Adobe Commerce visualizzava questo errore: The product with the SKU "%1" couldn't be added to the current update.

Regole di destinazione

  • Le regole di Target ora funzionano correttamente con diverse visualizzazioni archivio. In precedenza, i problemi con la cache delle regole dei prodotti correlati impedivano la visualizzazione dei prodotti consigliati nelle distribuzioni multi-store.

Imposta

  • Le fatture ora visualizzano il subtotale corretto quando le imposte sono configurate e FPT è abilitato.
  • Commerce ora visualizza 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 check-out.
  • 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.
  • Sono stati risolti i problemi di prestazioni relativi agli array di grandi dimensioni in TableNameSniff.
  • I test di integrazione per la funzionalità di modifica del registro regali non si basano più sugli ID entità esistenti. Tutti i dati richiesti vengono ora ottenuti tramite gli staffaggi. In precedenza, \Magento\GiftRegistry\Controller\Index\EditPostTest non riusciva.
  • CollectionTest::testGetDateRangeFirstPart() tiene ora conto dell'ora legale.
  • È stato corretto l'avviso di rimozione per StorefrontDeleteItemFromRequisitionListPrintView.

Framework interfaccia utente

  • 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
  • È stato corretto il comportamento del cursore nel campo di testo Message del Registro regali.
  • 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. Commerce visualizza ora un messaggio informativo. In precedenza, Commerce 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, Commerce mostrava 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.
  • Adobe Commerce 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
  • Ora gli utenti amministratori possono 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, Adobe Commerce ha 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. Adobe Commerce ha inoltre visualizzato errori della console.
  • Adobe Commerce 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, Adobe Commerce 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, Adobe Commerce visualizzava questo messaggio popup: Something went wrong. GitHub-36582
  • I dettagli dell'amministratore società ora vengono salvati come previsto e gli amministratori vengono reindirizzati correttamente, quando le e-mail di assegnazione dell'amministratore società contengono una variabile CMS Block URL.
  • 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, Adobe Commerce 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 Adobe Commerce 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

  • L'attributo crossorigin è stato aggiunto a linkTypes per gli elementi HEAD.GitHub-32509
  • 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
  • Commerce 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
  • Commerce non genera più un errore quando si tenta di creare un reindirizzamento 301/302 per un URL di prodotto quando Genera URL categoria/prodotto Riscritture è abilitato. 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.
  • Adobe Commerce ora esegue il rendering della struttura delle categorie a tutti i livelli durante la creazione delle riscritture degli URL delle categorie. In precedenza venivano visualizzati solo i primi tre livelli di categorie. GitHub-36973
  • Le nuove pagine CMS create con un nodo figlio sono ora incluse nella griglia del filtro di marketing (Marketing > URL rewrites). In precedenza, le riscritture URL non venivano create per tali pagine CMS.
  • 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.

Visual Merchandiser

  • È ora possibile utilizzare l'attributo Categories per le regole di Visual Merchandiser. In precedenza, Adobe Commerce ha generato questa eccezione: Something went wrong while saving the category.

Framework API web

  • Commerce 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, Commerce 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 Commerce 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, Adobe Commerce restituiva 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.
  • È ora possibile aprire un ordine dall'amministratore con lo stato Received quando AsyncOrder non è abilitato. In precedenza, non era possibile aprire la pagina dei dettagli dell'ordine dall'amministratore quando lo stato dell'ordine era stato modificato da POST V1/orders.
  • Adobe Commerce 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.

Lista dei desideri

  • In Commerce ora viene visualizzato un messaggio che indica che un elemento è già stato aggiunto a una lista dei desideri quando un acquirente tenta di aggiungere più volte lo stesso elemento a una lista dei desideri. In precedenza, in queste condizioni, Commerce ha aumentato la quantità di prodotti nella lista dei desideri.
  • Adobe Commerce ora aggiunge alla lista dei desideri i prodotti con i file di opzioni personalizzabili caricati necessari. In precedenza, Commerce aggiungeva due prodotti alla lista dei desideri, non uno. GitHub-37437

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 Adobe Commerce 2.4.7 utilizzando Composer.

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