Note sulla versione di Adobe Commerce 2.4.3

Adobe Commerce 2.4.3 introduce miglioramenti a livello di prestazioni e sicurezza oltre a significativi miglioramenti della piattaforma. I miglioramenti della sicurezza includono l’espansione della copertura reCAPTCHA e l’inclusione di limiti di velocità incorporati. Le dipendenze del compositore di base e le librerie di terze parti sono state aggiornate alle versioni più recenti compatibili con PHP 8.x.

Questa versione include oltre 370 nuove correzioni al codice di base e 33 miglioramenti di sicurezza. Tutti i problemi noti identificati nelle note sulla versione di Adobe Commerce 2.4.2 sono stati risolti in questa versione.

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.

Consulta le note sulla versione di Adobe Commerce 2.4.2-p2 per informazioni su Adobe Commerce 2.4.2-p2.

Altre informazioni sulla versione

Anche se il codice per queste funzioni è incluso con versioni trimestrali, molti di questi progetti (ad esempio, B2B, Page Builder 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.

Applica MC-43048__set_rate_limits__2.4.3.patch per risolvere il problema relativo alla limitazione della velocità API

Questo hotfix fornisce una soluzione al problema che impedisce alle API Web di elaborare richieste contenenti più di 20 elementi in un array. Questo problema riguarda le distribuzioni che eseguono Magento Open Source 2.4.3, Adobe Commerce 2.4.3 o 2.3.7-p1. A queste versioni è stata aggiunta una limitazione della frequenza incorporata per impedire attacchi Denial of Service (DoS) e il valore massimo predefinito è stato impostato su 20. Questa patch ripristina il limite predefinito a un valore più alto. Se sospetti che il tuo archivio stia avendo un attacco DoS, l’Adobe consiglia di abbassare i limiti di input predefiniti a un valore inferiore per limitare il numero di risorse che possono essere richieste. Vedere l'articolo della Knowledge Base Web API: impossibile elaborare le richieste con più di 20 elementi nell'array.

Applica AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch per risolvere l'errore irreversibile PHP durante l'aggiornamento

Durante l’aggiornamento ad Adobe Commerce 2.4.3 può verificarsi il seguente errore irreversibile:

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

Questo errore è dovuto all'utilizzo della funzione str_contains, che è una funzione PHP 8.x. Adobe Commerce 2.4.3 non supporta PHP 8.x. Questo hotfix sostituisce questa funzione con una funzione PHP 7.x supportata. Vedere l'articolo della Knowledge Base Aggiornamento Adobe Commerce 2.4.3, 2.3.7-p1 PHP Errore irreversibile Hotfix.

Applica AC-3022.patch per continuare a offrire DHL come vettore di spedizione

DHL ha introdotto lo schema versione 6.2 e dichiarerà obsoleto lo schema versione 6.0 nel prossimo futuro. Adobe Commerce 2.4.4 e versioni precedenti che supportano l’integrazione DHL supportano solo la versione 6.0. I commercianti che distribuiscono queste versioni devono applicare AC-3022.patch al più presto per continuare a offrire DHL come vettore di spedizione. Per informazioni sul download e l'installazione della patch, vedere l'articolo della Knowledge Base Applica una patch per continuare a offrire DHL come corriere.

In evidenza

In questa versione, cerca le seguenti aree di rilievo.

Miglioramenti sostanziali della sicurezza

Questa versione include 33 correzioni di sicurezza e miglioramenti di sicurezza della piattaforma. Molte di queste correzioni di sicurezza sono state trasferite a 2.4.2-p2 e 2.3.7-p1.

Trentatré miglioramenti di sicurezza che aiutano a chiudere le vulnerabilità RCE (Remote Code Execution) e XSS (Cross-Site Script)

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 l’amministratore, tra cui, ma non solo, queste iniziative: inserire nell'elenco Consentiti dell’IP a due fattori, autenticazione a due fattori, utilizzo di una VPN, utilizzo di una posizione univoca invece di /admin e buona igiene della password. Per una discussione su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.

Ulteriori miglioramenti della sicurezza

Miglioramenti di sicurezza per questa versione migliorano la conformità con le best practice più recenti, tra cui:

  • Un plug-in new Composer consente di evitare confusione nelle dipendenze e identifica i pacchetti dannosi con gli stessi nomi dei pacchetti interni nell'archivio dei pacchetti pubblico. Consulta il post sul blog Rilasci di Adobi Nuovo plug-in Compositore con versione 2.4.3.

  • La limitazione della frequenza è ora integrata nelle API per impedire attacchi Denial of Service (DoS). Le API web ora impongono restrizioni sulla dimensione o sul numero di risorse (il massimo predefinito è impostato su 20 e può essere configurato su un valore diverso in base alle esigenze aziendali) che possono essere richieste da un client. Per informazioni sulla configurazione di queste restrizioni, vedere Limitazione frequenza.

  • La copertura ReCAPTCHA è stata estesa per includere:

    • Le API web con pagine HTML corrispondenti sono coperte tramite ReCAPTCHA. Sono escluse le API web a cui si accede tramite integrazioni. La copertura ReCAPTCHA protegge gli endpoint dagli attacchi di spam. Quando si accede alle API Web da un servizio di integrazione di terze parti che utilizza OAuth, ReCAPTCHA è disabilitato.

    • La pagina vetrina di Place Order e le API Web relative ai pagamenti. La protezione ReCAPTCHA per queste pagine è disabilitata per impostazione predefinita e può essere abilitata dall’amministratore. Questa copertura aggiunge un meccanismo di forza anti-brute per proteggere i negozi dagli attacchi di carding.

NOTE
A partire dalla versione 2.3.2, assegneremo e pubblicheremo i numeri CVE (Common Vulnerabilities and Exposures) indicizzati con ogni bug di sicurezza segnalato da parti esterne. Questo consente agli utenti di identificare più facilmente le vulnerabilità non risolte nella loro distribuzione. Ulteriori informazioni sugli identificatori CVE sono disponibili in CVE.

Miglioramenti dell'infrastruttura

Questa versione contiene miglioramenti che migliorano la qualità del framework e le seguenti aree funzionali:

  • Account cliente

  • Catalogo

  • CMS

  • OMS

  • Importa/esporta

  • Promozioni e targeting

  • Carrello e pagamento

  • B2B

  • Staging e anteprima

PayPal Pay Later è ora supportato nelle distribuzioni che includono PayPal. Questa funzione consente ai clienti di pagare un ordine in rate bi-settimanali invece di pagare l’intero importo al momento dell’acquisto.

Nuova modalità di indicizzazione use_application_lock. La modalità use_application_lock consente di abilitare la reindicizzazione utilizzando variabili di ambiente o configurando il file app/etc/env.php. Non è più necessario reimpostare manualmente l’indicizzatore dopo un errore con questa modalità abilitata. Vedere Utilizzo della modalità blocco applicazione per i processi di reindicizzazione.

Miglioramenti alla piattaforma

La versione 2.4.3 non è ancora compatibile con PHP 8.x, ma i seguenti aggiornamenti della piattaforma ci avvicinano alla compatibilità futura con PHP 8.x.

  • Le dipendenze del Compositore core e le librerie di terze parti sono state aggiornate alle versioni più recenti compatibili con PHP 8.x.

  • La libreria KnockoutJS è stata aggiornata alla versione v3.5.1 (l’ultima versione).

  • La libreria TinyMCE v3 obsoleta è stata rimossa. Il modulo Magento_Tinymce3Banner e i test MFTF relativi a TinyMCE v3.x sono stati rimossi da Adobe Commerce.

  • La versione 2.4.3 è stata testata e confermata compatibile con Redis 6.0.12. (la versione 2.4.x rimane compatibile con Redis 5.x.)

  • Le dipendenze della libreria Laminas sono state aggiornate alle versioni compatibili con PHP 8.x. Alcune dipendenze ridondanti sono state rimosse dal file composer.json. Adobe Commerce 2.4.3 utilizza Laminas 3.4.0.

Miglioramenti delle prestazioni

Questa versione include miglioramenti che riducono il tempo di indicizzazione per gli indicizzatori di prezzo del prodotto e regole di catalogo. Gli esercenti possono ora escludere un sito web da un gruppo di clienti o da un catalogo condiviso, riducendo il numero di record per l’indicizzazione e migliorando i tempi di indicizzazione.

Live Search basato su Adobe Sensei offre un'esperienza di ricerca intuitiva utilizzando algoritmi di intelligenza artificiale e machine learning per eseguire un'analisi approfondita dei dati aggregati dei visitatori. Consulta Note sulla versione di Live Search.

GraphQL

Questa versione aggiunge il supporto di GraphQL per le seguenti funzioni:

Per informazioni dettagliate su questi miglioramenti, consulta la Guida per gli sviluppatori di GraphQL.

B2B

La versione 2.4.3 introduce B2B v1.3.2. Questa versione include più correzioni di bug. Consulta Note sulla versione B2B.

Page Builder

Page Builder è ora disponibile come estensione in bundle nel Magento Open Source. Ora è lo strumento predefinito per la modifica dei contenuti per Adobe Commerce 2.4.3 e Magento Open Source 2.4.3. Può sostituire l’editor WYSIWG con qualsiasi modulo di terze parti.

Page Builder sostituisce l’editor TinyMCE nelle seguenti aree di amministrazione:

  • Pagina CMS
  • Blocco CMS
  • Descrizione categoria
  • Descrizione del prodotto

Tutti i contenuti creati in TinyMCE sono stati migrati in Page Builder come HTML.

PWA Studio

Per informazioni sui miglioramenti e sulle correzioni di bug, vedi Versioni di PWA Studio. Consulta compatibilità per un elenco delle versioni di PWA Studio e delle relative versioni compatibili.

Upgrade Compatibility Tool

L'ambito di Upgrade Compatibility Tool è stato espanso in base al feedback ricevuto dalla community. Unisciti al nostro canale di Slack #upgrade-compatibility-tool per ottenere supporto dal team di prodotto Adobe e dalla community, nonché per guidare la direzione futura dello strumento.

Aggiornamenti di Cloud Managed Services

Questa versione include miglioramenti al supporto per Amazon Simple Storage Service (AWS S3) e Amazon Aurora Cloud Managed Services. Fornisce supporto certificato per AWS ElastiCache, AWS Elasticsearch e AWS Managed Queues (Rabbit MQ). (Abbiamo testato funzionalità, prestazioni e integrazione di questi servizi con Adobe Commerce.)

Integrazione di Adobe Stock

Questa versione include l’integrazione di Adobe Stock v2.1.1.

Estensioni sviluppate dal fornitore

Per aggiornamenti sulle funzioni e sulle modifiche di questa versione, consulta i seguenti argomenti:

Problemi risolti

Sono stati risolti centinaia di problemi nel codice core 2.4.3.

Installazione, aggiornamento, distribuzione

  • Il comando bin/magento setup:db:status ora restituisce un messaggio che indica che tutto è aggiornato dopo un aggiornamento riuscito. In precedenza, l'applicazione visualizzava questo errore: Declarative Schema is not up to date.
  • I valori di configurazione ora vengono mantenuti al ricaricamento del modulo quando la creazione di un nuovo prodotto configurabile non riesce. In precedenza, i valori andavano persi durante il ricaricamento del modulo e l'applicazione visualizzava questo errore: The value specified in the URL Key field would generate a URL that already exists. GitHub-32102
  • L'applicazione non genera più un'eccezione quando si esegue bin/magento setup:upgrade per eseguire l'aggiornamento da una distribuzione di Magento Open Source con Redis ad Adobe Commerce.
  • Le regole di prezzo del carrello create in precedenza vengono ora visualizzate nella pagina del dashboard Staging contenuto dopo l’aggiornamento di una distribuzione da Magento Open Source ad Adobe Commerce.
  • Le implementazioni in esecuzione su Galera Cluster ora supportano più clienti. GitHub-31038
  • Gli amministratori possono ora accedere correttamente a una distribuzione quando l'applicazione è stata installata con l'opzione —use-rewrites=0 o con web/seo/use_rewrites impostato su 0 in core_config_data_table. GitHub-32100
  • Caricamento di sortOrder aggiornato per AsyncCssPlugin. L'applicazione ora carica AsyncCssPlugin prima di JsFooterPlugin. GitHub-30882
  • Magento\Config\Model\Config\PathValidator ora controlla il percorso di visualizzazione per determinare se un elemento esiste e, se dispone di un percorso di configurazione, utilizza il percorso config.xml per la convalida. GitHub-27678
  • La compilazione di un numero minore di file con la compilazione Grunt o lato server produce ora gli stessi risultati. Precedentemente. .abs- styles, che estende altri .abs- styles in _extends.less, non sono stati generati correttamente se compilati con Grunt. Ciò causava differenze tra le distribuzioni di produzione e di sviluppo. GitHub-7231

AdminGWS

  • Admin GWS ora utilizza int valori per la condizione SQL website_id nelle raccolte di amministrazione per gli amministratori con autorizzazioni personalizzate.

Integrazione di Adobe Stock

  • L'applicazione visualizza ora un messaggio informativo e un collegamento alla pagina Amministratore Archivi > Configurazione > Avanzate > Sistema nella pagina Cerca Adobe Stock quando Chiave API (ID client) e Segreto client non sono impostati. In precedenza, l'applicazione visualizzava questo errore: We couldn't find any records e nessun collegamento.

Back-end

  • Gli amministratori con accesso limitato (ad esempio, a cui viene assegnato l'accesso a un solo sito Web) non possono più modificare le categorie impostate su Ambito globale.
  • Il rendering del report di sistema generato (System > Support > System Report) è ora eseguito correttamente. In precedenza, il contenuto del rapporto non era allineato.
  • L'applicazione ora disattiva la convalida nel campo Prezzo come previsto quando l'impostazione Prezzo dinamico è abilitata durante la creazione del prodotto del bundle. In precedenza, l'applicazione generava un errore di convalida quando si rimuoveva un valore dal campo Prezzo quando l'impostazione Prezzo dinamico era abilitata. GitHub-26214
  • I reindirizzamenti infiniti non si verificano più quando l’URL dell’amministratore è diverso dall’URL predefinito del sito web nelle distribuzioni in cui l’applicazione è configurata per essere accessibile da due URL.

Prodotti bundle

  • È ora possibile utilizzare la mutazione addProductsToCart per aggiungere a un carrello un prodotto bundle con più opzioni di casella di controllo.
  • L’indicizzazione dei prezzi dei prodotti bundle viene ora eseguita utilizzando tabelle temporanee, che evita di bloccare le tabelle del database. In precedenza, l’applicazione utilizzava tabelle fisiche, che risultavano in tabelle bloccate.
  • Ora il prezzo di un articolo bundle può essere impostato su 0,00. In precedenza, quando si tornava alla pagina di modifica dopo aver impostato il prezzo su 0,00, il prezzo veniva riportato al suo valore predefinito. GitHub-32383
  • I dettagli dell’ordine per gli ordini che contengono prodotti bundle ora mostrano il prezzo corretto per i prodotti bundle se il prezzo è stato modificato prima dell’ordine.
  • Lo stato delle scorte dei prodotti del bundle viene ora aggiornato in base allo stato delle scorte dei relativi prodotti secondari. In precedenza, i prodotti in bundle venivano mostrati come esauriti quando un’opzione veniva rimossa dal prodotto e il prodotto in bundle aveva due opzioni con lo stesso SKU.
  • Un amministratore può ora modificare il valore per l'attributo Shipment Type di un prodotto bundle dopo che è stato spostato in un gruppo di attributi diverso. In precedenza, questo attributo veniva sempre salvato con un valore Together se veniva spostato in un gruppo di attributi diverso da quello predefinito nel set di attributi.
  • La mutazione di GraphQL setGuestEmailOnCart aggiorna ora correttamente l'e-mail guest. In precedenza, le tabelle degli indirizzi delle offerte e delle offerte non venivano aggiornate.
  • L’aggiunta, la rimozione o l’aggiornamento di un prodotto secondario a un prodotto bundle tramite chiamate API REST ora attiva la reindicizzazione come previsto. In precedenza, queste azioni non attivavano la reindicizzazione e, di conseguenza, il prodotto bundle non modificava lo stato delle scorte fino a quando non veniva eseguita la reindicizzazione manuale.
  • L'applicazione visualizza ora la gamma di prezzi corretta per i prodotti in bundle con prezzi di livello. GitHub-30284
  • L’applicazione ora visualizza lo stesso prezzo totale previsto nella pagina del carrello e nella fase di spedizione del flusso di lavoro di pagamento dopo la modifica del prezzo di un’opzione del bundle.
  • Ora puoi configurare correttamente un prodotto bundle accedendovi da un carrello clienti. In precedenza, la pagina Configura prodotto non veniva mai completamente caricata e non era possibile salvare le impostazioni.
  • I commercianti possono ora assegnare un prezzo univoco per un prodotto bundle su ogni visualizzazione del negozio di una distribuzione multistore. I prezzi specifici del sito Web vengono salvati nella tabella catalog_product_bundle_selection_price. In precedenza, l'applicazione non basava il prezzo di un bundle sull'ambito del sito Web anche quando Archivi > Configurazione > Catalogo > Catalogo > Prezzo > Ambito prezzo catalogo era impostato su Website. Nessun prezzo specifico per il sito Web salvato in catalog_product_bundle_selection_price. GitHub-12584
  • Le fatture per i prodotti in bundle ora visualizzano la quantità corretta per i prodotti semplici associati quando Dynamic Pricing è disabilitato. In precedenza, i prodotti semplici associati al prodotto del bundle avevano la quantità del prodotto principale, non del prodotto del bundle). GitHub-30802
  • La mutazione updateProductsInWishlist ora aggiorna correttamente gli elementi che appartengono a un prodotto bundle in un elenco di desideri. In precedenza, invece di aggiornare la voce della lista dei desideri, questa mutazione eliminava la voce e ne creava una nuova, cambiando l’ID della voce.
  • È ora possibile impostare gli attributi del bundle required_options e has_options come previsto durante la creazione o l'aggiornamento di un prodotto del bundle utilizzando l'endpoint POST /V1/product/:sku. In precedenza, questi attributi personalizzati venivano impostati su 0 (zero) nonostante gli sforzi per impostarlo su 1 (uno).
  • I dati dei prodotti del bundle precedentemente mancanti sono ora inclusi nel processo di staging. In questo modo vengono risolte le incoerenze nel comportamento del prodotto quando gli acquirenti acquistano un bundle di prodotti dalla pagina di elenco dei prodotti anziché aggiungerlo direttamente da una pagina di prodotto.

Cache

  • Il file varnish6.vcl è stato aggiornato per ignorare il caching della pagina del cliente.

CAPTCHA

  • CAPTCHA ora convalida correttamente i dati forniti da un acquirente, e i campi CAPTCHA ora vengono visualizzati come previsto dopo i molteplici tentativi falliti di un acquirente di effettuare il check-out con PayPal Payflow Pro.
  • La convalida CAPTCHA non ha più esito negativo in modo casuale nella pagina di pagamento del flusso di lavoro di pagamento.
  • L’applicazione ora visualizza i campi CAPTCHA come previsto dopo il superamento del numero di tentativi di completamento non riusciti. In precedenza, sebbene l’applicazione ti avesse richiesto di riprovare a eseguire la richiesta CAPTCHA, non mostrava i campi CAPTCHA.
  • CAPTCHA ora funziona come previsto nella pagina di pagamento. In precedenza, dopo che un acquirente ha risposto correttamente a una richiesta CAPTCHA, il caricatore nella pagina di pagamento non ha mai completato e l'applicazione ha visualizzato questo errore: captchaData[formId] is undefined. (Questo errore si verificava solo quando l’acquirente utilizzava lo stesso browser da cui aveva precedentemente effettuato l’accesso a una distribuzione in cui era in esecuzione la versione 2.3.5-p1.)
  • Le verifiche di _.isEmpty() nel file defaultCaptcha.js ora sono state completate. In precedenza, questi controlli non venivano completati e, di conseguenza, la pagina di estrazione non veniva caricata dopo l’aggiornamento. GitHub-31641

Carrello e pagamento

  • L’applicazione ora tiene conto delle localizzazioni decimali specifiche per le impostazioni internazionali durante la conversione e l’aggiornamento della quantità di prodotto nel carrello.
  • Gli ordini non omettono più il nome di un cliente fornito con un indirizzo di spedizione. In precedenza, i nomi venivano omessi perché il flag same_as_billing non veniva salvato nel database.
  • I collegamenti ai registri delle donazioni ora persistono come previsto quando modifichi un prodotto nel carrello. In precedenza, questi collegamenti scomparivano facendo clic sul pulsante Aggiorna carrello.
  • Tutti i messaggi della coda per il consumatore quoteItemCleaner ora cambiano il loro stato in complete come previsto dopo l'eliminazione di diversi prodotti. In precedenza, solo un messaggio per questo consumatore cambiava il proprio stato in complete, mentre il resto cambiava lo stato in in progress.
  • L'applicazione visualizza ora il messaggio di convalida dei Termini e Condizioni nel blocco pertinente solo quando un acquirente fa clic sul pulsante Inserisci ordine. In precedenza, l'applicazione visualizzava questo messaggio nel blocco Applica codice sconto ogni volta che un acquirente cambiava metodo di pagamento nel flusso di lavoro di pagamento: The order wasn't placed. First, agree to the terms and conditions, then try placing your order again.
  • Ora vieni reindirizzato alla pagina di pagamento come previsto dopo aver aggiunto al carrello un bundle di prodotto dall’anteprima di aggiornamento della pianificazione e aver fatto clic sul carrello. GitHub-447
  • Se l'acquirente non riesce a fare clic sul pulsante Aggiorna e ritorna alla fase di spedizione, l'applicazione ignora le modifiche apportate al modulo dell'indirizzo di fatturazione nel passaggio di pagamento dell'estrazione.
  • L'applicazione visualizza ora un messaggio di errore informativo e non aggiorna la quantità di prodotto quando un acquirente aggiunge una quantità di prodotto non valida e fa clic sul pulsante Aggiorna articoli e quantità nella pagina Gestisci carrello. In precedenza, l’applicazione aggiornava la quantità di prodotto e non visualizzava un messaggio di errore. GitHub-459
  • I prodotti con un'opzione personalizzabile (File) ora includono collegamenti attivi come previsto durante il processo di pagamento con spedizione multipla. In precedenza, questo collegamento era mancante. GitHub-31095
  • Il carrello degli amministratori ora visualizza i prezzi dei prodotti nelle valute corrette per i negozi che supportano più valute. In precedenza, i prezzi venivano convertiti nella valuta specificata più di una volta: prima, quando i prodotti venivano aggiunti al carrello dalla vetrina, e poi di nuovo quando l’ordine veniva successivamente renderizzato sull’amministratore.
  • L’applicazione ora svuota il carrello come previsto dopo che un amministratore ha completato un ordine dall’amministratore creato da un acquirente nella vetrina. In precedenza, quando il cliente effettuava nuovamente l’accesso dopo che l’amministratore aveva completato l’ordine, il carrello della vetrina conteneva ancora il contenuto dell’ordine. GitHub-30262
  • Gli acquirenti possono ora aggiungere al carrello un prodotto il cui prezzo minimo pubblicizzato (MAP) supera il normale prezzo del prodotto.
  • Gli acquirenti possono ora modificare correttamente il proprio indirizzo di fatturazione dal flusso di lavoro di pagamento quando effettuano il pagamento con più indirizzi.
  • Tutte le transazioni di pagamento a pagamento create dagli ospiti vengono ora salvate nel database e visualizzate nell'amministratore come previsto. In precedenza, nel database veniva salvato solo un piccolo sottoinsieme di ordini simultanei e la maggior parte degli ordini andava persa a causa di timeout dovuti a blocchi del database. GitHub-25862
  • L’applicazione ora visualizza correttamente i messaggi di benvenuto in linea contenenti caratteri speciali quando un ospite inserisce un prodotto nel mini carrello. In precedenza, l’applicazione non aggiungeva il prodotto al mini carrello né visualizzava il messaggio di benvenuto. GitHub-32250
  • La pagina di spedizione del flusso di lavoro di pagamento ora viene caricata correttamente quando la consegna nel negozio è abilitata. In precedenza, l’applicazione generava un errore JavaScript e la pagina di pagamento della spedizione non veniva riprodotta completamente.
  • Argomento itemResolvers aggiunto al file di.xml del catalogo. Di conseguenza, l’estrazione non viene più interrotta se i moduli di prodotto configurabili e raggruppati sono disabilitati. GitHub-30860
  • L'applicazione ora visualizza i pulsanti di scelta nella sezione Informazioni su pagamento e spedizione come previsto durante il flusso di lavoro di riordino dell'amministratore. GitHub-30257
  • L’applicazione ora applica correttamente le regole del prezzo del carrello con uno sconto fisso a livello di carrello quando il carrello contiene un prodotto bundle con più opzioni. In precedenza, la regola del prezzo del carrello non veniva applicata completamente all’ordine. GitHub-30952
  • Il pulsante Aggiungi al carrello nella visualizzazione elenco categorie ora funziona come previsto. GitHub-32232
  • È ora possibile utilizzare POST /V1/carts/mine/items per aggiungere una quantità personalizzata di prodotti raggruppati a un carrello. GitHub-26909
  • L’applicazione non popola più l’area dell’indirizzo di fatturazione del flusso di lavoro di pagamento con l’indirizzo di spedizione. In precedenza, quando il campo Stato/Provincia per l'indirizzo di fatturazione era vuoto e gli indirizzi di spedizione e fatturazione erano diversi, l'applicazione compilava il campo dell'indirizzo di fatturazione Stato/Provincia con le informazioni dell'indirizzo di spedizione. GitHub-31608
  • L'aggiornamento di massa degli attributi Abilita incrementi quantità e Incrementi quantità ora funziona come previsto. GitHub-29544
  • È ora possibile duplicare correttamente un catalogo condiviso contenente SKU di sola lettura. In precedenza, l'applicazione generava un errore quando si tentava di duplicare un catalogo condiviso perché la classe \Magento\Catalog\Model\ProductIdLocator non funzionava correttamente con SKU solo numerici.
  • L’applicazione non genera più un errore JavaScript dopo l’abilitazione della sincronizzazione di prodotti recenti con l’amministratore. In precedenza, l'applicazione visualizzava questo errore JavaScript: Cannot read property 'status' of undefined.
  • Gli aggiornamenti del layout del tema personalizzato vengono ora applicati come previsto. In precedenza, gli aggiornamenti del layout del tema personalizzato venivano ignorati.
  • La cache della categoria di prodotto viene ora cancellata come previsto da cron durante l'esecuzione di indexer_update_all_views. In precedenza, i conteggi dei prodotti nella pagina Categoria dopo la reindicizzazione non erano corretti.
  • I valori degli attributi ora rimangono invariati quando un attributo non è specificato in una richiesta API REST per l’aggiornamento del prodotto per una vista store. In precedenza, se un attributo non veniva specificato, l'applicazione reimpostava il valore dell'attributo sul relativo valore di ambito predefinito.
  • Nella griglia Prodotti amministratore (Admin Catalogo > Prodotti) ora viene visualizzato il conteggio di prodotti corretto quando i prodotti vengono filtrati per SKU.
  • L'applicazione ora visualizza lo stato preciso delle scorte quando un prodotto viene aggiunto a una pagina CMS quando le autorizzazioni della categoria sono abilitate e impedisce la visualizzazione del prezzo per il gruppo del cliente specificato. In precedenza, tutti i prodotti venivano mostrati come esauriti, indipendentemente dallo stato delle scorte reali.
  • Il campo di input Prezzo blocco gruppo di clienti di Advanced Pricing ha ora una larghezza minima di cinque cifre. In precedenza, in questo campo erano visibili solo due simboli su display a bassa risoluzione.
  • L’applicazione ora elimina correttamente un’immagine multimediale di prodotto dopo l’eliminazione di un prodotto. In precedenza, l’immagine del supporto del prodotto rimaneva nella cartella dopo la corretta eliminazione del prodotto.
  • Il layout di pagina ora viene aggiornato come previsto quando crei o modifichi un prodotto in Amministrazione e quindi crei un aggiornamento della progettazione pianificato. GitHub-32007
  • Ora è possibile salvare come vuoto un attributo di prodotto personalizzato con valore zero. In precedenza, l’applicazione non aggiornava questo valore in vuoto.
  • I file di aggiornamento del layout di categoria personalizzato ora vengono applicati ai prodotti come previsto. In precedenza, l'handle del file di aggiornamento (catalog_category_view_*) non corrispondeva all'handle del prodotto. GitHub-27285
  • L’ordinamento è stato disattivato per la colonna Imposta fissa sui prodotti (FPT) dell’elenco dei prodotti amministratore. In precedenza, non era possibile ricaricare la pagina Prodotti dopo l’ordinamento della colonna FPT.
  • L’anteprima del widget dei prodotti Page Builder ora funziona come previsto in una distribuzione multi-sito web quando i prodotti corrispondenti hanno un prezzo diverso su ciascun sito web.
  • L'ordinamento in base alla posizione nella ricerca prodotti utilizzando il GET /rest/V1/products/?searchCriteria[filterGroups] ora funziona come previsto. In precedenza, la raccolta di prodotti non presentava un valore position per l'ordinamento del campo. GitHub-31591
  • Gli utenti amministratori possono ora visualizzare gli spazi doppi nei campi Name e SKU nella griglia del prodotto. In precedenza, l’applicazione comprimeva più spazi in un singolo spazio.
  • I prodotti ora sono visualizzati come esauriti nella vetrina quando la quantità vendibile sull’amministratore è 0. In precedenza, questi prodotti erano elencati come in magazzino nella vetrina e l'applicazione mostrava un pulsante Aggiungi al carrello attivo. GitHub-31117
  • Gli amministratori possono ora aggiungere prodotti con opzioni personalizzabili (File) alla griglia Articoli ordinati dalla sezione Carrello acquisti (colonna Attività del cliente) della pagina Cliente amministratore. In precedenza, l'applicazione non aveva aggiunto l'elemento all'elenco perché il valore non era formattato correttamente prima di essere inserito in \Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions.
  • L’applicazione non richiede più agli acquirenti di selezionare un’opzione di prodotto per un prodotto in bundle con una sola opzione.
  • Durante la creazione di un nuovo widget, l’applicazione ora visualizza tutte le sottocategorie negli aggiornamenti del layout (categorie di ancoraggio e non di ancoraggio).
  • La query product non sovrascrive più i valori predefiniti per tutte le visualizzazioni dello store in una distribuzione di più store quando un nome di prodotto viene aggiornato per una sola visualizzazione dello store. GitHub-31083
  • Adobe Commerce aggiorna il conteggio totale delle pagine come previsto quando modifichi il valore per pagina dell’elenco Prodotti correlati all’amministrazione, Vendite successive e Cross-Sell. GitHub-31059
  • Gli amministratori possono ora aggiungere prodotti con due o più opzioni personalizzabili (File) a un ordine per SKU.
  • L’applicazione non genera più un errore quando un amministratore con autorizzazioni limitate aggiunge un widget di prodotto a una pagina CMS nell’amministratore. In precedenza, l'applicazione ha generato questo errore quando l'amministratore ha fatto clic sul pulsante Salva: We are sorry, an error has occurred while generating the content.
  • Le pagine dei dettagli del prodotto ora si aprono con l'opzione data personalizzabile compilata con la data dell'ordine precedente quando Usa calendario di JavaScript è abilitato. Il risolutore valore dell’opzione data personalizzato ora utilizza un formato alternativo se il valore non è formattato in base alla configurazione corrente. In precedenza, il valore dell’opzione data personalizzata era vuoto.
  • Ora l’applicazione visualizza un solo errore nel carrello quando il prodotto è esaurito. In precedenza, l’applicazione visualizzava messaggi ridondanti. GitHub-27469
  • Gli amministratori possono ora aggiungere un prodotto con un'opzione personalizzabile (File) a un ordine per SKU. GitHub-30285
  • È ora possibile salvare un prodotto e un prezzo senza specificare type_id. GitHub-13639
  • I prodotti del gruppo sono ora disponibili nella vetrina come previsto quando viene utilizzata una richiesta REST PUT /V1/products/:sku/links per associare un nuovo prodotto secondario a un nuovo prodotto del gruppo. In precedenza, i prodotti non venivano indicizzati correttamente dopo l'esecuzione di bin/magento cron:run.
  • Non è più possibile creare un prodotto con un valore SKU NULL. In precedenza, era possibile creare un prodotto senza un valore SKU tramite un’importazione personalizzata o direttamente nel database, ma quando si tentava di modificarlo dall’amministratore, l’applicazione generava un errore. GitHub-27411, GitHub-32525
  • L’aggiunta delle opzioni personalizzate richieste a un prodotto semplice non lo rimuove più dai prodotti compositi principali senza alcun avviso. L’applicazione visualizza ora un avviso informativo e non salva il prodotto. In precedenza, l’applicazione salvava le modifiche apportate al prodotto e non visualizzava un’avvertenza. GitHub-30492
  • La query products ora restituisce i valori correnti quando una regola del prezzo di catalogo si applica a un articolo. GitHub-26738
  • Le tabelle temporanee che iniziano con catalogrule_product__temp vengono ora eliminate come previsto quando la reindicizzazione non riesce dopo la scadenza di un carrello o di una regola del catalogo, quando viene disabilitata o diventa inattiva. GitHub-22273
  • I fusi orari vengono ora applicati allo stesso modo in \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById e \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds. GitHub-29549

Contenuto CMS

  • Le immagini di grandi dimensioni ora vengono ridimensionate come previsto durante il caricamento quando l'impostazione di configurazione Abilita ridimensionamento front-end è abilitata.
  • È stata corretta la gestione dell’errore per il controller di salvataggio della pagina CMS. In precedenza, quando un oggetto Error veniva generato nell'evento cms_page_prepare_save, l'applicazione passava l'oggetto alla funzione addExceptionMessage, interrompendo il relativo contratto perché questa funzione prevede un Exception. Questo problema è stato risolto aggiungendo un messaggio di errore utilizzando la funzione addErrorMessage. GitHub-30149
  • È ora possibile assegnare una nuova pagina a più nodi dalla scheda Gerarchia della pagina Modifica CMS. In precedenza, si verificava una violazione di vincolo univoco quando si tentava di assegnare la pagina a un nodo. GitHub-363

Prodotti configurabili

  • L’applicazione non duplica più le miniature dei prodotti nella galleria di immagini di un prodotto quando si fa clic sulle opzioni configurabili di un prodotto.
  • Il pop-up di configurazione visualizzato dall'applicazione durante la modifica di un prodotto configurabile da una lista dei desideri ora si chiude come previsto quando si fa clic sul pulsante OK.
  • L'applicazione ora genera correttamente fatture per ordini che contengono un solo prodotto configurabile. GitHub-31143
  • Gli acquirenti possono ora aggiungere prodotti configurabili al carrello da una vista del negozio non predefinita. In precedenza, quando l'acquirente in una visualizzazione archivio non predefinita tentava di aggiungere un prodotto configurabile, l'applicazione visualizzava questo errore: Could not add item to cart. Please check required options and try again. GitHub-31660

Criteri sulla sicurezza dei contenuti (CSP)

  • I criteri sulla sicurezza dei contenuti ora supportano il caricamento di immagini e font con codifica base64 tramite data: scheme.

cron

  • È stato eseguito il refactoring delle query di pulizia delle celle per ridurre o eliminare i seguenti problemi di prestazioni: cron processi rimanenti bloccati in uno stato in sospeso, query MySQL sempre più lente e un aumento dell'utilizzo della CPU. GitHub-26507
  • cronjobs che sono stati nello stato running per più di 24 ore ora vengono automaticamente modificati nello stato error. Di conseguenza, è possibile eseguire nuovamente una nuova istanza di tale processo e non è necessario modificare manualmente lo stato del processo quando un processo rimane impostato in modo errato sullo stato running. In precedenza, se un cronjob era bloccato nello stato running, l'applicazione impediva l'avvio di nuove istanze dello stesso processo ed era necessario modificare manualmente lo stato del processo. GitHub-8933
  • cron processi ora completati come previsto e non genera più questo errore di serializzazione: [Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28'). GitHub-18409
  • indexer_update_all_views processi cron ora vengono eseguiti come previsto dopo un errore precedente. L'esecuzione non riuscita è contrassegnata come errore in cron_schedule schedule e l'esecuzione successiva non ha esito negativo automaticamente. In precedenza, la tabella cron_schedule era piena di processi in sospeso e il processo cron indexer_update_all_views non veniva eseguito. GitHub-23054
  • cron deadlock non si verificano più a causa del tentativo di cron di impostare un blocco in implementazioni di grandi dimensioni in cui i gruppi si sovrappongono. GitHub-8933
  • I deadlock cron non si verificano più nella tabella cron_schedule dopo l'esecuzione di alcuni cron processi. GitHub-22438

Attributi cliente personalizzati

  • Il campo State nella rubrica dell'account cliente storefront è ora caricato come e rimane un elemento della pagina a discesa. Il pulsante Invia è disabilitato fino al completamento del caricamento di tutti gli elementi della pagina. In precedenza, l’applicazione caricava questo campo come casella di testo prima di eseguirne il rendering come elemento a discesa e gli acquirenti potevano immettere e salvare i valori nel campo di testo, causando in seguito un errore durante l’estrazione.
  • L’applicazione ora visualizza correttamente gli attributi dell’indirizzo del cliente personalizzati sia nella pagina degli ordini di vetrina che in quella degli amministratori. In precedenza, l’opzione selezionata dell’attributo a discesa mancava dalla sezione Informazioni indirizzo e il valore dell’attributo di input conteneva il codice dell’attributo. GitHub-508
  • L’applicazione non genera più un errore quando si salva un attributo dell’indirizzo del cliente con un file allegato nel campo Indirizzo del cliente amministratore durante il caricamento dei file. Ciò si è verificato a causa di un'istruzione return mancante nell'azione del controller. In precedenza, l'applicazione ha generato questo errore: Something went wrong while saving the file.
  • Le chiamate API REST GET Cart ora restituiscono valori di attributo personalizzati corretti per gli indirizzi di fatturazione e spedizione. In precedenza, gli attributi degli indirizzi personalizzati non venivano visualizzati correttamente nella pagina dei dettagli dell’ordine nella pagina di vetrina del mio account e in Amministrazione.
  • L'applicazione ora gestisce correttamente i file che contengono attributi dell'indirizzo del cliente con tipo di input file (attachment). In precedenza, l'applicazione generava questo errore durante il caricamento del file allegato: Something went wrong while saving the file.

Cliente

  • L’e-mail di credito del Negozio ora tiene conto dell’ambito selezionato e viene inviata dall’indirizzo e-mail corretto.
  • L’applicazione di un filtro in base alla data di creazione dell’account ora produce risultati conformi alle impostazioni configurate per il fuso orario e in grado di acquisire tutti gli account creati rilevanti.
  • Il filtro griglia clienti ora utilizza un’opzione corretta per un sito web per un utente con restrizioni, se i dati erano stati precedentemente memorizzati nella cache. In precedenza, il filtro della griglia del cliente recuperava parametri del sito web dalla cache e includeva dati errati per gli utenti con restrizioni.
  • L’applicazione non genera più un’eccezione nella pagina Clienti amministratori quando un sito web viene eliminato in una distribuzione multisito. In precedenza, quando un amministratore tentava di accedere all'elenco completo dei clienti, nell'applicazione non venivano visualizzati tutti i clienti e veniva visualizzato questo errore: The website with id 2 that was requested wasn't found. Verify the website and try again.
  • Gli amministratori autorizzati possono ora riassegnare i clienti a siti web diversi dalla scheda Informazioni account del cliente.
  • È ora possibile caricare un file correttamente durante la creazione di un attributo dell'indirizzo del cliente con un tipo di input (File). In precedenza, quando si tentava di caricare e salvare un file, l'applicazione generava questo errore: Something went wrong while saving the file.

Segmento cliente

  • L’applicazione ora visualizza i prodotti correlati in base ai segmenti dei clienti nella vetrina, come previsto. In precedenza, l’applicazione non visualizzava questa sezione quando veniva creata una regola di prodotti correlati per segmenti di clienti specifici.
  • I blocchi dinamici vengono ora visualizzati per i clienti registrati nei loro carrelli quando il segmento di clienti corrispondente viene applicato sia per gli ospiti che per i clienti registrati. In precedenza, l’applicazione visualizzava il blocco solo per gli ospiti.
  • I segmenti dei clienti ora vengono aggiornati automaticamente dopo che l’amministratore ha effettuato un ordine. In precedenza, dopo aver creato un ordine di amministrazione, l'utente amministratore doveva aggiornare manualmente i dati dei segmenti correlati passando ai segmenti dei clienti correlati e fare clic sul pulsante Aggiorna dati segmento.
  • L’applicazione ora visualizza i blocchi dinamici nel carrello per tutti i clienti nei segmenti di clienti rilevanti. In precedenza, gli ospiti non vedevano un blocco anche quando il segmento di clienti includeva sia gli ospiti che i clienti registrati.
  • Sono stati risolti i problemi di prestazioni del database derivanti dalle regole di segmentazione del cliente che utilizzano la condizione Product was Ordered.
  • È stato aggiunto un osservatore dell’evento del segmento cliente per l’API REST/SOAP. Di conseguenza, i segmenti dei clienti vengono ora aggiornati automaticamente come previsto se i criteri definiti nei segmenti vengono soddisfatti quando gli ordini vengono effettuati tramite l’API REST/SOAP.
  • È stato aggiunto un processore di eventi del segmento cliente per le richieste GraphQL. In precedenza, gli sconti delle regole di prezzo del carrello non venivano applicati al carrello quando un segmento di clienti veniva utilizzato in una condizione di regola di prezzo del carrello. GitHub-371

Directory

  • L’applicazione non genera più un’eccezione quando un acquirente immette un codice postale non valido durante la sezione di spedizione del flusso di lavoro di pagamento. GitHub-23371

Download disponibile

  • Ora l’applicazione visualizza i collegamenti ai prodotti scaricabili nell’e-mail Nuovo ordine quando l’ordine contiene sia un prodotto scaricabile che un prodotto configurabile con un’opzione scaricabile. In precedenza, l’applicazione visualizzava il collegamento al prodotto scaricabile autonomo, ma non il collegamento al prodotto configurabile con un’opzione scaricabile.

Blocco dinamico (precedentemente banner)

  • I blocchi dinamici ora vengono visualizzati solo sulla pagina specificata. In precedenza, se non venivano specificati blocchi dinamici, l’applicazione visualizzava tutti i banner assegnati al widget su tutte le pagine.
  • Ora puoi salvare i blocchi dinamici con contenuto vuoto.

EAV

  • I valori di data dell’attributo dell’indirizzo del cliente vengono ora salvati in formato a quattro cifre anziché a due.

E-mail

  • Il collegamento di reimpostazione della password nella pagina Reimpostazione password amministratore ora funziona come previsto. In precedenza, quando si utilizzava un modello personalizzato per la pagina Reimposta password amministratore, l'applicazione visualizzava questo messaggio quando un amministratore faceva clic sul collegamento all'interno dell'e-mail: Your password reset link has expired. Ciò si verificava perché il modello e-mail personalizzato conteneva una variabile errata per l’ID utente.
  • L’invio di e-mail ai clienti da parte dell’amministratore ora funziona correttamente se attivato a livello di visualizzazione store. In precedenza, l’applicazione non inviava e-mail ai clienti quando le impostazioni di notifica e-mail erano abilitate a livello di visualizzazione store ma non a livello globale.
  • L’applicazione ora invia le e-mail come previsto nelle distribuzioni multisito in cui non tutti i siti web hanno abilitato l’invio asincrono delle e-mail. In precedenza, se questa impostazione era disabilitata per almeno un sito web, l’e-mail non veniva inviata da alcun sito web, nemmeno se abilitata. Le e-mail relative a fatture, spedizioni e note di credito presentavano problemi simili. Tuttavia, le e-mail Commenti ordine, Commenti fattura, Commenti spedizione e Commenti nota di accredito sono state inviate correttamente. GitHub-31950
  • Il messaggio e-mail inviato dall'applicazione quando si condivide un registro regali dall'amministratore contiene ora un collegamento valido alla posizione del registro. In precedenza, l’utilizzo di questo collegamento generava un errore 404. GitHub-504
  • Fatture e PDF fatture ora includono gli stessi prezzi previsti per i prodotti bundle. In precedenza, i PDF delle fatture includevano il prezzo errato per i prodotti bundle. GitHub-12856
  • Il cast di stringhe è stato aggiunto al metodo di filtro del modello e-mail per garantire che il valore restituito sia string. In precedenza, quando un'eccezione veniva rilevata mentre non era attiva la modalità sviluppatore, l'applicazione restituiva un oggetto phrase. Questo a sua volta ha attivato un Uncaught TypeError irreversibile. GitHub-32671
  • Le e-mail di conferma dell'ordine ora vengono inviate come previsto quando l'invio asincrono è abilitato (Archivi > Configurazione > Vendite > E-mail vendite > Impostazioni generali > Invio asincrono) in un sito Web in una distribuzione multisito. GitHub-31950
  • L’applicazione ora registra un errore come previsto quando si verifica un’eccezione durante il tentativo di un cliente di inviare un’e-mail dal modulo Contattaci. GitHub-23645

Framework

  • Le classi padre nell’amministratore ora vengono verificate per l’annotazione docblock insieme alla classe originale e alle interfacce ereditate. In precedenza, poiché le classi padre non erano selezionate, l’esecuzione di azioni relative al cliente nell’amministratore che ha attivato un evento generava un errore. L'applicazione ha registrato questo errore nel registro eccezioni: report.CRITICAL: Method's return type must be specified using @return annotation..
  • L’applicazione non genera più un errore irreversibile quando il server Redis viene arrestato in una distribuzione in cui è abilitato il caching delle pagine Redis.
  • L'applicazione ora rispetta l'impostazione Escludi cartella multimediale dal backup quando il backup è abilitato con bin/magento config:set system/backup/functionality_enabled 1. In precedenza, il backup della cartella dei file multimediali veniva eseguito nonostante questa impostazione, perché il percorso di /magento era formato in modo errato con un doppio //.
  • L’applicazione ora traduce tutte le stringhe traducibili come previsto per la pagina del carrello di amministrazione. In precedenza, il carico di traduzione si verificava troppo tardi e saltava tutti gli osservatori che erano abbonati al pre-invio dell’azione del controller. GitHub-31849
  • La convalida del modulo nella pagina Crea nuovo account cliente ora funziona correttamente quando l'impostazione di abilitazione dell'estensione Accedi come cliente è disabilitata. In precedenza, l’applicazione generava un errore JavaScript.
  • L'utilizzo di bin/magento setup:db-schema:split-sales per spostare le tabelle del database ora funziona come previsto. Le tabelle ora vengono create e compilate correttamente con i dati. In precedenza, poiché il controllo dell'esistenza della tabella non era corretto, l'applicazione ha generato SQLSTATE errori durante l'esecuzione di bin/magento setup:db-schema:split-sales.
  • È stata migliorata la gestione delle eccezioni per i processi figlio con forking da ProcessManager. Quando si verifica ora un'eccezione, il processo principale viene chiuso e un messaggio di errore viene visualizzato una sola volta. In precedenza, venivano registrati più errori di indicizzazione e venivano visualizzati più messaggi. GitHub-30622
  • I plug-in globali di Adobe Commerce (ad esempio, webapi_rest e graphql ) non vengono più attivati per un nuovo tipo di area personalizzata quando il di.xml di questo file di area non contiene plug-in registrati.
  • Le eccezioni che si verificano durante l’inizializzazione non vengono più memorizzate nella cache e ora attivano il codice di risposta 500.
  • I commercianti possono ora assegnare o eliminare un’immagine a e da un evento catalogo per vista negozio. In precedenza, quando si modificava la visualizzazione archivio durante la modifica di un evento catalogo, la casella di controllo Elimina immagine non era attiva e l'applicazione visualizzava questo errore: Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick. GitHub-364
  • L'ultimo gestore unito in un file communication.xml non sostituisce più tutti i gestori creati in precedenza. GitHub-29528

Correzioni generali

  • L’applicazione ora visualizza il numero corretto di stelle nella pagina Recensioni dei miei prodotti e nella pagina Recensioni recenti di MyAccount. In precedenza, l’applicazione applicava la recensione solo alla prima recensione e lasciava le altre recensioni sulla pagina senza stelle.
  • I collegamenti dell’account nelle intestazioni ora seguono gli standard WCAG. In precedenza, i collegamenti degli account nelle intestazioni contenevano ID duplicati, che impedivano la convalida WCAG.
  • L’applicazione ora salva le date degli eventi catalogo nei fusi orari UTC. In precedenza, l’applicazione salvava le date dell’evento catalogo nel fuso orario dell’utente.
  • L'applicazione non genera più errori generati dal registro di sistema quando un acquirente guest utilizza un indirizzo non valido. In precedenza, l'applicazione visualizzava questo errore in modo intermittente invece di eseguire il rendering della pagina: No such entity with addressId. GitHub-15115
  • Il processo di ridimensionamento delle immagini non si interrompe più se le immagini sono in un formato non supportato. In precedenza, quando catalog:images:resize ha rilevato un formato immagine non supportato, il processo si è interrotto e l'applicazione ha visualizzato questo errore: bin/magento catalog:images:resize Unsupported image format.
  • All’amministratore è stato aggiunto il supporto WEBP e AVIF per le immagini del logo. GitHub-32495
  • Impossibile modificare l'ambito dell'attributo media_gallery. In precedenza, quando si modificava l'ambito dell'attributo media_gallery in global, l'applicazione generava un errore.
  • I prodotti correlati aggiunti come aggiornamento pianificato non vengono più visualizzati in una pagina di prodotto della vetrina dopo la data di fine dell’aggiornamento. GitHub-469
  • L'applicazione visualizza ora un messaggio accurato e informativo quando si fa clic su Gestisci elementi nella pagina Registro Regali del mio account e i prodotti del Registro di sistema sono esauriti. In precedenza, l'applicazione ha generato questo errore: Error: Call to a member function getId() …. GitHub-490
  • Ora puoi aggiungere una pagina CMS dalla pagina Aggiungi nuova pagina alla gerarchia principale del sito web come previsto.
  • Il filtro ora funziona come previsto nell’elenco delle esportazioni pianificate quando viene selezionato il tipo di entità. In precedenza, il filtro non funzionava e l’applicazione generava un errore JavaScript. GitHub-361
  • Le immagini delle categorie vengono copiate come previsto dalla directory catalog/tmp/category nella directory catalog/category quando le categorie vengono salvate utilizzando il metodo di archiviazione del database. Anche la riga immagine nella tabella media_storage_file_storage ora contiene directory_id corretto. GitHub-11995
  • Ora i commercianti ricevono una notifica delle cache non convalidate, come previsto dopo l’invio delle modifiche alla gerarchia del CMS. In precedenza, l’applicazione non invalidava le cache durante il salvataggio della gerarchia CMS.
  • Le richieste AJAX ridondanti alla sezione carrello del carrello sono state ridotte. In precedenza, l’applicazione non caricava correttamente il subtotale del carrello, riattivando il caricamento del carrello.
  • Nelle distribuzioni che eseguono PHP 7.4, l'applicazione ora restituisce un errore 404 quando l'impostazione Genera URL "categoria/prodotto" Riscrive è impostata su No e un acquirente tenta di accedere a un percorso di categoria inesistente. In precedenza, l'applicazione restituiva un errore 500 che indicava: Trying to access array offset on value of type bool. GitHub-31984
  • È ora possibile modificare un prodotto creato utilizzando un set di attributi da cui sono stati rimossi i gruppi Design Group And Schedule Design Update. In precedenza, quando si tentava di modificare un prodotto creato da tale set di attributi, l’applicazione generava un errore irreversibile. GitHub-44
  • nowdoc ha sostituito heredoc nel commutatore dell'archivio Magento_Backend. GitHub-32262
  • Gli amministratori vengono ora reindirizzati direttamente alla pagina di amministrazione richiesta dopo l’accesso. In precedenza, quando un amministratore effettuava l’accesso, veniva reindirizzato al dashboard di amministrazione (o a qualsiasi pagina configurata come pagina di avvio) e doveva passare manualmente alla sua destinazione. GitHub-31042
  • Sono state aggiunte le regioni Argentina, Bolivia, Cile, Ecuador, Guyana, Paraguay, Perù, Suriname e Venezuela alla tabella directory_country_region. GitHub-31169
  • Sono state aggiunte le regioni di Albania, Danimarca, Grecia, Islanda, Portogallo e Svezia alla tabella directory_country_region. GitHub-31040
  • I messaggi vengono ora contrassegnati come errori nella coda dei messaggi MysqlMQ quando si verificano eccezioni. GitHub-18140
  • L'applicazione ora fa riferimento all'oggetto classe corretto durante il caricamento delle informazioni sulle imposte per le pagine della nota di accredito e della fattura Admin. GitHub-31197
  • L'integrazione Click & Drop di Royal Mail ora funziona come previsto. In precedenza, l'applicazione generava questo errore quando si tentava di attivare la sua integrazione: Sorry! Something went wrong. Please try again later. GitHub-28996
  • L'applicazione visualizza ora un messaggio di errore informativo quando una spedizione, una nota di credito o un ID fattura non corretto viene passato in un URL. In precedenza, l’applicazione generava un errore irreversibile. GitHub-30424
  • La ricorsione nel percorso dei file statici è stata rimossa. L’applicazione visualizza ora una pagina 404 invece di un errore 500. In precedenza, un bug nella configurazione NGINX predefinita portava a una ricorsione infinita. GitHub-31530
  • Il nome del file cms_index_noroute.xml è stato corretto in cms_noroute_index.xml. GitHub-31300
  • È stato eseguito il refactoring del file .editorconfig per correggere la formattazione automatica di db_schema_whitelist.json file. GitHub-31171
  • Il ridimensionamento di una finestra del browser non attiva più gli eventi di ingrandimento del binding duplicati. GitHub-30788
  • L'applicazione non genera più un'eccezione SQL quando si filtra Magento\Users\Model\ResourceModel\Users\Collection per user_id. GitHub-31216

Biglietti regalo

  • Le spese di pagamento in sospeso vengono ora rimosse da una gift card come previsto quando una gift card viene annullata. In precedenza, l'applicazione generava un errore quando cron veniva eseguito dopo l'eliminazione della gift card.
  • Gli acquirenti possono ora rimuovere le gift card da un ordine nella pagina Rivedi ordine quando effettuano il check-out con più indirizzi. In precedenza, l'applicazione non rimuoveva la gift card dall'ordine quando l'acquirente selezionava la gift card e faceva clic su Rimuovi.
  • L'applicazione ora visualizza il nuovo prezzo di una gift card nel carrello quando si modifica il valore della gift card dopo averla aggiunta al carrello.
  • Logica di convalida dell'intervallo di prezzi aggiunta alla pagina di creazione della gift card. In precedenza, un amministratore poteva creare una scheda con un valore minimo che superava il valore massimo. GitHub-493
  • La query addRequisitionListItemsToCart ora restituisce l'importo di una gift card personalizzata come previsto quando la richiesta non contiene un valore per allow_open_amount.

Messaggio regalo

  • La mutazione setGiftOptionsOnCart crea correttamente i messaggi regalo. GitHub-388

Registro regali

  • I valori di Data evento ora sono gli stessi nella vetrina e nell'amministratore durante la creazione o la modifica del registro regali. Precedentemente, ogni volta che si modificava e si salvava il registro degli omaggi, l'applicazione modificava la Data evento un giorno indietro sia nella vetrina che in Amministrazione. GitHub-466
  • L'applicazione non visualizza più i prodotti disabilitati nei registri delle donazioni. In precedenza, se un prodotto veniva disabilitato dopo essere stato aggiunto a un registro regali, l'applicazione visualizzava questo messaggio quando un acquirente accedeva al registro: Error: Call to a member function getId() …. GitHub-510

Confezione regalo

  • La traduzione delle etichette per confezioni regalo per le visualizzazioni del negozio ora funziona come previsto.
  • La confezione regalo viene ora applicata come previsto agli ordini spediti a più indirizzi.
  • L'applicazione ora rimuove le spese di confezione regalo dal carrello quando tutti i prodotti sono stati rimossi.
  • I totali delle note di credito ora sono corretti quando la nota di credito contiene il materiale promozionale e le spese configurabili per il prodotto. In precedenza, l'importo dell'imposta di confezione regalo non veniva sempre incluso nel totale della nota di accredito. GitHub-34

Google Analytics

  • L’applicazione non genera più un errore quando un amministratore tenta di caricare una pagina nella vetrina quando è abilitata la Google Analytics. È stata aggiunta una voce CSP per connect-src per consentire le richieste AJAX to www.google-analytics.com. GitHub-30880

Gestione tag Google

  • Il componente dell’interfaccia utente per l’indirizzo di fatturazione nella pagina di pagamento del flusso di lavoro di pagamento ora utilizza correttamente l’indirizzo dell’offerta quando Google Tag Manager è abilitato. In precedenza, si verificava un errore JavaScript nella pagina di pagamento.

GraphQL

  • La query GraphQL products ora restituisce opzioni di attributo ordinate nello stesso ordinamento utilizzato nella pagina di modifica degli attributi.
  • La risposta alla richiesta di GraphQL { category(id: 2){ children { name children { name } } } } ora include una struttura di categorie ordinata correttamente.
  • L'oggetto CartItemPrices contiene ora il nuovo campo GraphQL fixed_product_taxes, che restituisce un array delle imposte sui prodotti fisse applicate a un elemento del carrello. In precedenza, le imposte sui prodotti fisse applicate a un articolo del carrello non venivano incluse nella query del carrello.
  • Le richieste vuote a GraphQL ora generano il codice di risposta 200 invece di 500. In precedenza, il parser GraphQL generava un’eccezione prima della generazione del risultato della query.
  • La mutazione applyRewardPointsToCart aggiorna ora il totale complessivo di un carrello per riflettere con precisione il valore dei punti premio dedotti. GitHub-486
  • I prodotti disattivati non sono più inclusi nella risposta di GraphQL quando GraphQL viene utilizzato per collegare prodotti di upselling.
  • Gli esercenti possono ora utilizzare il metodo GraphQL setShippingAddressesOnCart per impostare gli indirizzi di fatturazione e spedizione per il carrello di un acquirente quando il pagamento come ospite è disabilitato.
  • La query categoryList non genera più un'eccezione quando contiene più frammenti sull'oggetto CategoryTree. GitHub-31086
  • La query di GraphQL product ora restituisce i prezzi corretti del gruppo di clienti.
  • La risposta alla query di GraphQL products ordina ora le aggregazioni in base alla posizione dell'attributo del prodotto.
  • L’applicazione non genera più errori di tipo durante le query GraphQL quando i suffissi URL di prodotto e categoria contengono valori Null. GitHub-30909
  • L'oggetto CustomizableDateValue contiene ora l'attributo type. Il relativo valore è un’enumerazione che può essere impostata su DATE, DATE_TIME o TIME.
  • La query dynamicBlocks restituisce il contenuto dei blocchi dinamici che corrispondono ai filtri specificati.
  • La richiesta POST V1/products/special-price-delete ora elimina solo il prezzo con un store_id specificato come previsto. In precedenza, la chiamata eliminava tutti i prezzi speciali per lo SKU specificato da tutti i negozi. GitHub-25907
  • È stato corretto un errore con l'attributo country_code nella mutazione createGiftRegistry.
  • Sono stati risolti i problemi relativi all'attributo giftRegistryUid della mutazione updateGiftRegistryItems.
  • È stato aggiunto un controllo aggiuntivo per impedire che la mutazione updateGiftRegistryRegistrants venga utilizzata per aggiungere persone casuali come registranti a un registro regali.
  • La mutazione addConfigurableProductsToCart ora restituisce la miniatura corretta del prodotto specificato. In precedenza, restituiva la miniatura del prodotto principale.
  • La query products non espone più il prezzo speciale di un prodotto quando il periodo di prezzo speciale è impostato per una data futura. GitHub-30210, GitHub-29631
  • La risposta alla query customer ora include l'attributo total_giftcard nell'oggetto OrderTotal.
  • È stato corretto un problema a causa del quale la query products restituiva informazioni errate sui livelli di prezzo per gli articoli per i quali non era stato impostato un livello di prezzo. GitHub-32279

Immagine

  • È ora possibile impostare gli attributi del bundle required_options e has_options come previsto durante la creazione o l’aggiornamento di un prodotto bundle utilizzando l’endpoint POST /V1/product/:sku. In precedenza, questi attributi personalizzati venivano impostati su 0 (zero) nonostante gli sforzi per impostarlo su 1 (uno).

Importa/esporta

  • Il filtro ID categoria per le entità prodotto nella griglia Attributi entità della pagina Esporta ora funziona come previsto.
  • Lo stato delle scorte dei prodotti raggruppati ora viene aggiornato in base al previsto quando tutti i prodotti secondari sono esauriti. GitHub-32647
  • Lo stato configurabile delle scorte di prodotto viene ora aggiornato automaticamente come previsto quando lo stato delle scorte di prodotto figlio viene aggiornato dall’importazione. In precedenza, lo stato delle scorte dei prodotti non veniva aggiornato automaticamente quando lo stato delle scorte dei prodotti secondari veniva aggiornato tramite l’importazione.
  • Ora puoi salvare valori vuoti in un’esportazione pianificata. In precedenza, l’applicazione aggiornava i valori dei filtri vuoti dopo la creazione o il salvataggio dell’esportazione. I valori no e not specified erano entrambi rappresentati da zero nel database e un valore di not selected è stato sostituito con no.
  • Il processo di esportazione ora tiene conto dell’ambito del ruolo utente durante l’esportazione di prodotti, origini di magazzino ed entità cliente. In precedenza, il processo di esportazione ignorava l’ambito del ruolo utente, che consentiva l’esportazione di entità di esportazione del ruolo utente privato.
  • L'applicazione ora imposta la classe fiscale del prodotto su None se viene importato un prodotto con tax_class_name valori None o 0. In precedenza, se product tax_class_name era None nel file CSV, l'applicazione creava una nuova classe fiscale None, che duplicava la classe fiscale esistente. Se product tax_class_name erano 0 nel file CSV, l'applicazione ha ignorato tale valore e la classe fiscale del prodotto non è cambiata dopo l'importazione.
  • Gli amministratori possono ora modificare name di un prodotto bundle bundle_values dall'amministratore. In precedenza, l’applicazione visualizzava il prodotto come esaurito sulla vetrina dopo aver modificato il nome da Amministratore. Anche i prodotti sono stati fusi con lo stesso SKU in un’unica sezione di bundle-option.
  • L’applicazione ora tiene conto dell’ambito dell’utente durante l’esportazione dei dati dei clienti. In precedenza, quando si tentava di esportare i clienti, l’applicazione esportava i dati dei clienti da tutti i siti web.
  • L'applicazione ora rimuove le relazioni tra up-sell, cross-selling e prodotti correlati durante l'importazione del file CSV come previsto quando __EMPTY__VALUE__ è specificato nel file CSV.
  • L'esportazione di dati di indirizzi personalizzati per molti clienti (Amministratore Sistema > Esporta) non genera più un errore di memoria. In precedenza, durante l’esportazione dei dati degli indirizzi personalizzati, l’applicazione tentava di caricare tutti i dati del cliente, con conseguente esaurimento della memoria, e l’applicazione generava un errore di mancata allocazione della memoria.
  • I prezzi dei livelli duplicati non vengono più importati durante il processo di importazione CSV predefinito. In precedenza, mancava la convalida per impedire l’importazione di prezzi di livello duplicati e, quando si verificavano prezzi di livello duplicati, gli esercenti non potevano salvare i prodotti. L'errore è stato visualizzato anche dai commercianti che hanno tentato di pianificare una modifica del prodotto: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry….
  • Tutte le immagini del prodotto vengono ora convalidate durante l’importazione. In precedenza, l’applicazione convalidava solo la prima immagine quando un prodotto aveva più immagini. GitHub-28236
  • È ora possibile eliminare un’area da un indirizzo del cliente come previsto durante l’importazione. In precedenza, l’area assegnata non cambiava quando un indirizzo del cliente veniva importato con un’area vuota.
  • I prodotti con contenuti JSON o HTML come attributi di prodotto aggiuntivi ora vengono esportati correttamente in un file CSV. In precedenza, il file CSV conteneva stringhe di dati sovrapposte in campi non corretti.

Indice

  • Process Manager ora viene chiuso con un errore quando un processo figlio non riesce. In precedenza, Process Manager veniva sempre chiuso correttamente se il numero di funzioni passate (ad esempio, dimensioni di indicizzazione) era inferiore al valore della variabile di ambiente MAGE_INDEXER_THREADS_COUNT. GitHub-30964
  • I prodotti sono ora disponibili come previsto nei risultati della ricerca nella vetrina quando si collegano prodotti utilizzando una richiesta REST PUT /V1/products/:sku/links quando la modalità indicizzatore è impostata su Aggiorna al salvataggio.
  • L'indicizzatore regola prezzo catalogo ora funziona come previsto quando la modalità indicizzatore è impostata su Aggiorna al salvataggio. GitHub-370
  • L’eliminazione di una categoria disabilitata che non include un prodotto ora non ha alcun effetto sulla ricerca nel catalogo e sulle tabelle di indici flat della categoria. In precedenza, l’eliminazione di una categoria inattiva attivava una reindicizzazione completa. GitHub-23297
  • Gli indicizzatori personalizzati possono ora utilizzare nomi di colonne di entità diversi per le sottoscrizioni. In precedenza, il trigger del database utilizzava il nome della colonna dell'ultimo indicizzatore impostato su Aggiorna in base alla pianificazione anziché l'indicizzatore designato. GitHub-21853
  • L'applicazione non invia più richieste AJAX per ricaricare le sezioni dei dati dei clienti (Magento_Customer/js/section-config) che non sono interessate dalla richiesta. GitHub-31948
  • I seguenti indicizzatori non verranno più invalidati dopo l'aggiunta, la rimozione o il riordinamento dei prodotti in una categoria: catalog_category_product e catalogsearch_fulltext (e relativi dipendenti). In precedenza, queste rimozioni involontarie attivavano la reindicizzazione completa dei siti. In queste condizioni, la reindicizzazione completa non è consentita se il catalogo flat non è abilitato.

Infrastruttura

  • La dipendenza pelago/emogrifier è stata aggiornata dalla versione 3.1.0 alla 5.0.0. Questo aggiornamento ha determinato l'introduzione di modifiche non compatibili con le versioni precedenti alla classe Magento\Email\Model\Template\Filter. Il codice modificato viene eseguito durante il rendering dei modelli e-mail. Vedi riferimento BIC.
  • È stato risolto un problema relativo a \Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds che impediva il salvataggio di un nuovo prodotto.
  • La libreria TinyMCE v3 obsoleta è stata rimossa. Il modulo Magento_Tinymce3Banner e i test MFTF relativi a TinyMCE v3.x sono stati rimossi da Adobe Commerce.
  • L'applicazione non genera più un errore Invalid header value detected nel modulo Contattaci quando un acquirente immette un indirizzo email che contiene segni diacritici francesi (come "é", "è"). L’applicazione ora converte le lettere UTF-8 nel nome utente in codifica ASCII. In precedenza, le lettere UTF-8 non venivano convertite in codifica ASCII nella sezione univoca dell’indirizzo e-mail.
  • L'applicazione non genera più un errore irreversibile PHP quando si aggiunge un plug-in a una classe padre. GitHub-31291
  • Aggiornamento dei file README.md per i seguenti moduli: Magento_Msrp, Magento_MsrpConfigurableProduct, Magento_MsrpGroupedProduct, Magento_Multishipping, Magento_MysqlMq. GitHub-32577
  • phpcpd è stato aggiornato alla versione v6.0.3 per compatibilità con PHP 8.
  • colinmollenhour/php-redis-session-abstract è stato aggiornato alla versione 1.4.4 per compatibilità con PHP 8. GitHub-32709
  • È stata corretta una combinazione non valida di tabulazioni e spazi nel file phpstan.neon. GitHub-31239
  • È stato rimosso l'utilizzo della proprietà obsoleta $_isScopePrivate in tutta la base di codice. GitHub-30506
  • I layout di pagina non sono più inseriti direttamente nel codice Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container. Di conseguenza, la funzione getPageLayouts() restituisce l'elenco effettivo dei layout di pagina dichiarati dai diversi moduli come previsto. In precedenza, restituiva solo layout hardcoded. GitHub-31168
  • Il file composer.lock è stato aggiornato alla versione più recente di Coding Standard. GitHub-31152
  • Aggiunta di una dipendenza mancante dal pacchetto web-token/jwt-framework a magento/module-jwt-framework-adapter. GitHub-32578
  • Sono stati aggiunti listener passivi alla libreria fotorama.js per migliorare il punteggio delle metriche dei faro. GitHub-31140
  • Il file README.md per il modulo Google Analytics è stato aggiornato. GitHub-32616
  • Gestione processi ora gestisce correttamente le eccezioni nei processi con fork. Il processo principale ora termina e l'applicazione visualizza un messaggio di errore una sola volta. Inoltre, le eccezioni dai processi fork vengono ora gestite quando vengono generate nel processo principale. In precedenza, l’applicazione registrava più errori di indicizzazione e visualizzava più messaggi di errore. GitHub-30622
  • L'applicazione non genera più un errore quando un plug-in viene aggiunto a una classe padre. Il parametro optionsProvider è ora dichiarato dopo getContentIdentities in Assest.php. In precedenza, l'applicazione ha generato questo errore: Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface. GitHub-31291
  • L'esecuzione di Magento\Framework\Filesystem\Io\Ftp::ls() in una cartella vuota ora restituisce un array vuoto come previsto. In precedenza, l'applicazione ha generato questa eccezione: Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…. GitHub-31288
  • Il metodo update sia per Role che per Rules è stato contrassegnato come obsoleto in app/code/Magento/Authorization/Model/Role.php. GitHub-30756
  • La concatenazione per i parametri dei cookie SameSite è stata corretta. In precedenza, la concatenazione non corretta aggiungeva il suffisso lex a value, domain e altri parametri. GitHub-26377, GitHub-32440
  • allure-framework/allure-phpunit è stato aggiornato alla versione 1.3.1 in tutto il codice. In precedenza, l'applicazione visualizzava questo errore: Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74. GitHub-24635
  • L'applicazione visualizza ora ulteriori errori informativi quando si verificano errori durante l'esecuzione dei comandi bin/magento in modalità di produzione. In precedenza, nell’applicazione non venivano visualizzati messaggi di errore o venivano visualizzati messaggi privi di informazioni. GitHub-32786
  • L'oggetto PHP ArrayIterator è stato aggiornato per funzionare come previsto con PHP 7.4. GitHub-32088
  • L'applicazione non genera più un errore quando un cliente tenta di completare un ordine quando non sono disponibili vettori di spedizione. Viene invece visualizzata la pagina di estrazione e il seguente messaggio: Sorry, no quotes are available for this order at this time. In precedenza, l'applicazione visualizzava una pagina di pagamento vuota e registrava questo messaggio nel registro eccezioni: array_keys() expects parameter 1 to be array, null given. GitHub-30830
  • L’applicazione non registra più ogni cookie come contesto separato. Anche l'array $_COOKIE è stato convertito in una stringa. In precedenza, poiché ogni cookie veniva registrato come contesto separato, quando il numero di cookie superava i 50, l'applicazione registrava questo messaggio: Unable to send the cookie. Maximum number of cookies would be exceeded. GitHub-31334

Fattura

  • Durante la creazione di nuove fatture nell'amministratore, la casella di controllo Copia e-mail di ora funziona come previsto. In precedenza, la casella di controllo veniva ignorata se l'impostazione globale per l'invio di e-mail di fattura era abilitata in E-mail vendite. È ora coerente e funziona allo stesso modo delle pagine di creazione delle note di spedizione e di credito. GitHub-28511

Raccolta file multimediali

  • bin/magento media-gallery:sync ha ora esito negativo come previsto durante l'elaborazione di immagini PNG prive di informazioni XMP.
  • Le voci nella tabella catalog_product_entity_media_gallery vengono rimosse come previsto quando i prodotti correlati vengono eliminati. GitHub-17727
  • I dettagli delle immagini possono ora essere aggiornati in Media Gallery quando è abilitata la minimizzazione JavaScript. In precedenza, i dettagli immagine non venivano salvati e l'applicazione visualizzava questo errore: TypeError: Cannot read property 'call' of undefined in jquery.validate. GitHub-31633

MFTF

Le nuove funzionalità e le correzioni di bug di base di MFTF sono descritte nel Registro dei test funzionali.

  • I comandi magento indexer:reindex e cache:flush e il gruppo di azioni AdminReindexAndFlushCache sono stati rimossi dai test per migliorare l'esecuzione dei seguenti moduli: Bundle, Catalog, CatalogRule, CatalogRuleConfigurable, CatalogUrlRewrite, Downloadable, Indexer, Paypal e Sales. GitHub-31031
  • AdminSubmitCategoriesPopupActionGroup è stato aggiunto ai test per evitare errori di test. GitHub-31251
  • I test sono stati reimpostati con StorefrontCheckQuickSearchStringActionGroup e StorefrontAssertProductNameOnProductMainPageActionGroup (gruppi di azioni esistenti). GitHub-31251

Test refactoring

Per migliorare i tempi di esecuzione, sono stati reimpostati i seguenti test:

AddOutOfStockProductToCompareListTest

AdminApplyTierPriceToProductWithPercentageDiscountTest

AdminCheckingCreditMemoTotalsTest

AdminCheckDashboardWithChartsTest

AdminConfigDefaultProductLayoutFromConfigurationSettingTest

AdminCreateInvoiceTest

AdminCreateOrderAddProductCheckboxTest

AdminMassOrdersCancelCompleteAndClosedTest

AdminMassOrdersCancelProcessingAndClosedTest

AdminMassOrdersHoldOnCompleteTest

AdminMassOrdersHoldOnPendingAndProcessingTest (sostituzione per AdminMassOrdersHoldOnPendingAndProcessingTest obsoleto)

AdminMassOrdersUpdateCancelPendingOrderTest

AdminMassProductPriceUpdateTest

AdminMassUpdateProductAttributesMissingRequiredFieldTest

AdminOrdersReleaseInUnholdStatusTest

AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest

AdminSortingByWebsitesTest

AdminUpdateSimpleProduct

AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest

AdminValidateShippingTrackingNumberTest

CancelOrdersInOrderSalesReportTest

ProductsQtyReturnAfterOrderCancelTest

StorefrontConfigurableProductBasicInfoTest

Gruppi di azioni

Le azioni ripetitive sono state sostituite da gruppi di azioni in questi test:

AdminCheckConfigurableProductPriceWithDisabledChildProductTest

AdminConfigurableProductCreateTest

AdminConfigurableProductRemoveAnOptionTest

AdminCreateProductDuplicateUrlkeyTest

AdminCreateSimpleProductNegativePriceTest

AdminCreateSimpleProductZeroPriceTest

AdminCreateVirtualProductFillingRequiredFieldsOnlyTest

AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest

AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest

AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest

Nuovi gruppi di azioni

AdminClearFiltersOnGridActionGroup

AdminClickAddNewPageOnPagesGridActionGroup

AdminClickInsertWidgetActionGroup

AdminClickRefundOfflineOnNewMemoPageActionGroup

AdminFillAccountInformationOnCreateOrderPageActionGroup

AdminGoToOrderStatusPageActionGroup

AdminOpenCMSPagesGridActionGroup

AdminSelectAttributeSetOnEditProductPageActionGroup

AssertAdminProductIsAssignedToCategoryActionGroup (sostituisce il filtro della griglia prodotti con SKU e il clic sulla prima riga (per ridurre il tempo di esecuzione del test)

AssertLinkActionGroup

AssertStorefrontCartDiscountActionGroup

ClickPlaceOrderActionGroup

SaveCmsPageActionGroup

StorefrontAssertProductNameIsNotOnProductMainPageActionGroup

StorefrontGuestCheckoutProceedToPaymentStepActionGroup

StorefrontHoverProductOnCategoryPageActionGroup

StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup

Gruppi di azioni eliminati

  • Rimosso CliIndexerReindexActionGroup (o valore modificato) dai test per migliorare il tempo di esecuzione per i moduli Backend, Bundle, BundleImportExport, Catalog, CatalogRule, CatalogSearch, Checkout, Downloadable, Elasticsearch, Elasticsearch6, Indexer, LayeredNavigation, LoginAsCustomer, Newsletter, Sales, SalesRule, Search, Store, Swatches, UrlRewrite, Weee e Wishlist.
  • Rimosso CliCacheFlushActionGroup da Catalog, CatalogUrlRewrite, Checkout, Config, ConfigurableProduct,Contact, Cookie, CurrencySymbol, Customer, Downloadable, Elasticsearch, Elasticsearch6, Fedex, Indexer, LayeredNavigation,LoginAsCustomer, Msrp, Multishipping, Sales, Swatches, Translation, UrlRewrite, Vault, Weee e Wishlist moduli.

Newsletter

  • L’applicazione non invia più l’e-mail della newsletter a un cliente a cui è stato annullato l’abbonamento alla newsletter nel periodo di tempo compreso tra la creazione della coda di newsletter e l’invio della newsletter. GitHub-32116
  • L'applicazione ora rispetta le impostazioni di abilitazione delle newsletter (Archivi > Impostazioni > Configurazione > Clienti > Newsletter > Opzioni generali). In precedenza, queste impostazioni venivano sempre recuperate dall’ambito predefinito nelle distribuzioni multi-store. GitHub-31188
  • GET La chiamata REST /V1/customers/search ora restituisce le informazioni corrette per i clienti abbonati a più newsletter. GitHub-31168
  • Lo stato di memorizzazione in cache dell’abbonamento è stato rimosso dal plug-in per le newsletter. GitHub-19345

Ordine

  • L'applicazione ora calcola correttamente un saldo cliente fatturato quando restituisce il credito del negozio a un conto cliente per un ordine parzialmente fatturato.
  • L'applicazione ora salva un ordine modificato come previsto quando salva un saldo cliente rimborsato. GitHub-393

Metodi di pagamento

  • L'applicazione ora esegue il rendering dei blocchi di pagamento su frontend indipendentemente dall'area da cui è stata inviata l'e-mail. L'area corrente viene ora emulata come frontend prima del rendering del blocco del pagamento. In precedenza, i blocchi di pagamento venivano visualizzati nell’area da cui veniva inviata l’e-mail. Di conseguenza, indipendentemente dal fatto che l'e-mail di vendita sia stata attivata dall'amministratore o dall'API REST, gli URL delle risorse hanno tentato di caricarle dall'area errata (webapi_rest o adminhtml).
  • L’applicazione ora invia il collegamento di un prodotto scaricabile all’indirizzo e-mail specificato durante il pagamento. In precedenza, quando un acquirente ospite utilizzava PayPal Express Checkout e inseriva diversi indirizzi e-mail per inviare l’ordine e ritirare, l’applicazione inviava il link del prodotto scaricabile al primo indirizzo.
  • L'applicazione visualizza ora un valore preciso per il credito del negozio disponibile nella pagina Metodo di pagamento nelle distribuzioni che supportano più valute.
  • L'elenco dei metodi di pagamento viene ora aggiornato come previsto quando un acquirente ospite cambia l'indirizzo di spedizione di un ordine in un altro paese durante il pagamento. In precedenza, la modifica dell’indirizzo di fatturazione non attivava un aggiornamento dei possibili metodi di pagamento.

PayPal

  • Gli acquirenti possono ora effettuare il check-out di un ordine PayPal Payflow Pro con un indirizzo di spedizione che contiene caratteri speciali. In precedenza, l'applicazione rifiutava il pagamento per questi ordini.
  • Gli acquirenti vengono ora reindirizzati alla pagina di successo dell'ordine dopo un pagamento eseguito con successo tramite PayPal. In precedenza, gli acquirenti venivano reindirizzati a una pagina vuota perché i dati della sessione andavano persi.

Prestazioni

  • Sono state migliorate le prestazioni della ricerca SKU di amministrazione in cataloghi di grandi dimensioni. Gli hint di Query Optimizer ora forzano l’utilizzo dell’indice durante l’esecuzione della query.
  • Sono state migliorate le prestazioni del processo catalog_product_alert cron durante l'esecuzione su tabelle di grandi dimensioni (diverse milioni di righe). In precedenza, catalog_product_alert caricava tutti gli avvisi sui prodotti, causando un'eccezione di memoria insufficiente.
  • L’applicazione non carica più tutte le pagine CMS quando è necessaria una sola pagina di modifica per eseguire il rendering di un modulo amministratore. Queste pagine ora vengono caricate più rapidamente. GitHub-30936
  • I valori numerici nelle espressioni WHERE IN vengono ora inseriti come numero, non come stringa, il che migliora le prestazioni delle query in alcune versioni di MariaDB. GitHub-31135

  • La modalità use_application_lock consente di abilitare la reindicizzazione utilizzando variabili di ambiente o configurando il file app/etc/env.php. Non è più necessario reimpostare manualmente l’indicizzatore dopo un errore con questa modalità abilitata. Se questa modalità non è abilitata, è necessario reimpostare manualmente l'indicizzatore dopo un errore. Vedere Utilizzo della modalità blocco applicazione per i processi di reindicizzazione.

Prezzi

  • L’applicazione ora aggiorna correttamente il prezzo di un prodotto con prezzi raggruppati quando un acquirente aggiorna la quantità di prodotto sul vetrina. GitHub-32669
  • È ora possibile salvare i prodotti del bundle quando ai prodotti è stato assegnato un prezzo di livello e Magento\Framework\Api\ExtensibleDataObjectConverter viene utilizzato per convertire i dati del prodotto. In precedenza, quando Magento\Framework\Api\ExtensibleDataObjectConverter veniva utilizzato per convertire i dati di prodotto in un array quando un prodotto veniva salvato, l'applicazione non salvava il prodotto e visualizzava questo errore: Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
  • Gli aggiornamenti dei prezzi pianificati vengono ora applicati ai prodotti già presenti nel carrello. GitHub-356
  • Il prezzo di livello ora viene applicato a un prodotto come previsto quando gli incrementi di quantità sono abilitati e le scorte decimali sono inferiori a 1. In precedenza, la quantità minima del prezzo del livello era impostata su 1.

Video del prodotto

  • Ora puoi utilizzare il pulsante Aggiungi video (Amministratore Catalogo > Prodotti) per aggiungere consecutivamente diversi video. In precedenza, i campi video contenevano i dettagli del video precedente.
  • L’accesso alla modalità a tutto schermo per un video di prodotto su una pagina di prodotto ora funziona come previsto sui dispositivi mobili. In precedenza, l’accesso alla modalità a schermo intero causava una pausa del video prima dell’uscita dalla modalità a schermo intero.
  • I pulsanti della freccia di navigazione (Avanti e Prec) ora sono visibili come previsto nei video dei prodotti della vetrina.
  • Gli esercenti possono ora aggiungere video Vimeo utilizzando il pulsante Inserisci video nella pagina del prodotto come previsto. In precedenza, l’applicazione mostrava un errore 404. GitHub-31753

Citazione

  • La chiamata /V1/guest-carts/examplecartid/items ora restituisce la visualizzazione archivio richiesta. In precedenza, restituiva la prima visualizzazione dello store nello store, non quella richiesta.
  • L'invio delle fatture è ora configurabile. In precedenza, l'invio delle fatture non era configurabile e l'applicazione inviava sempre una fattura dopo la sua creazione. Le e-mail di ordini e fatture venivano inviate nell’ambito di un osservatore. Osservatori separati ora governano l'invio di e-mail di ordine e di fattura. GitHub-27656

Rapporti

  • Tutti i rapporti sul sistema ora possono essere visualizzati e scaricati da Adobe Commerce sul progetto di infrastruttura cloud. In precedenza, non era possibile scaricare rapporti di sistema per registri, dati, progettazione o archivi.
  • La data dell'ultima revisione in Admin Reports > Reviews > By Products visualizza ora la data di revisione corretta. In precedenza, l’applicazione visualizzava la data di creazione del prodotto invece della data di revisione.

Restituisci autorizzazioni Merchandising (RMA)

  • L'attributo resolution di RMA non viene più visualizzato come obbligatorio quando il valore del campo attributo required è impostato su no.
  • Ora puoi selezionare più ordini da restituire dall’amministratore. In precedenza, l'applicazione generava un errore quando si faceva clic su Invia dopo aver selezionato più restituzioni e aver selezionato Chiusura dal menu a discesa Azioni.
  • L’applicazione ora invia ai clienti una notifica e-mail come previsto dopo aver modificato lo stato di un reso utilizzando l’API REST.
  • L’applicazione ora filtra i record in base ai valori dei filtri nella griglia restituita dal cliente amministratore. In precedenza, l'applicazione ti indirizzava alla pagina Amministrazione tutti i clienti e facendo clic sul pulsante Reimposta filtro veniva reindirizzato anche a questa pagina. GitHub-436

Recensioni

  • Le stelle di valutazione del prodotto ora vengono calcolate correttamente nella sezione Dettagli revisione della pagina Il mio account.
  • Le sezioni Valutazione media del prodotto e Valutazioni del prodotto della pagina dei dettagli di revisione del prodotto ora vengono riprodotte correttamente. In precedenza, l’ID di revisione non veniva impostato quando l’applicazione calcolava la valutazione della vetrina e il modello di revisione del prodotto non veniva renderizzato correttamente.
  • Il collegamento Rivedi per primo questo prodotto ora cambia come previsto in un conteggio di revisioni dopo che un amministratore ha approvato una revisione.
  • Ora gli amministratori possono ordinare le revisioni dei prodotti nella sezione Revisioni dei prodotti della pagina di modifica dei prodotti come previsto. GitHub-30270
  • Le recensioni vengono ora salvate con l'ID archivio corretto dopo che un amministratore approva e salva la revisione da un dominio diverso rispetto all'archivio. GitHub-17510

Premi

  • I commercianti possono ora annullare un ordine effettuato interamente o parzialmente utilizzando punti premio dopo che il cliente che lo ha effettuato è stato rimosso dal sistema.
  • I commercianti possono ora rimuovere i punti premio dalle regole di prezzo del carrello. In precedenza, quando un commerciante tentava di impostare Punti premio su 0 durante la creazione di una regola del prezzo del carrello, il valore precedente per la quantità di punti premio persisteva.
  • I punti premio per le recensioni dei prodotti sono ora associati al sito Web rilevante quando più revisioni vengono approvate dalla griglia Marketing > Revisioni in sospeso dell'amministratore. In precedenza, i punti premio non venivano visualizzati nella vetrina e non erano collegati al sito web pertinente nell’amministratore.
  • L'applicazione aggiorna ora l'elenco dei metodi di pagamento quando un acquirente estrae con più indirizzi controlla o deseleziona l'opzione Credito store (Punti premio).

Vendite

  • Gli utenti amministratori ora possono effettuare ordini per articoli esauriti quando l'impostazione Ordini inevasi consentiti è abilitata (Archivi > Configurazione > Catalogo > Inventario > Opzioni Stock Di Prodotto). In precedenza, l’applicazione generava un errore.
  • Ora gli acquirenti possono trovare un ordine nella pagina Ordini e restituzioni quando il cognome termina con uno spazio vuoto.
  • Le fatture vengono ora create con il totale complessivo corretto quando una regola di prezzo del carrello che assegna uno sconto del 100% viene applicata a un ordine che è anche soggetto alle imposte sui prodotti del catalogo e allo sconto e che è idoneo per la spedizione gratuita. In precedenza, l’ordine aveva il prezzo corretto, ma la fattura non lo aveva. GitHub-30853
  • Il filtraggio degli ordini per data ora restituisce risultati precisi. In precedenza, l’applicazione non restituiva un ordine effettuato dopo le 00:00 UTC quando si filtravano gli ordini per data.
  • La griglia della nota di accredito visualizza ora il simbolo di valuta corretto quando viene utilizzato l'ambito Sito Web per un attributo Prezzo in una distribuzione multi-store.
  • I pulsanti di scelta Metodi di pagamento non scompaiono più nella sezione Informazioni su pagamento e spedizione del flusso di lavoro di pagamento dopo il ricaricamento della pagina Crea nuovo ordine dell'amministratore. GitHub-32106
  • Il testo in arabo viene ora visualizzato correttamente nelle fatture.
  • L'applicazione ora calcola correttamente i totali parziali delle imposte della nota di accredito per le note di accredito basate su un ordine o su una fattura in negozi che distribuiscono PayPal Payment Pro come gateway di pagamento. In precedenza, per gli ordini con più fatture, l'applicazione applicava l'intera imposta di tale ordine per l'annullamento parziale della fattura nella nota di accredito.
  • L’applicazione non crea più deadlock casuali del database durante l’invio di e-mail di nuovi ordini ai clienti. In precedenza, si verificavano deadlock perché l'applicazione salvava l'intero oggetto e gli oggetti correlati anziché le colonne SQL aggiornate. Tipo di errore visualizzato dall'applicazione: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. GitHub-31090
  • Nella pagina dei dettagli dell'ordine di storefront viene ora visualizzata la quantità di prodotto spedita corretta. In precedenza, le quantità dei prodotti non erano corrette perché il modello per la pagina Spedizione ordine restituiva Qtà spedita come int. Questo è stato modificato in float.
  • L'applicazione non invia più e-mail alle copie di una fattura dell'ordine quando il pulsante Copia e-mail della fattura non è selezionato. In precedenza, l'applicazione inviava un'e-mail a Cliente e Invia copia e-mail fattura a. GitHub-28511
  • L'applicazione non crea più voci di indirizzo duplicate per un account cliente durante la creazione di un nuovo ordine dall'amministratore per un cliente esistente. La casella di controllo Salva nella Rubrica è stata rinominata in Aggiungi alla Rubrica ed è deselezionata per impostazione predefinita in Amministrazione.
  • L'applicazione ora utilizza il logo caricato nelle impostazioni Logo per la visualizzazione Stampa di HTML quando gli acquirenti stampano un ordine dal proprio account. In precedenza, l’applicazione visualizzava il logo LUMA invece del logo caricato.
  • Il cercapersone degli articoli in vetrina ora funziona come previsto quando il numero di articoli supera i 20. In precedenza, il cercapersone prendeva in considerazione i prodotti secondari e il conteggio totale non era corretto.
  • L'applicazione visualizza ora i simboli di valuta corretti per i subtotali e i valori di spedizione e gestione nelle griglie delle pagine Ordine e Nota di credito. GitHub-22662
  • Ora gli amministratori che utilizzano Safari possono aggiungere correttamente un prodotto a un ordine dell’amministratore. In precedenza, quando l'amministratore faceva clic sul pulsante Aggiungi prodotti selezionati all'ordine, l'applicazione visualizzava l'icona di caricamento che ruota e la pagina era bloccata. GitHub-30265

Regola di vendita

  • L'applicazione ora applica le regole del prezzo del carrello con Sconto Qtà massimo applicato a o Fase Qtà sconto (Acquista X) condizioni correttamente quando più regole del prezzo del carrello vengono applicate al carrello. In precedenza, se una regola di prezzo del carrello con Sconto qtà massimo viene applicata a o Passaggio qtà sconto (Acquista X) dopo che un'altra regola di prezzo del carrello è stata applicata, lo sconto totale è stato ridotto al valore configurato per Sconto qtà massimo applicato a o Passaggio qtà sconto (Acquista X) volte il prezzo del prodotto.
  • Il rapporto Coupon ora riflette accuratamente l’attività del coupon nelle distribuzioni in cui viene implementato un database suddiviso.
  • Le regole di prezzo del carrello che contengono la condizione Categoria IS NOT vengono ora applicate come previsto ai prodotti secondari/semplici configurabili che non sono assegnati a una categoria ma ai cui prodotti principali sono assegnati.
  • La query GraphQL cart ora restituisce il totale complessivo corretto per il passaggio di fatturazione di un carrello quando viene applicato un coupon all'ordine.

Ricerca search-heading

  • La pagina delle categorie non contiene più gli ID duplicati degli elementi HTML: modes-label, mode-list, toolbar-amount, sorter, limiter.
  • I risultati della ricerca parziale per parola non includono più corrispondenze impreviste o irrilevanti e le ricerche producono risultati coerenti sia nella vetrina che nell’amministratore. L’applicazione ora utilizza un analizzatore diverso senza uno stemmer per le ricerche parziali di parole. In precedenza, i risultati della ricerca mostravano prodotti che non includevano parole chiave di ricerca. (L’analizzatore predefinito includeva in precedenza uno stemmer e, poiché lo stesso analizzatore veniva utilizzato al momento della ricerca parziale di parole, il risultato della ricerca poteva produrre corrispondenze impreviste o irrilevanti).
  • La ricerca rapida ora restituisce i risultati se la query di ricerca contiene più parole e il nome del prodotto è configurato come non ricercabile. In precedenza, se il nome del prodotto era configurato come non ricercabile, l’applicazione generava un’eccezione di query sulle query di ricerca con più parole.
  • I risultati della ricerca ora includono l'attributo weight come previsto quando è configurato come ricercabile.
  • L’applicazione non genera più un errore quando si visualizza una pagina categoria vuota con l’Elasticsearch abilitato. Viene invece eseguito il rendering della pagina come previsto e viene visualizzato un messaggio informativo. In precedenza, un indice full-text vuoto attivava un’eccezione in una pagina categoria.
  • La funzione di completamento automatico dei campi di ricerca ora funziona come previsto se un acquirente fa clic all’esterno del campo di ricerca dopo aver iniziato la ricerca. I suggerimenti di completamento automatico vengono ora visualizzati nuovamente quando l'acquirente riprende a digitare. In precedenza, l’applicazione non visualizzava suggerimenti di completamento automatico e facendo clic nella casella di ricerca i suggerimenti di ricerca non venivano più visualizzati (anche se digitando lettere aggiuntive).
  • La ricerca di un prodotto in base al relativo SKU completo o parziale in Ricerca avanzata ora restituisce il prodotto previsto.
  • I filtri di navigazione a livelli ora visualizzano conteggi accurati dei prodotti. In precedenza, i valori del conteggio dei prodotti di Elasticsearch non venivano filtrati dalle autorizzazioni del catalogo.
  • L’Elasticsearch non genera più un errore quando il parametro di pagina dell’URL della categoria supera l’impaginazione. GitHub-23843
  • È ora possibile aggiungere un mapper di campo di Elasticsearch personalizzato a Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver. GitHub-24350
  • Ora gli sviluppatori possono modificare le mappature Elasticsearch. In precedenza, i modelli dinamici inviati al server Elasticsearch nelle mappature predefinite erano hardcoded, impedendo agli sviluppatori di indicizzare in Elasticsearch eventuali dati aggiuntivi associati a un modulo personalizzato. GitHub-24363
  • I campi di ricerca (ricerca minisearch modulo) ora funzionano come previsto quando i suggerimenti di ricerca sono disabilitati. GitHub-30584

Spedizione

  • L’applicazione ora aggiorna il prezzo di spedizione come previsto quando un acquirente torna alla pagina del carrello dopo aver eliminato un prodotto durante il pagamento con più indirizzi.
  • L'applicazione visualizza ora il prezzo di spedizione corretto quando alcuni articoli nel carrello sono idonei per la spedizione gratuita. In precedenza, quando un sottoinsieme di articoli nel carrello soddisfaceva le condizioni per la spedizione gratuita, l’applicazione non regolava il prezzo di spedizione e mostrava il prezzo di spedizione completo all’acquirente.
  • Gli amministratori che dispongono di un sito Web specifico possono ora creare una spedizione per un ordine effettuato sullo stesso sito Web. In precedenza, l'applicazione ha generato questa eccezione quando un amministratore che non disponeva dell'autorizzazione per la visualizzazione predefinita dello store ha tentato di inviare un ordine inserito in una visualizzazione dello store a cui l'amministratore aveva accesso: Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293.
  • L'applicazione ora prende in considerazione gli sconti pertinenti regola di prezzo del carrello quando si stabilisce se un ordine soddisfa le condizioni per spedizione gratuita DHL.
  • Le etichette di spedizione ora utilizzano la valuta di base prevista invece della valuta dell'ordine per i negozi che supportano più valute quando un ordine viene inserito in una valuta non di base. GitHub-31891
  • L’applicazione ora visualizza il subtotale dell’ordine corretto quando un acquirente ritorna alla pagina del carrello durante il pagamento dopo essere uscito dalla pagina di spedizione multipla. GitHub-31889
  • La modifica delle informazioni di fatturazione durante la creazione dell'ordine amministratore non modifica più le informazioni di spedizione per i clienti con indirizzi di spedizione e fatturazione predefiniti diversi. GitHub-31786
  • L'applicazione non deseleziona più la casella di controllo Aggiungi commenti quando un acquirente fa clic su Ottieni metodi e tariffe di spedizione e seleziona un metodo di spedizione durante la creazione di un ordine dall'amministratore. GitHub-30256
  • Gli acquirenti possono ora utilizzare il pulsante Indietro del browser per tornare alla pagina Seleziona metodo di spedizione durante il check-out di un ordine con più indirizzi. In precedenza, nell'applicazione veniva visualizzata la pagina Seleziona metodo di spedizione danneggiata. GitHub-30268
  • La quantità di prodotto ora rimane invariata come previsto dopo che un acquirente ha modificato la quantità nella pagina Spedisci a più indirizzi e ha fatto clic sul pulsante Indietro del browser. GitHub-31956
  • Le spese del metodo di spedizione a tariffa fissa non diventano più pari a zero quando viene applicata una regola del prezzo del carrello durante il pagamento. GitHub-21832
  • L'applicazione non genera più un errore quando un commerciante tenta di spedire un ordine utilizzando DHL quando la casella di controllo Crea etichetta di spedizione è abilitata e il nome del prodotto contiene caratteri Unicode. In precedenza, l'applicazione visualizzava questo errore durante la richiesta di creazione dell'etichetta: The response is in wrong format. GitHub-31032
  • È possibile effettuare un ordine dall'amministratore in una distribuzione multisito in cui United States è abilitato su un sito Web e Disable all countries è abilitato come ambito predefinito sull'altro sito Web. In precedenza, l'ordine non veniva eseguito e veniva visualizzato l'errore: Please check the shipping address information. "regionId" is required. Enter and try again. GitHub-30577

Staging

  • La funzione Pianifica aggiornamento blocco ora funziona come previsto nelle distribuzioni che implementano Fastly. In precedenza, l’applicazione non aggiornava il contenuto del blocco perché i tag della cache Fastly non venivano invalidati e Fastly continuava a fornire contenuto obsoleto.
  • L’anteprima intermedia della regola del prezzo del carrello ora viene caricata nel sito web appropriato quando viene assegnata a più visualizzazioni store del sito web. In precedenza, l’anteprima intermedia della regola del prezzo del carrello veniva caricata nella vista store predefinita indipendentemente dai siti web assegnati.
  • I prezzi speciali per i prodotti nella visualizzazione store non predefinita vengono ora impostati sul valore predefinito previsto al termine di un aggiornamento pianificato.
  • Gli esercenti possono ora salvare correttamente un prodotto scaricabile con un campione collegato dalla pagina del prodotto scaricabile dopo aver creato un futuro aggiornamento di staging con una data di fine. In precedenza, l'applicazione non aveva salvato il prodotto e aveva visualizzato questo messaggio: The downloadable sample isn't related to the product. Verify the link and try again. GitHub-488
  • L’applicazione non esegue più query di database di grandi dimensioni che includono tutti gli ID prodotto durante l’anteprima di un aggiornamento della pianificazione di una categoria. Il filtro categoria viene applicato alla raccolta prodotti per creare una tabella temporanea per le anteprime di gestione temporanea della categoria. In precedenza, l’applicazione inseriva tutti i prodotti in una tabella temporanea per l’anteprima di staging, che causava un calo delle prestazioni.
  • Il modulo Magento_SalesRuleStaging non attiva più gli errori durante l'aggiornamento dalla versione 2.3.x.
  • L’applicazione ora visualizza le condizioni della regola del catalogo con i dati corretti quando visualizzi un aggiornamento della pianificazione. In precedenza, se si visualizzava un aggiornamento della pianificazione creato con condizioni, l’applicazione non visualizzava condizioni o presentava condizioni con dati errati.
  • La casella di controllo Usa valore predefinito per un prodotto rimane selezionata dopo che un aggiornamento pianificato è stato deselezionato prima dell'aggiornamento.
  • Le regole del prezzo di catalogo ora si applicano come previsto ai prodotti con valori di attributo non definiti. In precedenza, gli sconti creati tramite una regola del prezzo di catalogo non venivano applicati ai prodotti con attributi non definiti. GitHub-461
  • Le regole del catalogo ora funzionano come previsto nelle distribuzioni multi-sito con archivi in fusi orari diversi. In precedenza, l’applicazione applicava o disattivava regole di catalogo su tutti i siti web contemporaneamente.
  • I prezzi di livello non vengono più rimossi quando si crea un aggiornamento di pianificazione per un sito Web specifico.
  • Ora puoi salvare un prodotto dalla pagina Prodotto scaricabile dopo aver creato un futuro aggiornamento di staging con una data di fine. In precedenza, l'applicazione non aveva salvato il prodotto e aveva visualizzato questo messaggio: The downloadable link isn't related to the product. Verify the link and try again. GitHub-474

Archivia

  • L'applicazione non tratta più una stringa di 0 come valore vuoto durante la visualizzazione di una home page dello store. In precedenza, l’applicazione considerava un valore intero all’inizio di un percorso di richiesta come un ID store, con effetti indesiderati sulla SEO.
  • I plug-in per \Magento\Framework\App\ActionInterface in lib/internal/Magento/Framework/App/Action/Plugin sono stati rimossi per rispettare la regola che i plug-in devono essere utilizzati per personalizzare il comportamento di un modulo da un altro modulo. GitHub-28050
  • L'applicazione visualizza ora questo messaggio quando si tenta di selezionare Website come impostazione predefinita quando Store View è disabilitato durante la creazione del sito Web: Please enable your Store View before using this Web Site as Default. In precedenza, il sito web si bloccava e l’applicazione non visualizzava un avviso.

Imposta

  • L'applicazione ora prende in considerazione l'imposta nascosta durante la convalida dell'importo minimo dell'ordine.
  • L’applicazione ora visualizza le imposte fisse sui prodotti (FPT, Fixed Product Taxes) come previsto quando un acquirente torna al carrello e procede al pagamento dopo l’aggiunta dei bundle di prodotti al carrello. GitHub-30250
  • L'applicazione ora precompila i campi di input Partita IVA per gli indirizzi di fatturazione e spedizione della sezione Informazioni indirizzo della pagina Nuovo ordine amministratore con numeri IVA salvati quando un amministratore crea un ordine per un cliente esistente. GitHub-31846
  • L'applicazione visualizza ora il campo Partita IVA nella pagina di registrazione del cliente quando customer/create_account/vat_frontend_visibility è abilitato. GitHub-31326

Test

  • Gli ambienti di test sono stati aggiornati a Redis 6.0.12.
  • Rimosso CacheCleaner::cleanAll(); dai test di integrazione. GitHub-31074
  • È stato aggiunto un test per questo scenario: gli utenti amministratori possono modificare un account cliente quando il cliente è abbonato a una newsletter in coda. GitHub-30645
  • Il comando cache:flush è stato rimosso dai test per migliorare il tempo di esecuzione per i moduli Catalog, CatalogUrlRewrite e LoginAsCustomer. GitHub-31056
  • I parametri ridondanti sono stati rimossi e POST è stato modificato in GET dove necessario in \Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping.

Tema

  • La pagina di accesso del cliente non visualizza più questo messaggio quando l'impostazione Sposta codice JS nella parte inferiore della pagina (Archivia > Configurazioni > Avanza > Sviluppatore > Impostazioni JavaScript) e i cookie sono entrambi abilitati: The store will not work correctly in the case when cookies are disabled.
  • I collegamenti dell’account nelle intestazioni ora seguono gli standard WCAG. In precedenza, i collegamenti degli account nelle intestazioni contenevano ID duplicati, che impedivano la convalida WCAG.
  • L'applicazione ora assegna priorità alla configurazione dello store per un'immagine del logo dello store rispetto alla configurazione del layout. In precedenza, le dimensioni delle immagini del logo venivano corrette e non variavano in base al negozio.
  • L’applicazione ora visualizza gli elementi di pagina in modo coerente sulle pagine di vetrina che utilizzano i temi standard di Adobe Commerce. In precedenza, non tutti gli stili venivano applicati al tema vuoto, pertanto non tutti gli elementi di pagina venivano visualizzati nelle pagine che utilizzavano questo tema. Nel campo di ricerca della pagina Ordini personali, ad esempio, non era presente alcuna icona di ingrandimento.

Traduzione e lingue

  • Le parentesi che vengono aggiunte alle stringhe non hanno più l’escape quando viene configurata la traduzione in linea. In precedenza, il metodo escapeHtmlAttr convertiva le parentesi in codici di entità HTML. GitHub-32000
  • Le frasi non traducibili nell’Amministratore ora sono traducibili. Questa richiesta di pull contribuisce agli sforzi continui per rendere tutte le stringhe di amministrazione localizzabili. GitHub-11175
  • Le stringhe di testo nel modello utilizzate per gestire i metodi di pagamento archiviati (Account personale > Metodi di pagamento archiviati ) sono ora traducibili. GitHub-31211
  • Le e-mail di ordine inviate dall’amministratore ora utilizzano le impostazioni locali dell’archivio e non le impostazioni locali associate all’account dell’amministratore. GitHub-26521

UI

  • Nel piè di pagina Amministratore viene ora visualizzata la versione corretta del prodotto.
  • L’impaginazione per le origini è ora presente come previsto durante la creazione della spedizione da parte dell’amministratore.
  • Il filtro della griglia prodotti ora funziona correttamente quando si utilizzano attributi di data personalizzati per filtrare i prodotti e le impostazioni locali dell'utente amministratore sono en_GB.
  • I gesti di zoom e pizzicamento ora funzionano come previsto nella lente di ingrandimento della galleria di immagini della pagina del prodotto sui dispositivi iOS.
  • L’impaginazione dei risultati della ricerca nella griglia dei prodotti Admin ora inizia dalla pagina 1 per ogni ricerca come previsto.
  • Sono state risolte le anomalie con la visualizzazione del carrello quando è ingrandito. In precedenza, gli elementi di visualizzazione si sovrapponevano quando la pagina veniva ingrandita.
  • Sono stati risolti i problemi di allineamento con le schede nella pagina dell'invito dell'amministratore (Amministratore Marketing > Vendite private > Inviti). In precedenza, la visualizzazione Scheda per gli inviti accettati da un cliente non era allineata. GitHub-333
  • La pagina di revisione dell'ordine visualizzata durante il pagamento con PayPal Express Checkout ora viene caricata correttamente. In precedenza, il modello conteneva il pulsante Aggiorna metodo di consegna non utilizzato, nascosto solo parzialmente dallo script durante il rendering della pagina. GitHub-32006
  • Le stelle di valutazione e il testo di revisione nella sezione Customer Reviews della pagina del prodotto ora sono distanziati correttamente quando sono presenti nomi di valutazione lunghi. GitHub-31890
  • Le opzioni vengono ora visualizzate come previsto nell'elenco a discesa Azioni nelle pagine Archivia fatture, Spedizioni e Note di credito.
  • L'applicazione visualizza ora un valore di ora corretto quando l'opzione timeOnly del componente datetime è impostata su yes. GitHub-23157
  • È ora possibile rimuovere un aggiornamento del layout dopo aver creato un nuovo widget in Admin Content > Widgets. GitHub-29936
  • Il pulsante Rimuovi aggiornamento layout ora funziona come previsto su qualsiasi layout aggiunto dall'amministratore Contenuto > Widget. In precedenza, questo pulsante non funzionava con layout diversi dal primo selezionato quando si aggiungevano più layout. GitHub-30286
  • L'applicazione ora utilizza il titolo della pagina impostato nel file di layout come titolo della pagina del browser per il file di modifica dell'account del cliente. In precedenza, l'azione del controller Magento\Customer\Controller\Account\Edit imponeva il valore del titolo della pagina a Account Information. GitHub-30724
  • Sono state aggiunte alle pagine le caselle di controllo che consentono ai commercianti di alternare tra la visualizzazione e la visualizzazione delle password:

    • Accesso cliente
    • Registrazione cliente
    • Modifica del cliente (sezione Modifica password)
    • Nuova password impostata dal cliente GitHub-31557
  • È stata rimossa un’intestazione ridondante nelle celle della griglia visualizzata quando un amministratore aggiungeva un prodotto a un set di prodotti raggruppati dopo aver modificato il set di attributi. GitHub-30911
  • L'applicazione visualizza ora un filtro DateRange nell'area Accesso eseguito della pagina Cliente > Accesso. In precedenza, l'applicazione visualizzava un filtro Text. GitHub-30328
  • JavaScript è stato rimosso dai file modello e spostato in file separati per ridurre i problemi di rendering sulle pagine di amministrazione. In precedenza, il rendering delle pagine di amministrazione non veniva eseguito correttamente nelle distribuzioni in cui era stata abilitata la minimizzazione di HTML. L'applicazione ha visualizzato questo errore: An error has happened during application run. See exception log for details. GitHub-32454
  • Il widget dropdownDialog ora carica solo i blocchi jquery-ui trascinabili e ridimensionabili necessari. In precedenza, caricava grandi quantità di codice non necessario, il che aumentava il tempo di caricamento e riduceva le prestazioni. GitHub-32810

Riscritture URL

  • Le riscritture dell’URL del prodotto per un sito web specifico in una distribuzione multisito ora vengono generate come previsto dopo l’assegnazione dei prodotti a un sito web tramite aggiornamento in blocco.
  • L'applicazione ora genera correttamente il percorso URL per le categorie figlio quando la casella di controllo Usa valore predefinito per la chiave URL è abilitata per la categoria padre. In precedenza, lo spostamento di una categoria nella gerarchia causava un valore url_path errato quando si utilizzavano chiavi URL diverse in una distribuzione di visualizzazione multi-store. GitHub-16202
  • L'applicazione aggiorna ora url_path della categoria assegnata a tutto l'ambito dell'archivio quando si sposta una categoria nella gerarchia delle categorie. In precedenza, lo spostamento di una categoria nella gerarchia causava un errore di url_path.
  • I reindirizzamenti URL creati dall’amministratore utilizzando un URL personalizzato ora funzionano correttamente. In precedenza, GraphQL memorizzava nella cache la risposta di una query GraphQL urlResolver e restituiva il valore precedente dopo l'aggiornamento di riscrittura dell'URL.
  • Le riscritture dell’URL del prodotto vengono ora rimosse come previsto quando un prodotto viene rimosso da un sito web. GitHub-24184
  • È stato aggiunto un riferimento main_table a store_id nella funzione addStoreFilter della raccolta app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php. In precedenza, si verificavano problemi ogni volta che un join veniva aggiunto alla raccolta su una tabella che conteneva anche una colonna store_id. GitHub-31853
  • L'endpoint REST PUT /V1/products/:sku rigenera ora l'URL del prodotto come previsto. In precedenza, l'endpoint rigenerava i valori del prodotto url_key ma non riscrive l'URL. GitHub-30316

Utente

  • Ora puoi salvare un nuovo ruolo utente effettivo (Amministratore Sistema > Autorizzazioni > Ruoli utente) con l'intera struttura Catalog selezionata, escludendo Edit Product Design ( Catalogo > Inventario > Prodotti > Modifica progettazione prodotto). In precedenza, l'applicazione non salvava le modifiche apportate da un utente con questo ruolo e visualizzava questo errore: Not allowed to edit the product's design attributes. GitHub-31973
  • L’applicazione ora utilizza il modello e-mail personalizzato corretto durante la generazione dei messaggi e-mail per i nuovi amministratori. In precedenza, l’applicazione utilizzava il vecchio modello predefinito, in cui venivano omessi il nome e il cognome dell’amministratore.
  • L’applicazione ora utilizza il modello e-mail corretto per l’invio di e-mail a nuovi utenti. In precedenza, l’applicazione utilizzava il modello predefinito anche quando era selezionato un modello personalizzato.

VersionCMS

  • L’applicazione ora applica il tema corretto a una pagina CMS dopo averne modificato il layout. In precedenza, l’applicazione cambiava il tema assegnato in Luma dopo aver salvato le modifiche al layout, indipendentemente dal tema assegnato alla pagina.
  • Gli amministratori con ruoli limitati possono ora aggiungere, aggiornare o duplicare con successo le pagine a cui ha accesso che sono assegnate a un nodo della gerarchia. In precedenza, l’applicazione generava un errore irreversibile in queste condizioni.

Video

  • I video sono ora disponibili nella galleria di prodotti come previsto quando viene abilitato e utilizzato il bundling avanzato di JavaScript. GitHub-32501
  • I video di YouTube per i prodotti semplici che appartengono a un prodotto configurabile ora funzionano come previsto. In precedenza, le immagini venivano ordinate per ID anziché per posizione. Di conseguenza, alcuni video sono stati trattati come immagini. GitHub-29690

Visual Merchandiser

  • Sono state migliorate le prestazioni di caricamento della pagina della categoria Amministratore con Visual Merchandiser. Il caricamento delle pagine della categoria Amministratore non genera più query di database di grandi dimensioni.

Framework API web

  • L’API Catalogo ora aggiorna correttamente i valori delle opzioni personalizzate di un prodotto aggiungendo nuovi valori e rimuovendo quelli precedenti. In precedenza, l’API non eliminava i vecchi valori.
  • Il POST /V1/guest-carts/:cartId/billing-address ora restituisce l'ID indirizzo come numero intero, non come stringa.

Limitazione del sito web

  • Gli acquirenti vengono ora reindirizzati alla pagina a cui stavano tentando di accedere prima che venga richiesto loro di effettuare l’accesso. In precedenza, nelle distribuzioni in cui erano abilitate le restrizioni per il sito Web e la modalità di restrizione erano impostate su Vendite private: solo accesso, gli acquirenti venivano reindirizzati alla home page del negozio.

Widget

  • Ora un amministratore può eliminare tutti gli aggiornamenti del layout di un widget. In precedenza, quando un widget disponeva di più aggiornamenti del layout, un amministratore poteva eliminare solo il primo.
  • Facendo clic sul pulsante Aggiungi al carrello nel widget del prodotto, non viene più caricata una pagina. In precedenza, facendo clic sul pulsante Aggiungi al carrello in un widget di prodotto, veniva ricaricata una pagina corrente prima che il prodotto venisse aggiunto al carrello.
  • Il widget del collegamento del nodo della gerarchia CMS in TinyMCE ora esegue il rendering dei collegamenti della gerarchia come previsto quando il campo Testo personalizzato ancoraggio è vuoto.

Lista dei desideri

  • L'applicazione non ripristina più le impostazioni di configurazione di un prodotto configurabile quando si fa clic sul pulsante Modifica elemento per il prodotto da un elenco di desideri. GitHub-32119
  • L’applicazione ora visualizza il prezzo corretto del prodotto quando aggiorni un prodotto con un’opzione di file personalizzabile nella lista dei desideri. In precedenza, l’applicazione visualizzava il prezzo del prodotto errato e non mostrava un collegamento al file caricato.
  • Il numero totale di prodotti in una lista dei desideri per un cliente con più liste dei desideri ora corrisponde al numero di elementi nella lista dei desideri. In precedenza, i prodotti esauriti venivano inclusi nel conteggio totale dei prodotti.
  • L'applicazione ora rimuove un prodotto da una lista dei desideri dopo averlo aggiunto a un ordine. GitHub-30260
  • Gli acquirenti possono ora aggiungere i prodotti correlati al carrello da una lista dei desideri. In precedenza, quando un acquirente faceva clic sul collegamento Seleziona tutto della sezione Prodotti correlati, l'applicazione aggiungeva solo il prodotto configurabile, non il prodotto configurabile e i prodotti correlati. GitHub-32274

Problemi noti

Problema: Errore JavaScript quando reCAPTCHA è disabilitato. Se reCAPTCHA è disabilitato per l'estrazione, l'estrazione procede, ma l'applicazione visualizza un errore Uncaught TypeError nel registro della console. Questo problema verrà risolto in una versione successiva.

Problema: Errore criteri di sicurezza dei contenuti. La vetrina visualizza il seguente errore nel registro della console: The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline. Le prestazioni della vetrina non sono influenzate.

Problema: Anomalie nella visualizzazione di PayPal Credit degli importi delle gift card. Quando PayPal Credit è abilitato e sono configurati più importi di gift card, se un acquirente modifica l'importo per il valore di una gift card, la vetrina non aggiorna l'importo per i pagamenti rateali. Il problema verrà corretto in Adobe Commerce 2.4.4 e Magento Open Source 2.4.4.

Problema: Il pulsante Aggiungi all'ordine ​non funziona per i prodotti aggiunti al carrello da SKU. l'applicazione visualizza questo messaggio di errore quando si fa clic sul pulsante Aggiungi all'ordine dopo aver aggiunto i prodotti all'ordine tramite SKU: An error has happened during application run. I prodotti non vengono aggiunti al carrello. Soluzione alternativa: utilizzare la funzionalità Aggiungi prodotti.

Problema: le query GraphQL category e categoryList ignorano le autorizzazioni delle categorie che determinano se le categorie in un catalogo condiviso sono nascoste o esposte. La vetrina visualizza tutte le categorie assegnate o non assegnate al catalogo condiviso. Questo influisce sulle distribuzioni di Adobe Commerce 2.4.3 che implementano una vetrina PWA per la quale sono stati abilitati i cataloghi condivisi B2B.

Contributi comunitari

Siamo grati alla comunità del Magento Open Source e desideriamo riconoscere il loro contributo a questa versione.

Il team di progettazione della community collaboratori Magento mantiene un elenco dei principali collaboratori e partner per mese, trimestre e anno. Dalla pagina Collaboratori, puoi seguire i collegamenti alle loro PR unite su GitHub.

Contributi dei partner

Nella tabella seguente vengono evidenziati i contributi dei partner. Questa tabella elenca il Partner che ha contribuito alla richiesta di pull, la richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).

Partner
Richieste pull
Problemi GitHub correlati
Atwix
magento/magento2#31228, magento/magento2#31025, magento/magento2#30996, magento/magento2#31128, magento/magento2#31053, magento/magento2#30837, magento/magento2#31433, magento/magento2#31079, magento/magento2#31013 , magento/magento2#31261, magento/magento2#31016, magento/magento2#30986, magento/magento2#31241, magento/magento2#31243, magento/magento2#31221, magento/magento2#31123, 🔗magento/magento2#31147{3 3}, magento/magento2#31097, magento/magento2#31287, magento/magento2#31099, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, 🔗ento/magento/magento2#49}, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2 31420 31320 30776 31564 31827 31592 31634 31436 31371 31323 31057 31009 31595 31452 31458 31487 31418 31240 31603 31601 31394 31247 31508 31449 31776 31788 29047 32071 31936 31924 31918 31859 31864 31604 31510 31512 31502 31488 31454 31507 31164 31568 31569 31851 32078 31953 31961 30850 31395 31390 31451 32467 32477 32524 32517 32463 32498 32288 32353 32539 32465 32295 32759 31938 32356 30623, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento/magento/2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/partners-magento2ee#280, 96}magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, {1222 magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, 🔗magento/magento2#{135 , magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento ento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/partners magento2ee#539, magento/partners-magento2ee#540 🔗 🔗
magento/magento2#31233, magento/magento2#31031, magento/magento2#31056, magento/magento2#31130, magento/magento2#31074, magento/magento2#30858, magento/magento2#31438, magento/magento2#31160, magento/magento2#31034 , magento/magento2#31168, magento/magento2#31033, magento/magento2#31039, magento/magento2#31250, magento/magento2#31249, magento/magento2#31234, magento/magento2#31129, 🔗magento/magento2#31153{3 3}, magento/magento2#31132, magento/magento2#31290, magento/magento2#31131, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, 🔗ento/magento/magento2#49}, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2 31440 31327 30784 31575 31844 31628 31647 31437 31442 31325 31073 31036 31627 31632 31522 31521 31441 31251 31624 31626 31403 31248 31516 31524 31801 28522 28586 31435 31560 31561 32072 31937 31902 31860 31865 31623 31515 31514 31519 31520 31517 31075 31574 31573 31852 32079 31954 31962 30855 30645 31523 32505 32504 32583 32518 32507 32569 32502 32379 32279 32568 32506 32377 32577 29631 30210 32574 32928, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento/magento/2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/partners-magento2ee#, magento/partners-magento2ee#, 6}magento/partners-magento2ee#, magento/partners-magento2ee#, magento/magento2#, magento/magento2#, magento/magento2#presentazioni, magento/magento2#, 🔗magento/magento/magento2#109}, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, 🔗magento/magento2#, {12 2}magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#presentazioni, magento/magento2#, magento/magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#presentazioni, magento/magento2#presentazioni, magento/magento2#presentazioni, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, magento/magento2#, 🔗magento/magento2#{1 61}, magento/magento2#, magento/magento2#, magento/magento2#4451, magento/magento2#, magento/magento2#, magento/magento2#, 174}magento/partners-magento2ee#, magento/partners-magento2ee# 🔗 🔗 🔗
Acorn blu iCi
magento/magento2#31022, magento/magento2#28926, magento/magento2#30992, magento/magento2#30881, magento/magento2#30938, magento/magento2#31621
magento/magento2#30265, magento/magento2#29528, magento/magento2#30286, magento/magento2#30880, magento/magento2#29690, magento/magento2#27678
Cedcommerce
magento/magento2#30410, magento/partners-magento2ee#444, magento/magento2#31736, magento/magento2#31584, magento/partners-magento2ee#449
magento/magento2#30424, magento/partners-magento2ee#31111, magento/magento2#31660, magento/partners-magento2ee#31331
Krish TechLabs
magento/magento2#31142, magento/magento2#29991, magento/magento2#31208, magento/magento2#29804
magento/magento2#30911, magento/magento2#29936, magento/magento2#31188, magento/magento2#29365, magento/magento2#29805
EY
magento/magento2#31369, magento/magento2#30615, magento/magento2#31490, magento/partners-magento2ee#445
magento/magento2#4451, magento/magento2#29302, magento/partners-magento2ee#31196
TechDivision
magento/magento2#30943
magento/magento2#30936
AYKO
magento/magento2#32389
magento/magento2#32088
Gatto bianco rapido
magento/magento2#31157, magento/magento2#31886
magento/magento2#30724, magento/magento2#30471
Occhio di pesce
magento/magento2#30695
magento/magento2#30788
Vaimo
magento/magento2#30626
magento/magento2#30622
Ziffity
magento/partners-magento2ee#451, magento/magento2#31482
magento/magento2#31557
COMMERCE MRM
magento/magento2#32612, magento/magento2#32610
magento/magento2#32578, magento/magento2#32658
Consulenza Aligent
magento/magento2#30910
magento/magento2#30909

Contributi dei singoli collaboratori

La tabella seguente identifica i contributi dei membri della community. Questa tabella elenca le richieste pull esterne, il numero del problema GitHub associato (se disponibile) e il membro della community che ha contribuito alla richiesta pull.

Membro della community partecipante
Richieste pull
Problemi GitHub correlati
dhaecker
#31045
sagar1dahiwala
#31101
501
zaximus84
#31022
30265
ihor-sviziev
#31151
31152
AnnaAPak
#31079
31160
AnnaAPak
#31013
31034
aligent-lturner
#30910
30909
thomas-kl1
#30822
30830
gwharton
#30868
28511
sky-hub
#30953
30952
pawel-siejba
#30626
30622
Chandresh22
#30477
30270
matiashidalgo
#28926
29528
shawnabramson
#27845
26909
engcom-Golf
#31189
31090
engcom-Echo
#31066
31095
vovayatsyuk
#31275
31291
sergiy-v
#31228
31233
korovitskyi
#31261
31168
zaximus84
#30881
30880
sergiy-v
#30996
31056
AnnaAPak
#31016
31033
AnnaAPak
#30986
31039
sergiy-v
#31025
31031
zaximus84
#30992
30286
ilnytskyi
#31098
31135
saphaljha
#31142
30911
saphaljha
#29991
29936
AnnaAPak
#31147
31153
sergiy-v
#31128
31130
DmitryFurs
#31165
31239
AnnaAPak
#31221
31234
AnnaAPak
#31241
31250
AnnaAPak
#31243
31249
AnnaAPak
#31123
31129
Usik2203
#30837
30858
AnnaAPak
#31097
31132
Usik2203
#31053
31074
vpsnak
#31021
31032
mrtuvn
#30634
30584
driskell
#28007
8933, 18409, 22438, 23054, 25634, 26507, 26809
AnnaAPak
#31287
31290
AnnaAPak
#31099
31131
GovindaSharma
#30410
30424
kate-kyzyma
#31433
31438
AnnaAPak
#31420
31440
DmitryFurs
#31166
31171
Bartlomiejsz
#31157
30724
elisei
#31212
31211
nikolalardev
#30959
31040
kandy
#30990
31038
viniciusbordinhao-blueacorn
#30938
29690
engcom-Golf
#31368
30964
SmVladyslav
#31352
30284
SmVladyslav
#31422
30256
mrtuvn
#31330
31445
sergiy-v
#31320
31327
AnnaAPak
#31436
31437
AnnaAPak
#31371
31442
aleksinoleg
#31334
31471
vovayatsyuk
#31162
31170
srenon
#31198
31197
AnnaAPak
#31323
31325
AnnaAPak
#31057
31073
Usik2203
#30776
30784
Nazar65
#31308
31288
AnnaAPak
#31009
31036
engcom-Golf
#31563
30250
engcom-Golf
#31594
23843
AnnaAPak
#31452
31632
sergiy-v
#31564
31575
AnnaAPak
#31595
31627
ihor-sviziev
#31542
engcom-Kilo
#31629
31591
engcom-Echo
#31501
26214
engcom-Echo
#31553
22662
AnnaAPak
#31240
31251
chiranjeevi-cj
#31369
AnnaAPak
#31418
31441
AnnaAPak
#31458
31522
AnnaAPak
#31487
31521
AnnaAPak
#31601
31626
AnnaAPak
#31603
31624
AnnaAPak
#31394
31403
vovayatsyuk
#31321
31326
AnnaAPak
#31247
31248
saphaljha
#31208
31188
apokiiso
#30950
31042
nikunjkotecha
#21857
21853
engcom-Kilo
#31646
11995
mrtuvn
#31793
7231
navarr
#31621
27678
kate-kyzyma
#31827
31844
sergiy-v
#31592
31628
sergiy-v
#31634
31647
mrtuvn
#31754
30506
AnnaAPak
#31508
31516
AnnaAPak
#31449
31524
nikolalardev
#31158
31169
AnnaAPak
#31488
31520
AnnaAPak
#31454
AnnaAPak
#31510
31515
AnnaAPak
#31502
31519
AnnaAPak
#31512
31514
engcom-Charlie
#31485
25907
AnnaAPak
#31604
31623
MellenIO
#31636
31641
AnnaAPak
#31507
31517
sergiy-v
#31788
31801
sergiy-v
#31776
mrtuvn
#30871
30882
MoloW
#31299
31300
larsroettig
#30943
30936
edspc
#30883
31530
ravi-chandra3197
#29804
29365, 29805
dineshvb
#30615
29302
victorpetryk
#31892
31890
engcom-Echo
#31957
31891
shikhamis11
#31736
31660
SmVladyslav
#32120
32119
victorpetryk
#32107
32106
sergiy-v
#31859
31860
sergiy-v
#31864
31865
engcom-Charlie
#31875
26521
achatpc
#31815
31853
sergiy-v
#31936
31937
sergiy-v
#31924
31902
kate-kyzyma
#31918
engcom-Charlie
#32095
28996
sergiy-v
#32071
32072
AnnaAPak
#31569
31573
AnnaAPak
#31568
31574
maksymz
#31804
11175, 31873
engcom-Hotel
#31750
30802
dorupetruc
#31205
31216
pioggia2o
#27315
12584
engcom-Kilo
#32217
27285
engcom-Kilo
#32239
31950
mastiuhin-olexandr
#32002
32000
engcom-Charlie
#32009
30316
sergiy-v
#32078
32079
engcom-Charlie
#32082
23297
Den4ik
#32187
31608
ihor-sviziev
#32299
32313
fnogatz
#32249
32262
Bartlomiejsz
#31886
30471
sergiy-v
#31953
31954
ihor-sviziev
#31933
31948
sergiy-v
#31851
31852
AnnaAPak
#31451
31523
AnnaAPak
#31390
30645
AnnaAPak
#31395
engcom-Charlie
#31645
30492
AnnaAPak
#30850
30855
ajithkumar-maragathavel
#31482
31557
edenduong
#30329
30328
SmVladyslav
#32275
32274
engcom-Kilo
#32301
32232
engcom-Kilo
#32326
31849
engcom-Kilo
#32363
30149
ihor-sviziev
#32462
26377, 32440
gixid192
#32393
30257
gixid192
#32398
31633
engcom-Charlie
#32212
30756
engcom-Charlie
#32186
32116
sergiy-v
#31961
31962
engcom-Charlie
#32273
17727
mamsincl
#32389
32088
bogutskyy
#30755
30577
AntonEvers
#28973
29549
zakdma
#32580
27656
engcom-Kilo
#32650
31956
mastiuhin-olexandr
#32194
32102
quisse
#27012
22273
sivaschenko
#32710
32709
hostep
#32639
32644
engcom-Foxtrot
#32646
32647
engcom-Charlie
#32254
19345
Skullsneeze
#32298
32671
kate-kyzyma
#32288
32379
nella sessione
#32400
32495
mrtuvn
#32434
32454
ihor-sviziev
#32532
27411, 32525
kate-kyzyma
#32498
32502
kate-kyzyma
#32463
32507, 32569
sergiy-v
#32517
32518
kate-kyzyma
#32524
32583
kate-kyzyma
#32477
32504
kate-kyzyma
#32467
32505
charles-tychons
#32448
32616
bgorski
#32612
32578
bgorski
#32610
32658
ProkopovVitaliy
#31938
32577, 4451
mrtuvn
#31080
31140
fredden
#30695
30788
thomas-kl1
#30823
30860
engcom-Kilo
#32730
23645
kate-kyzyma
#32465
32506
ihor-sviziev
#32499
32501
kate-kyzyma
#32539
32568
Usik2203
#32353
32279
vlmed
#32356
martasiewierska
#32802
32810
DmitryTsymbal
#32759
hostep
#32145
32786
engcom-Foxtrot
#32099
32100
erfanimani
#31985
31984
kate-kyzyma
#32295
32377
vidyli
#31296
24635
engcom-Kilo
#32755
24363
ihor-sviziev
#32614
31777, 826
rogyar
#30623
29631, 30210

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.3 utilizzando Composer.

Kit di strumenti di migrazione

Lo strumento di migrazione dei dati consente di trasferire i dati archiviati dal Magento 1.x al Magento 2.x. Questa interfaccia della riga di comando include funzioni di verifica, monitoraggio dell'avanzamento, registrazione e test. Per istruzioni sull'installazione, vedere Installare lo strumento di migrazione dei dati. Esplorare o contribuire all'archivio di migrazione dei dati.

Code Migration Toolkit consente di trasferire le estensioni e le personalizzazioni dell'archivio di Magento 1.x esistenti nel Magento 2.x. L'interfaccia della riga di comando include script per la conversione di moduli e layout Magento 1.x.

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