Note sulla versione di Magento Open Source 2.4.5

Il Magento Open Source introduce miglioramenti alla qualità della piattaforma, ai metodi di pagamento, alle prestazioni di memorizzazione nella cache di GraphQL e all'accessibilità. Include aggiornamenti ai moduli Google integrati.

Questa versione include oltre 290 correzioni e miglioramenti di qualità.

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

Altre informazioni sulla versione

Anche se il codice per queste funzioni è incluso con le versioni trimestrali del codice principale del Magento Open Source, molti di questi progetti sono anche rilasciati in modo indipendente. Le correzioni di bug per questi progetti sono documentate nelle informazioni sulla versione specifiche per il progetto, disponibili nella documentazione di ciascun progetto.

Punti salienti del Magento Open Source 2.4.5

In questa versione, cerca le seguenti aree di rilievo.

Miglioramenti di sicurezza

Questa versione include 20 correzioni di sicurezza e miglioramenti di sicurezza della piattaforma. Questa correzione rapida per la sicurezza è stata supportata nel Magento Open Source 2.4.4-p1 e nel Magento Open Source 2.3.7-p4.

Ad oggi non si sono verificati attacchi confermati relativi a questi problemi. Tuttavia, alcune vulnerabilità possono potenzialmente essere sfruttate per accedere alle informazioni dei clienti o assumere il controllo delle sessioni dell’amministratore. La maggior parte di questi problemi richiede che un utente malintenzionato ottenga prima l’accesso all’amministratore. Di conseguenza, ti ricordiamo di adottare tutte le misure necessarie per proteggere il tuo amministratore, incluse, ma non solo, queste iniziative:

  • INSERIRE NELL'ELENCO CONSENTITI IP
  • autenticazione a due fattori
  • utilizzo di una VPN
  • utilizzo di una posizione univoca anziché /admin
  • corretta igiene della password

Per le ultime discussioni su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.

Ulteriori miglioramenti della sicurezza

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

  • Il supporto reCAPTCHA è stato aggiunto ai moduli Condivisione elenco desideri, Crea nuovo account cliente e Buono regalo.

  • Le risorse ACL sono state aggiunte al magazzino.

  • La sicurezza del modello di inventario è stata migliorata.

  • Il filtro MaliciousCode è stato aggiornato per utilizzare la libreria HtmlPurifier.

Miglioramenti alla piattaforma

Il Magento Open Source 2.4.5 ora supporta

  • Compositore 2.2

  • TinyMCE (5.10.2). Le versioni precedenti di TinyMCE (v5.9.2 o precedenti) consentivano l’esecuzione arbitraria di JavaScript quando veniva aggiornato un URL creato appositamente o un’immagine con un URL creato appositamente.

  • jQueryUI (1.13.1)

  • PHPStan (^1.5.7 con vincolo) GitHub-35315

Lo schema di integrazione DHL è stato aggiornato da v6.0 a v6.2. Questo aggiornamento non modificherà il comportamento del prodotto.

Le librerie JavaScript obsolete sono state aggiornate alle versioni più recenti e le dipendenze obsolete sono state rimosse. Queste modifiche sono compatibili con le versioni precedenti.

Aggiornamenti delle dipendenze del compositore

Le dipendenze del Compositore seguenti sono state aggiornate alle versioni più recenti con vincolo:

  • colinmollenhour/credis (1.13.0)
  • guzzlehttp/guzzle (^7.4.2)
  • laminas/laminas-captcha (aggiornato con un vincolo ^2.12)
  • laminas/laminas-db (^2.15.0)
  • laminas/laminas-di (^3.7.0)
  • laminas/laminas-escaper (~2.10.0)
  • laminas/laminas-eventmanager (^3.5.0)
  • laminas/laminas-feed (^2.17.0)
  • laminas/laminas-mail (^2.16.0)
  • laminas/laminas-mvc (^3.3.3)
  • laminas/laminas-server (^2.11.1)
  • laminas/laminas-servicemanager (^3.11.0)
  • laminas/laminas-validator (^2.17.0)
  • league/fly (2.4.3)
  • monolog/monolog (^2.5)
  • phpmd/phpmd (^2.12.0)
  • phpstan/phpstan (^1.5.7)
  • phpunit/phpunit (~9.5.20)
  • php-cs-fixer (^3.4.0)
  • webonyx/graphql-php (14.11.6)

Le dipendenze laminas/laminas-session, laminas/laminas-text e laminas/laminas-view sono state rimosse.

Altri aggiornamenti e sostituzioni

  • Lo schema di integrazione DHL è stato aggiornato da v6.0 a v6.2.

  • L'URL del gateway predefinito per la spedizione USPS è stato aggiornato per l'utilizzo di https anziché http.

  • La libreria Froogaloop è stata sostituita con la libreria Player.js di Vimeo (2.16.4).

  • La libreria grunt-eslint (NPM) è stata aggiornata alla versione più recente.

  • Le librerie jQuery Storage sono state sostituite con julien-maurel/js-storage.

  • Gli strumenti di analisi del codice statico php-cs-fixer e phpcs sono ora compatibili con PHP 8.x.

  • Dipendenza glob.js (aggiornata con vincolo a ~7.2.0)

  • Dipendenza serve-static.js (aggiornata con vincolo ~1.14.2)

  • Dipendenza underscore.js (NPM) (1.14.2)

  • moment-timezone-with-data.js (0.5.34)

  • La libreria jquery/jquery-cookie è stata sostituita con js-cookie/js-cookie.

  • Le librerie jarallax.js e jaralax-video.js sono state aggiornate per utilizzare la versione più recente dell'API REST Vimeo.

Aggiornamenti all’accessibilità

L’obiettivo di questa versione è stato quello di creare un’esperienza di vetrina su Venia (PWA) più percepibile, utilizzabile, comprensibile e solida. Questi miglioramenti includono:

  • Le informazioni di riepilogo sui risultati della ricerca vengono ora annunciate agli utenti di utilità di lettura dello schermo
  • Gli assistenti vocali ora vengono informati al caricamento di una nuova visualizzazione di pagina
  • Sono stati migliorati il contrasto e l'accessibilità della tastiera

Google Analytics

Google ha aggiornato i meccanismi di tracciamento e integrazione di AdWords e Analytics nelle applicazioni web tramite l’integrazione con GTag. Questa integrazione della funzionalità Google nelle pagine del sito Web estende le opportunità di tracciamento e gestione dei contenuti tramite i servizi Google. Adobe Commerce dispone di un set di moduli incorporati tra cui Google AdWords, Analytics, Optimizer e TagManager che sfruttano la precedente API per l’integrazione con i servizi Google. In questa versione, questa integrazione è stata reimplementata utilizzando l’approccio GTag​. Consulta Migrazione da analytics.js a gtag.js (Universal Analytics).

GraphQL

I miglioramenti delle prestazioni di GraphQL includono:

  • Sviluppatori e amministratori possono ricostruire più rapidamente lo schema unificato di GraphQL storefront durante la distribuzione o la modifica degli attributi in produzione. Gli acquirenti riscontrano inoltre velocità di caricamento delle pagine notevolmente più elevate quando è necessario ricreare lo schema GraphQL per qualsiasi motivo.

  • È stata aggiunta la possibilità di utilizzare la data/ora di scadenza del token di autorizzazione tramite l’utilizzo di token web JSON (JWT) nell’API di GraphQL.

  • Il comando bin/magento config:set graphql/session/disable 1 consente ai commercianti di disabilitare completamente la creazione di cookie di sessione per tutte le operazioni di GraphQL. Per impostazione predefinita, l’applicazione Open Source crea questi cookie e si basa su di essi per l’autorizzazione, il che influisce sulle prestazioni. In futuro, consigliamo di utilizzare i token come unica forma di autorizzazione per le richieste GraphQL. Si sconsiglia di utilizzare i cookie di sessione da soli o in combinazione con i token di autorizzazione. Vedi Autorizzazione GraphQL.

  • I cookie di sessione vengono ora avviati nelle operazioni di GraphQL utilizzando proxy di classe solo quando necessario.

  • L'utilizzo della sessione è stato rimosso dai processori di intestazione http in GraphQL, ad esempio store, cliente o valuta.

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

Inventario

La sicurezza del modello di inventario è stata migliorata.

Page Builder

Page Builder v.1.7.2 è compatibile con il Magento Open Source 2.4.5.

Il layout delle colonne di Page Builder include i seguenti miglioramenti:

  • Le colonne ora sono esposte, consentendo agli utenti di controllare le impostazioni delle colonne nella vetrina.

  • Il ridimensionamento delle colonne ora supporta il wrapping attivato dalle azioni dell’utente.

Pagamenti

Apple Pay è ora disponibile per tutti i commercianti che eseguono distribuzioni con i servizi di pagamento abilitati. Questo metodo di pagamento non richiede agli acquirenti di inserire i dati della carta di credito. Apple Pay è disponibile nella pagina dei dettagli del prodotto, nel mini-carrello, nel carrello e nel flusso di lavoro di pagamento. I commercianti possono attivare questa funzione.

PayPal

  • I commercianti in Spagna e Italia possono ora offrire PayPal Pay Later agli acquirenti.

  • Le anteprime dei pulsanti PayPal, Credito e Paga più tardi sono ora disponibili nell'amministratore per le pagine di pagamento, minicart, carrello e prodotti. Le anteprime mostrano l'aspetto di questi pulsanti quando vengono attivati e sottoposti a rendering nella vetrina.

Braintree

  • Braintree ha interrotto l'integrazione di KOUNT per la protezione dalle frodi. È stato rimosso dalla base di codice del Magento Open Source.

  • L'opzione Richiedi sempre 3DS è stata aggiunta all'amministratore.

PWA Studio

PWA Studio v.12.5.x è compatibile con Magento Open Source 2.4.5.

Le nuove funzioni di questa versione includono:

  • I dati sul comportamento degli acquirenti vengono raccolti sulla vetrina PWA Studi per i servizi di analisi web. Gli esercenti possono ora abbonarsi ed estendere questi eventi in base alle esigenze.

  • Gli esercenti possono ora selezionare un servizio da distribuire dall’amministratore (Google Tag Manager).

Per informazioni sui miglioramenti e sulle correzioni di bug, vedi Versioni di PWA Studio. Per un elenco delle versioni di PWA Studio e delle relative versioni di base di Magento Open Source compatibili, vedere Compatibilità delle versioni.

Problemi risolti

Sono stati risolti centinaia di problemi nel codice core del Magento Open Source 2.4.5.

Installazione, aggiornamento, distribuzione

  • È ora possibile rinominare una patch di dati e aggiungere il vecchio nome di classe come alias nella tabella di database patch_list. Magento Open Source ora controlla se gli alias delle patch di dati esistevano già nel database prima di applicare la patch. In precedenza, applicationOpen Source generava un errore in queste condizioni.
  • Il Magento Open Source non genera più un'eccezione quando si tenta di modificare l'URL amministratore in un URL personalizzato dall'amministratore. In precedenza, dopo aver modificato l’URL di amministrazione, non era possibile effettuare l’accesso. GitHub-35416
  • I commercianti possono ora eseguire l'aggiornamento da una distribuzione di Magento Open Source 2.4.2 con Klarna al Magento Open Source 2.4.3. GitHub-33760
  • Il percorso di Magento Open Source Analytics non è più codificato. In precedenza, questo percorso hardcoded generava conflitti quando venivano installate più istanze di Magento Open Source su un server. GitHub-29373

Accessibilità

  • Il pulsante Shopping bag fornisce ora un'indicazione programmatica o testuale del relativo stato. Gli utenti di utilità di lettura dello schermo vengono informati che facendo clic su questo pulsante si espanderanno altri contenuti o che il contenuto associato verrà espanso o compresso. In precedenza, questo pulsante non forniva un’indicazione programmatica o testuale del suo stato.
  • Informazioni sul pagamento elementi di testo o immagini di testo dell’opzione carta di credito soddisfano ora il rapporto di contrasto colore minimo richiesto WCAG 2.0 di 4,5:1 per il testo standard di 18 pt (24 px) o 14 pt (19 px), se in grassetto. In precedenza, non soddisfacevano il rapporto di contrasto previsto.
  • Rubrica > Comunicazione > Informazioni account gli indicatori di stato attivo personalizzati ora forniscono un rapporto di contrasto di almeno 3:1 rispetto al colore di sfondo.
  • Il testo del pulsante Filtro e Ordina soddisfa ora il rapporto di contrasto colore minimo WCAG 2.0 richiesto di 4,5:1 per il testo standard di 18 pt (24 px) o 14 pt (19 px) se in grassetto. In precedenza, i pulsanti di navigazione per i caroselli non soddisfacevano questi requisiti di contrasto minimo.
  • Gli assistenti vocali annunciano la parola "Venia" una sola volta quando passano alle intestazioni e ai piè di pagina Venia. In precedenza, la stessa parola veniva annunciata due volte consecutivamente.
  • I pulsanti che attivano gli elenchi a discesa ora forniscono informazioni agli assistenti vocali che indicano il loro stato espanso o compresso e i nomi accessibili.
  • Gli utenti di utilità di lettura dello schermo vengono informati quando viene eseguito il rendering di una nuova visualizzazione di pagina. In precedenza, quando il titolo di una pagina veniva modificato, la modifica del titolo non veniva annunciata.

Adobe Stock

  • Gli utenti possono ora disconnettersi da Adobe Stock.

Prodotti bundle

  • È ora possibile utilizzare l'endpoint PUT /V1/products per aggiornare gli attributi del prezzo del prodotto per un sito Web specifico. In precedenza, se alcuni attributi di prodotto venivano sostituiti per una visualizzazione specifica del negozio, non era possibile aggiornare un attributo di prezzo per quel prodotto nella stessa visualizzazione del negozio.
  • Il Magento Open Source ora calcola correttamente il totale del carrello per un prodotto bundle quando viene applicata la regola di selezione secondaria prodotto.

Cache

  • La cache di pagina intera non viene più visualizzata come disabilitata nell'amministratore quando la cache di Magento Open Source viene svuotata e use_stale_cache è abilitato.
  • I marcatori di distribuzione New Relic ora funzionano come previsto quando la cache viene svuotata. GitHub-32649

Carrello e pagamento

  • Il pop-up di ricerca degli indirizzi nella fase di fatturazione del flusso di lavoro di pagamento non causa più errori DOM.
  • La mutazione addProductsToCart ora funziona correttamente con più prodotti. In precedenza, questa query restituiva il primo prodotto con un subtotale accurato, ma restituiva un subtotale di 0 per gli altri prodotti.
  • Le eccezioni alle autorizzazioni vengono ora gestite per i prodotti con restrizioni aggiunti da SKU. Gli acquirenti ricevono ora un messaggio appropriato nella vetrina e il campo relativo alla quantità nella tabella degli errori è disabilitato. In precedenza, applicationOpen Source generava un'eccezione simile alla seguente: There has been an error processing your request.
  • La query SQL che aggiorna i preventivi interessati dopo la disattivazione di una regola di prezzo del carrello è stata ottimizzata per evitare di bloccare l'intera tabella dei preventivi.
  • Gli acquirenti con condivisione dell’account globale non devono più accedere nuovamente a un sito web secondario in una distribuzione multisito quando il pagamento come ospite è disabilitato. I dati dei clienti vengono ora caricati quando l’acquirente passa al sottodominio. Al cliente non viene più richiesto di effettuare di nuovo l’accesso e viene visualizzato il contenuto del carrello precedente.
  • I valori dell'elenco a discesa Indirizzo nel flusso di lavoro di pagamento non cambiano più per gli articoli rimanenti in un preventivo quando una singola voce di indirizzo di quantità viene rimossa in un'estrazione con più indirizzi. In precedenza, quando un prodotto veniva rimosso da un preventivo durante il checkout con più indirizzi, il valore dell’elenco a discesa dell’indirizzo veniva impostato su predefinito per tutti i prodotti.
  • La query cart non restituisce più risposte null quando un prodotto è esaurito. Un nuovo elemento errors contenente il messaggio di errore è stato introdotto nella risposta. In precedenza, quando si eseguiva una query con un prodotto esaurito, nella risposta l'applicazione Open Source visualizzava un valore null nella sezione items. Vedi query carrello.
  • I metodi di spedizione sono ora disponibili come previsto quando un acquirente guest crea un account dopo aver aggiunto un prodotto al carrello prima di procedere al pagamento. In precedenza, quando un ospite aggiungeva un prodotto al carrello prima di creare un account, non erano disponibili metodi di spedizione durante il pagamento. Dopo l’aggiunta di altri prodotti al carrello, sono stati resi disponibili i metodi di spedizione.
  • Gli acquirenti possono ora aggiungere prodotti ai loro carrelli se non è stata selezionata alcuna opzione nel campo Consenti paesi.
  • Il contenuto del carrello e lo stato di accesso ora vengono ricaricati come previsto dopo il timeout di una sessione quando Abilita persistenza è impostato su . GitHub-35182
  • I subtotali del mini carrello ora vengono aggiornati correttamente quando un acquirente passa dalla pagina di spedizione alla pagina del carrello nel flusso di lavoro di pagamento per un ordine con più indirizzi di spedizione. In precedenza, il subtotale era raddoppiato.
  • Il mini carrello ora visualizza i prodotti aggiunti in precedenza dopo un timeout di sessione quando Abilita persistenza è abilitato. GitHub-35183
  • Gli esercenti possono ora creare una nota di credito in cui Spedizione con rimborso (incl. Imposta) è impostato su -0,01 e ora può impostare questo importo su 0. In precedenza, non era possibile creare la nota di accredito in queste condizioni.

Regola prezzo carrello

  • L'ambito dell'attributo Parent Only è ora utilizzato correttamente nella condizione Regola carrello.
  • I codici URL del prodotto ora rimangono invariati quando si aggiorna il nome del prodotto tramite PUT /V1/products/ per una visualizzazione store. In precedenza, veniva generato un nuovo codice URL basato sul nuovo nome di prodotto e assegnato al prodotto, che sovrascriveva il codice URL nella vista archivio.
  • L’aggiunta di un prodotto a una categoria dal widget di prodotto Page Builder impostato sulla modalità carosello non attiva più il ricaricamento della pagina.
  • I prodotti impostati su Non visibile singolarmente non vengono più visualizzati nei risultati della ricerca avanzata del catalogo.
  • Gli attributi del bundle dinamico ora vengono aggiornati correttamente nella pagina Aggiornamento di massa attributi. In precedenza, l'attributo Dynamic SKU rimaneva impostato su Yes anche se era disabilitato nella pagina Aggiornamento di massa.
  • Le regole del catalogo ora vengono applicate correttamente utilizzando indici incrementali anziché una reindicizzazione completa.
  • Ora è possibile passare correttamente dalla visualizzazione elenco alla visualizzazione griglia degli elenchi di prodotti composti da più pagine. In precedenza, quando si passava all'ultima pagina di una visualizzazione elenco prodotti con più pagine prima di passare alla visualizzazione griglia, l'applicazione Open Source visualizzava questo errore: Unfortunately there are no products in this category on our website currently.
  • I rapporti del registro delle azioni dell’amministratore ora visualizzano gli ID prodotto aggiornati e le informazioni sullo stato aggiornate come previsto.
  • I trigger vengono ora ripristinati come previsto nella tabella catalogrule_product_price dopo una reindicizzazione completa. In precedenza, i trigger venivano rimossi dalla tabella catalogrule_product_price dopo una reindicizzazione completa catalogrule_rule o catalogrule_product.
  • Le regole di categoria utilizzate per assegnare i prodotti alle categorie non vengono più modificate in modo casuale.
  • Le categorie non possono più essere aggiornate a livello globale da un amministratore con accesso limitato all'ambito. In precedenza, quando più siti web utilizzavano la stessa categoria ma prodotti diversi e un amministratore con autorizzazioni limitate a uno store aveva modificato i prodotti della categoria, la selezione dei prodotti veniva modificata anche per altri store.
  • Nella pagina dei dettagli del prodotto viene ora visualizzato il prezzo corretto quando si utilizza una valuta non predefinita per le impostazioni internazionali specificate. In precedenza, i numeri non venivano localizzati come previsto nella vetrina.
  • Ora quando si tenta di recuperare i prezzi di livello di un prodotto con record duplicati, l’API e la vetrina visualizzano lo stesso messaggio di errore. In precedenza, PUT /V1/products/tier-prices restituiva un messaggio di errore non corretto.
  • Il Magento Open Source ora fornisce messaggi di errore di convalida quando si tenta di aggiungere un codice URL di prodotto con un trattino finale. È disponibile anche un testo informativo.
  • Il nuovo campo ConfigurableWishlistItem.configured_variant ha sostituito il campo ConfigurableWishlistItem.child_sku. Quest’ultimo campo ha attivato un errore interno quando un elenco dei desideri del cliente conteneva un prodotto configurabile non configurato.
  • Le riscritture URL vengono ora generate solo per gli archivi selezionati durante l’aggiornamento di massa degli attributi per modificare la visibilità del prodotto. In precedenza, l’aggiornamento di massa degli attributi creava una riscrittura URL per l’archivio errato.
  • Quando l'impostazione Synchronize widget products with backend storage è abilitata, l'applicazione Open Source aggiunge i dati dei prodotti visualizzati di recente nella tabella del database catalog_product_frontend_action. Quando aggiungi dei record, include l’ID del cliente o del visitatore. La sezione recently_viewed_product nella risposta ora è vuota se l'ID cliente e l'ID visitatore sono nulli. Di conseguenza, quando viene inviata la richiesta Ajax customer/section/load, l'applicazione Open Source può filtrare correttamente i prodotti visualizzati di recente in base all'ID cliente o visitatore. In precedenza, la risposta includeva tutti i dati disponibili nella tabella del database catalog_product_frontend_action perché non era stata eseguita alcuna verifica per un ID cliente o visitatore vuoto.
  • Gli amministratori possono ora modificare le opzioni di prodotto configurabili nel carrello di un acquirente dal pannello a tendina Amministratore. In precedenza, il pannello diapositiva non funzionava correttamente.
  • La cache delle pagine viene ora cancellata come previsto per il prodotto principale configurabile quando vengono salvate le modifiche a un prodotto secondario. In precedenza, poiché la cache non veniva cancellata, le modifiche non venivano selezionate nella pagina di prodotto di configurazione storefront. GitHub-34508
  • Gli elenchi dei prodotti ora vengono visualizzati correttamente in Amministrazione. In precedenza, l'elenco di prodotti non veniva riprodotto e Magento Open Source visualizzava questo errore: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists. GitHub-33145
  • I prezzi dei prodotti sono ora gli stessi nella pagina dei dettagli del prodotto e nella ricerca in vetrina in implementazioni in più punti vendita dopo che il Limite del prezzo del catalogo è cambiato da sito Web a globale. In precedenza, nella pagina Risultati ricerca catalogo veniva visualizzato il prezzo global e nella pagina dei dettagli del prodotto veniva visualizzato il prezzo sito Web. GitHub-34074
  • La navigazione a livelli ora visualizza i prodotti con i prezzi più alti previsti quando Calcolo passaggio di navigazione prezzo è impostato su Manuale.
  • È ora possibile modificare il limite di prodotti per pagina visualizzato all'interno di una categoria quando Ricorda paginazione categoria è abilitato. In precedenza, il cookie form_key e l'interfaccia utente form_key erano diversi e il Magento Open Source visualizzava questo errore: Invalid Form Key. Please refresh the page.
  • L'indicizzatore EAV ora elabora gli ID prodotto come tipo int per evitare possibili problemi di prestazioni.
  • La nuova cache dei prodotti viene ora generata correttamente dopo l’aggiunta di una nuova immagine con un nome contenente "". su un prodotto, quindi salva il prodotto e pulisci la cache delle immagini. GitHub-32699
  • Ora in Magento Open Source viene visualizzato un messaggio di errore come previsto quando si tenta di creare un attributo dalla pagina del prodotto senza completare il campo Amministratore. GitHub-33099

  • Le valutazioni dei prodotti ora sono corrette in tutti gli elenchi di prodotti del catalogo quando la pagina Home contiene più elenchi di catalogo. GitHub-33867

Prodotti configurabili

  • Dopo aver modificato la quantità nella pagina dei dettagli del prodotto, Magento Open Source ora visualizza il prezzo di prodotto corretto per un prodotto configurabile con un’opzione selezionata. In precedenza, il prezzo veniva reimpostato al valore iniziale dopo la modifica della quantità.
  • La query products recupera ora i prezzi per i prodotti configurabili che riflettono con precisione l'impostazione di configurazione Visualizza esaurito. In precedenza, la query non restituiva prezzi precisi.
  • Le opzioni configurabili sono ora collegate ai prodotti configurabili creati nell'amministratore utilizzando POST /V1/configurable-products/configurable1/child.
  • Gli attributi a selezione multipla ora vengono salvati correttamente durante la modifica del prodotto. In precedenza, durante il salvataggio di un prodotto, applicationOpen Source salvava l'opzione predefinita per gli attributi non selezionati e per quelli selezionati.
  • Magento Open Source visualizza ora gli attributi configurabili come previsto durante la creazione degli attributi globali select tramite uno script di patch. In precedenza, gli attributi globali idonei erano nascosti.
  • È ora possibile utilizzare la mutazione addConfigurableProductsToCart per aggiungere prodotti configurabili con opzioni personalizzate. In precedenza, applicationOpen Source generava questo errore: Magento 2.3.4 graphql Notice: Undefined index: option_value in /var/www/html/mg234/vendor/magento/module-configurable-product-graph-ql/Model/Resolver/ConfigurableCartItemOptions.php on line 62. GitHub-28860

  • Ora puoi riordinare i prodotti configurabili con opzioni personalizzate facoltative. In precedenza, i tentativi di riordino non erano riusciti e comportavano la visualizzazione di questo errore: Some of the selected options are not currently available. GitHub-35409

  • La mutazione addConfigurableProductsToCart ora funziona come previsto con più prodotti. In precedenza venivano restituite informazioni di prodotto errate o veniva restituito un messaggio di errore non valido. GitHub-30948

Cliente

  • Magento Open Source visualizza correttamente gli attributi predefiniti del sistema EAV in base alle impostazioni del sito Web nella vetrina. In precedenza, gli attributi del cliente a livello di sito Web abilitati per un sito Web e disabilitati per un altro venivano visualizzati come abilitati per entrambi i siti Web.

Download disponibile

  • Ora puoi rimuovere collegamenti e file di esempio da un prodotto scaricabile. GitHub-31887

E-mail

  • Le e-mail inviate dal sistema ora vengono inviate correttamente ai destinatari con ".-" nel loro indirizzo e-mail.
  • Ora i clienti ricevono promemoria e-mail sui carrelli abbandonati secondo la pianificazione corretta. La nuova funzione SQL TIMESTAMPDIFF(DAY, ,) ha sostituito la funzione TO_DAYS() e calcola la differenza nei timestamp in base alla data e all'ora. In precedenza, i promemoria e-mail non venivano inviati per pianificazione a causa del calcolo errato di due valori data-ora di abbandono del carrello (qualsiasi fuso orario) e ora del server (UTC).
  • Il Magento Open Source visualizza ora un messaggio di errore nella pagina Spedizione quando un acquirente immette un formato e-mail non valido dopo aver fatto clic su Inserisci ordine. In precedenza, il messaggio di errore veniva visualizzato nella pagina Pagamento. GitHub-33590

Framework

  • Il comando bin/magento setup:config:set non sostituisce più i prefissi ID cache già impostati in app/etc/env.php.
  • Il comando bin/magento setup:static-content:deploy -s compact ora include gli stili dei temi figlio come previsto. In precedenza, i file CSS con tema non erano presenti nella vetrina dopo la distribuzione.
  • È stato aggiunto un nuovo sniff per verificare se sono utilizzate barre di chiusura negli elementi void.
  • Il Magento Open Source non genera più un errore SQL dopo l'assegnazione di una nuova origine a un prodotto e la modifica della quantità. GitHub-35262
  • L'ordinamento degli attributi ora funziona come specificato nel file di.xml dopo l'aggiornamento.
  • La funzione updateCartCurrency ora imposta la stringa invece di un oggetto all'interno dell'oggetto carrello. In precedenza, applicationOpen Source non caricava virgolette utilizzando getQuote perché la funzione updateCartCurrency impostava un oggetto invece di una stringa all'interno dell'oggetto carrello. GitHub-34199
  • Gli avvisi di obsolescenza non vengono più visualizzati negli unit test a causa di \DateTimeFormatter::formatObject(). Questo metodo ora funziona come previsto con valori numerici per $format.
  • Il Magento Open Source non visualizza più un errore preg_replace() in Admin. Il terzo argomento ($subject) è ora di tipo array|string invece di bool.
  • Il metodo isFreeShipping ora restituisce un numero intero anziché un valore booleano.GitHub-35164
  • Il Magento Open Source non genera più il seguente errore quando si crea un plug-in per qualsiasi metodo della classe vendor/magento/module-backend/Model/Menu.php: Error: Call to undefined method ReflectionUnionType::getName(). GitHub-35292
  • Il Magento Open Source ora restituisce un errore 404 invece di un errore 500 quando si passa a /checkout/sidebar/updateItemQty/?item_qty=error nella vetrina. In precedenza, questo errore veniva generato: Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69. GitHub-34380
  • Il Magento Open Source non attiva più un errore trim(): Passing null to parameter #1 ($string) of type string is deprecated quando la connessione AMPQ è configurata senza la configurazione SSL.
  • La definizione del database longblog è stata corretta in long blob. GitHub-35108
  • Il testo di foratura contenente virgolette singole è ora traducibile. GitHub-34319
  • Un TypeError in magento2/app/code/Magento/Security/Model/AdminSessionsManager.php è stato corretto da int a string. GitHub-34415
  • .htpasswd è stato aggiunto ai percorsi vietati nel file di configurazione nginx. GitHub-35150
  • Il tempo di caricamento delle pagine dell'elenco prodotti della categoria è stato migliorato aggiungendo Magento_Ui/js/core/app come deps a app/code/Magento/Ui/view/frontend/requirejs-config.js. GitHub-34847
  • Il metodo ProductRepository.php:get ora restituisce una volta le chiavi della cache. In precedenza, venivano restituiti due volte. GitHub-34958
  • È stato aggiunto un messaggio di errore a una nuova eccezione creata nel gestore eccezioni per i processi cron. GitHub-34941
  • I file ReadMe per i moduli GraphQl-GroupedProductGraphQl sono stati aggiornati. GitHub-34951
  • Le pagine ordine di stampa/fattura/nota di credito della vetrina non visualizzano più il logo Luma predefinito anziché il logo specificato per la visualizzazione sul sito Web. GitHub-34942

Correzioni generali

  • Se si imposta la dimensione massima della sessione su 0 (Admin Store > Settings > Configuration - Advanced), l'amministratore non verrà più disconnesso. GitHub-35312
  • Le impostazioni di configurazione degli attributi dell’indirizzo del cliente ora vengono caricate correttamente in base al sito web a cui il cliente è assegnato quando si aggiunge un nuovo indirizzo del cliente dall’amministratore che viene assegnato a un sito web non predefinito.
  • Il Magento Open Source non genera più un'eccezione quando si aggiunge un prodotto bundle tramite Page Builder.
  • Ora puoi creare un account cliente su un dispositivo iOS con l’apostrofo inclinato (') nel nome, nel secondo nome o nel cognome. In precedenza era consentito solo l'apostrofo diritto e l'utilizzo dell'apostrofo inclinato predefinito di iOS 11+ ha prodotto un errore Name is not valid!.
  • La query products ora restituisce informazioni sul prodotto che riflettono con precisione la configurazione "Mostra prodotti correlati". I campi related_products, upsell_products e crosssell_products nell'interfaccia prodotto GraphQL ora sono risolti in base rispettivamente a Mostra prodotti correlati, Mostra prodotti di upselling e Mostra configurazione prodotti di cross-selling.
  • L'attributo Imposta prodotto come nuovo da data visualizza ora la data corretta quando l'attributo Imposta prodotto come nuovo viene impostato tramite un aggiornamento collettivo di massa del prodotto. In precedenza, Imposta prodotto come nuovo dalla data veniva visualizzato come 1 gennaio 1970.
  • Agli utenti con ruoli limitati non viene più concesso automaticamente l’accesso a nuovi moduli.
  • Le condizioni delle regole di prodotto correlate ora funzionano come previsto con i prodotti che contengono gli attributi multiselect.
  • Gli esercenti possono ora aggiungere un attributo di prezzo livello (tier_price) ai confronti tra prodotti. In precedenza, la pagina di confronto dei prodotti si bloccava quando l'impostazione Comparable on storefront per questo attributo era abilitata. GitHub-35244
  • Il Magento Open Source visualizza ora un messaggio di errore quando imposti un dominio cookie non valido (Archivio > Configurazioni > Web > Dominio cookie impostazioni cookie predefinito). In precedenza, il sito web si bloccava. GitHub-35048
  • Il Magento Open Source non genera più un errore quando un amministratore con ruoli con ambito in un singolo sito Web aggiunge un prodotto a Elementi di contenuto utilizzando PageBuilder. In precedenza, applicationOpen Source generava un errore SQL.
  • La convalida è stata aggiunta alla seconda riga dell'indirizzo nelle pagine di modifica e aggiunta degli indirizzi. Vengono ora applicate le lunghezze di testo minima e massima specificate per il secondo.
  • Il Magento Open Source non genera più il seguente errore durante la creazione di una regola di catalogo nell'amministratore dopo l'aggiornamento: A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.
  • Il Magento Open Source non genera più un errore quando si attiva la casella di controllo Seleziona qui per collegare un feed RSS alla tua lista dei desideri prima di fare clic su Condividi elenco dei desideri. GitHub-34998
  • È ora possibile tradurre il titolo della casella di controllo Mostra password (Accesso cliente, Registrazione cliente, Modifica cliente (sezione Modifica password) e Moduli per il nuovo set di password del cliente). GitHub-34857
  • Sono state aggiornate le etichette e le descrizioni dei commenti in app/code/Magento/NewRelicReporting/etc/adminhtml/system.xml. GitHub-31947
  • Sono stati rimossi csp_whitelist.xml file non necessari. GitHub-30607

GraphQL

  • Attributo price_range mancante aggiunto al tipo GraphQL BundleItemOption. GitHub-35010
  • La query products non restituisce più attributi come aggregazione quando l'impostazione Usa nei risultati di ricerca per la navigazione a livelli è disabilitata. GitHub-33318
  • Un campo price_including_tax è stato aggiunto a CartItemPrices. GitHub-29057
  • new_from_data e new_to_datefields in ProductInterface non sono più obsoleti. GitHub-34783
  • La query categories non genera più un'eccezione durante il recupero di un elenco di categorie di cui una contiene un'immagine che non è possibile trovare nel file system. In precedenza, applicationOpen Source generava l'eccezione: Category image not found. GitHub-34266
  • La query products ora restituisce category_uid come aggregazione come previsto. GitHub-32557
  • La mutazione updateCartItems ora rimuove i prodotti come previsto quando le scorte del prodotto hanno raggiunto la quantità massima di scorte. GitHub-30220
  • La query urlResolver risolve correttamente il delimitatore di percorso (/) quando più home page hanno lo stesso identificatore. In precedenza, la query non risolveva il delimitatore e restituiva null. GitHub-33615
  • customer le query recuperano ora le opzioni di selezione multipla del prodotto bundle come previsto durante la query degli ordini. GitHub-34717
  • Le sessioni di Magento Open Source non terminano più dopo aver effettuato una richiesta GraphQL. In precedenza, il plug-in ClearCustomerSessionAfterRequest ha disconnesso l'acquirente. GitHub-34550
  • L'intervallo di prezzi del prodotto configurabile nelle risposte alle query di products ora viene calcolato correttamente quando l'impostazione di configurazione Visualizza prodotti esauriti è abilitata. In precedenza, le opzioni disabilitate venivano prese in considerazione nel calcolo del prezzo minimo e massimo.
  • La query products ora restituisce più categorie filtrate correttamente durante l'ordinamento per posizione.
  • setShippingAddressesOnCart richieste ora convalidano correttamente gli ID di regione. In precedenza, applicationOpen Source generava un errore quando si utilizzava l’ID di regione invece del codice di regione.
  • products query ora restituiscono solo le categorie associate all'archivio passate nella richiesta.
  • La query categoryList ora restituisce risultati che riflettono la categoria radice dell'archivio sottoposto a query quando l'archivio è specificato nell'intestazione. In precedenza, le categorie della categoria principale predefinita venivano incluse nei risultati anche se nell’intestazione era specificato un altro archivio.
  • La query products non restituisce più attributi come aggregazione quando l'impostazione Usa in navigazione a livelli dei risultati di ricerca è disabilitata. GitHub-33318
  • La query cart ora restituisce un solo metodo di pagamento per gli ordini gratuiti. In precedenza, tutti i metodi di pagamento attivi venivano restituiti nella risposta alla query. GitHub-34036
  • products query non restituisce più price_range valori per prodotti configurabili interessati da varianti disabilitate. GitHub-33629
  • È stato aggiunto un plug-in prima della chiamata collectQuoteTotals per garantire che i crediti dello store non vengano applicati più volte.
  • La mutazione generateCustomerTokenAsAdmin recupera ora i token del cliente come previsto. In precedenza, i token non venivano restituiti e l'errore veniva restituito: Customer email provided does not exist.
  • Lo schema di GraphQL è ora valido quando è definito un attributo di prodotto type personalizzato. In precedenza, lo schema non era valido perché l'attributo type sui tipi di prodotti veniva sovrascritto dall'attributo personalizzato type. GitHub-34929
  • I clienti aggiunti o aggiornati con la mutazione createCustomer, createCustomerV2, updateCustomer o updateCustomerV2 ora vengono aggiunti con gli abbonamenti a newsletter attive. In precedenza, i clienti venivano cancellati dalle newsletter anche quando la richiesta conteneva parametri di input corretti. GitHub-33599
  • La query products per una visualizzazione archivio specifica ora restituisce solo le categorie incluse nella categoria principale del sito Web specifico nella distribuzione multisito. In precedenza, la query restituiva categorie dalle categorie principali di altri siti web. GitHub-34570
  • La query products ora restituisce solo la sottocategoria dell'ID categoria fornito. In precedenza, restituiva tutte le categorie. GitHub-35220
  • La query customerOrders ora risponde come previsto quando l'oggetto gift_message è specificato nella risposta, ma non esiste alcun messaggio regalo. In precedenza, la query restituiva questo messaggio: Can't load gift message for order is returned. GitHub-28957
  • È stato corretto un bug con l'indicizzatore catalog_category_product a causa del quale la query products restituiva categorie da un altro archivio. GitHub-31253
  • La mutazione generateCustomerToken crea ora una voce in customer_log come previsto dopo la generazione di un token cliente. GitHub-33378

Google Analytics

  • Il modulo Google Tag è stato aggiunto alla base di codice, che supporta la transizione a Google Analytics 4 a luglio 2023. Al momento puoi utilizzare e raccogliere nuovi dati nelle proprietà di Google Universal Analytics, ma Google Universal cesserà il ciclo di vita a luglio 2023. GitHub-35204, GitHub-35376

Immagine

  • Le immagini nelle pagine dei dettagli del prodotto non sfarfalliranno più e rimarranno centrate come previsto. Precedentemente, dopo che una pagina dei dettagli del prodotto aveva completato il caricamento di un’immagine, questa si spostava visibilmente verso il basso.

Importa/esporta

  • La posizione di prodotto correlato, in upselling e cross-selling nel file CSV di esportazione è ora corretta dopo l’eliminazione di un prodotto cross-selling dall’amministratore prima di rigenerare il file CSV. In precedenza, le posizioni relative ai prodotti di cross-selling non venivano ricalcolate dopo la rimozione di un prodotto di cross-selling e l’ordine delle posizioni relative ai prodotti era errato.
  • Il Magento Open Source ora controlla la presenza di una vista personalizzata prima di filtrare le colonne durante l’esportazione dei rapporti. In precedenza, i rapporti esportati non tenevano conto delle viste personalizzate e le colonne esportate non erano corrette.
  • Il Magento Open Source ora importa correttamente le immagini con nomi di file lunghi. In precedenza, applicationOpen Source non importava l'immagine e generava questo errore: Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s):.
  • Gli attributi ID categoria sono ora disponibili nei filtri di esportazione pianificati.
  • Prodotti bundle che contengono un punto interrogativo (?) nel titolo dell'opzione ora può essere importato correttamente a causa di miglioramenti al generatore di query all'interno del metodo populateExistingOptions. Anche il titolo dell’opzione viene visualizzato correttamente. In precedenza, dopo l’importazione iniziale, le importazioni successive determinavano un comportamento danneggiato e raddoppiavano le opzioni. Gli acquirenti non potevano aggiungere il prodotto al carrello.
  • È stata aggiunta la convalida per i nomi di categoria durante l’importazione. In precedenza, applicationOpen Source non convalidava i nomi di categoria, causando errori quando i nomi di categoria superavano i 255 caratteri.
  • I record esistenti nella tabella catalog_url_rewrite_product_category vengono ora eliminati prima di inserirne di nuovi. In precedenza, si verificava il seguente errore durante l'importazione di prodotti multi-store: SQLSTATE[23000]: Integrity constraint violation. GitHub-34210

Infrastruttura

  • Un plug-in del menu di scelta rapida obsoleto è stato rimosso dall’elenco dei plug-in.
  • La logica relativa alla barra degli strumenti dell'editor TinyMCE nel modulo Page Builder è stata aggiornata a seguito dell'introduzione della logica delayedRender per la barra degli strumenti in TinyMCE.
  • Le race condition non interrompono più la creazione del listener di eventi contentUpdated. GitHub-32068
  • La funzione getTypeID ora restituisce l'ID del tipo di prodotto e non l'ID prodotto. GitHub-35458
  • Il cursore dell'interfaccia utente jQuery e il mapping SelectMenu sono stati corretti in vendor/magento/module-theme/view/base/requirejs-config.js.

  • Gli osservatori inseriti in sales_order_state_change_before ora supportano il recupero dei dati dall'oggetto dell'ordine. L'argomento sales_order_state_change_before event è stato aggiornato. GitHub-26789

  • È stato eseguito il refactoring di indexer:reset per chiamare $indexer->invalidate(). GitHub-34988
  • È ora possibile utilizzare il simbolo dei due punti in un valore di attributo htmlClass, che supporta l'utilizzo di componenti aggiuntivi come l'interfaccia utente di Tailwind. GitHub-34430

Registrazione

  • Le azioni cliente, indirizzo cliente e ordine ora vengono registrate correttamente nel rapporto Azioni amministratore. In precedenza, applicationOpen Source non registrava le azioni se il gestore postDispatch non era stato specificato nelle impostazioni di configurazione.

MFTF

Gruppi di azioni

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

AdminConfigurableProductChildrenOutOfStockTest GitHub-32378
AdminCreateStoreViewTest GitHub-34631

Nuovi test

AdminUnlockAdminUserEntityTest GitHub-34836

StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTest GitHub-33344

Test refactoring

AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTest GitHub-33692

Newsletter

  • I clienti connessi non sono più contrassegnati come ospiti in Admin > Marketing > Iscritti alla newsletter.
  • L'indirizzo e-mail di conferma dell'abbonamento alla newsletter ora è corretto e specifico per lo store nel campo Da se il cliente è assegnato a un archivio non predefinito e ha effettuato l'abbonamento o l'annullamento dell'abbonamento da parte dell'amministratore. In precedenza, il cliente riceveva un'e-mail con e-mail predefinita nell'intestazione From (Da). GitHub-34963
  • L’URL per l’annullamento dell’iscrizione nel modello e-mail della newsletter ora funziona come previsto. GitHub-33310

Ordine

  • I dettagli del cliente ospite ora vengono salvati correttamente dopo la modifica di un ordine. In precedenza, alcuni dettagli del cliente andavano persi, tra cui customer_firstname e customer_lastname, x_forwarded_for.
  • Gli esercenti non possono più creare una nota di accredito con una quantità totale decimale quando Qtà decimale è disabilitato a livello di prodotto o impostazione globale. In precedenza, i commercianti potevano creare una nota di accredito per la quantità totale decimale laddove non era applicabile.
  • Il comando Filtra per data ora funziona correttamente per le fatture, le spedizioni, le note di credito, le pagine CMS e le griglie di blocchi CMS quando il fuso orario impostato nelle preferenze è diverso da quello impostato in un computer locale. In precedenza, la data veniva analizzata in modo errato e i risultati filtrati includevano dati al di fuori dell’intervallo di date impostato.
  • Il Magento Open Source non modifica più gli indirizzi e-mail personalizzati assegnati agli ordini quando modifichi l’indirizzo e-mail principale assegnato al cliente nella pagina di modifica dell’account amministratore. In precedenza, quando si modificava l’indirizzo e-mail principale di un cliente, il nuovo indirizzo e-mail veniva assegnato a ogni ordine creato per quel cliente. GitHub-34397
  • Magento Open Source visualizza ora i record dell'archivio richiesto nella pagina della griglia delle note di credito nelle distribuzioni che eseguono PHP 7.4. In precedenza, applicationOpen Source generava il seguente errore dopo la creazione di una nota di credito e il tentativo di visualizzarla: The store that was requested wasn't found. Verify the store and try again.
  • Nel Magento Open Source vengono ora visualizzate le note di accredito nella pagina della griglia della nota di accredito per gli ordini creati da viste del negozio il cui nome è preceduto da numeri. In precedenza, applicationOpen Source visualizzava l'errore: The store that was requested wasn't found. Verify the store and try again. Exception in /var/www/html/vendor/magento/module-store/Model/StoreRepository.php:75. GitHub-35122
  • Il Magento Open Source visualizza ora le spese di spedizione gratuite (0) sui totali della pagina delle fatture di amministrazione e vetrina. In precedenza, quando la spedizione era pari a zero per un ordine, l'applicazione Open Source non visualizzava l'importo totale della spedizione nella pagina fattura di spedizione totale.
  • La colonna increment_id nella tabella sales_order è stata aumentata. In precedenza, i moduli di terze parti che presupponevano che sales_order.increment_id avesse una lunghezza di 50 caratteri salvavano solo i primi 32 caratteri di un increment_id. GitHub-34521

Metodi di pagamento

  • Ora gli amministratori possono effettuare un ordine all'amministratore utilizzando il metodo di pagamento PayPal PayflowPro. In precedenza, applicationOpen Source visualizzava questo errore: No such entity with cartId = 0.
  • Nella pagina Revisione pagamento del flusso di lavoro di pagamento ora viene visualizzato il nome corretto del metodo di pagamento quando il pagamento viene effettuato con Venmo, PayPal Later o PayPal.
  • La query cart non restituisce più tutti i metodi di pagamento attivi per gli ordini gratuiti. GitHub-34036

Braintree

  • Gli esercenti possono ora inviare un rimborso parziale per gli ordini pagati con Apple Pay tramite Braintree. Questo era un problema noto nel Magento Open Source 2.4.4.

PayPal

  • Il Magento Open Source ora mostra il nome corretto del cliente in un ordine degli ospiti pagato con PayPal. In precedenza, il nome del cliente veniva visualizzato come Ospite.
  • Il risolutore per la mutazione createPaypalExpressToken è stato aggiornato per utilizzare correttamente il valore specificato nel campo di input use_paypal_credit. In precedenza, tentava di utilizzare un campo paypal_credit non valido. GitHub-35180

Prestazioni

  • La gestione della cache Redis è stata migliorata con l’aggiunta del TTL (data di scadenza) per le cache dei dati di prodotto associate ai prodotti configurabili. In precedenza, queste cache non venivano eliminate a causa di valori TTL mancanti se il criterio di eliminazione della chiave Redis era configurato per un criterio di eliminazione volatile.
  • Il nuovo attributo dell'indirizzo cliente/cliente di Grid Filter Condition Type controlla il modo in cui un filtro di attributi viene confrontato con i valori degli attributi nel database. Le opzioni includono Partial Match, Prefix Match e Full Match.
  • L’indicizzatore full-text di ricerca nel catalogo è stato riposizionato all’esterno del ciclo store, il che semplifica la reindicizzazione. GitHub-33984
  • È stato risolto un problema con array_merge nei cicli. GitHub-33929

Prezzi

  • Gli attributi di prezzo privi di valore nell'ambito predefinito (ma definiti a livello di visualizzazione dello store) ora vengono indicizzati correttamente. In precedenza, le espressioni SQL che recuperavano i valori degli attributi di prezzo dalla tabella EAV non tenevano conto dello scenario in cui il valore non era definito nell'ambito predefinito.
  • Il prezzo elencato nella pagina dei dettagli del prodotto è ora lo stesso del prezzo elencato nel flusso di lavoro di pagamento per i prezzi dei livelli che differiscono per la quantità selezionata (ad esempio, un prodotto con prezzi diversi in base all'acquisto di 2 articoli rispetto a 5 articoli). In precedenza, il prezzo di pagamento rifletteva il prezzo per la quantità di prodotto più bassa.

ReCAPTCHA

  • Il pulsante Invia nelle pagine di accesso e creazione account non è più attivo fino al caricamento completo di ReCaptcha.

Ruoli

  • Nella pagina Archivio > Configurazione > Servizi vengono ora visualizzate le informazioni API Web di Magento Open Source come previsto quando Accesso alle risorse è impostato su Personalizzato nella scheda Risorse ruolo. GitHub-35506

Ricerca search-heading

  • Il filtro dei prodotti per campione di colore nella navigazione a livelli mostra l’immagine corretta per i prodotti dopo la correzione.
  • Le query di Elasticsearch ora funzionano come previsto quando int è configurato come attributo di backend type ricercabile. In precedenza, applicationOpen Source generava un'eccezione Elasticsearch\Common\Exceptions\BadRequest400Exception.
  • È ora possibile utilizzare i sinonimi di ricerca insieme al parametro Condizioni minime da rispettare Nelle query di Elasticsearch. In precedenza, se questo parametro era specificato nelle impostazioni e i termini di ricerca venivano aggiunti per parole chiave specifiche, la ricerca non restituiva alcun risultato.
  • In Magento Open Source ora viene visualizzato un conteggio accurato dei suggerimenti di ricerca nella vetrina delle distribuzioni in cui sono abilitati i suggerimenti di ricerca e l'impostazione Mostra conteggio risultati per ogni suggerimento. In precedenza, il conteggio visualizzato accanto alle parole chiave era zero.
  • I prodotti ordinati in base agli attributi personalizzati nella pagina Catalogo vengono ora visualizzati nell’ordine previsto. In precedenza, i prodotti venivano ordinati in base all’ID del valore di opzione dell’attributo, che riflette l’ordine in cui sono stati aggiunti all’attributo. GitHub-33810
  • Il filtraggio dei prodotti per campione di colore nella navigazione a livelli ora mostra le immagini del prodotto corrette. In precedenza, la chiave di navigazione a livelli PageCache non includeva i parametri di filtro per i prodotti configurabili.
  • Sono stati corretti gli errori PHP in catalogsearch/advanced/result e catalogsearch/advanced/index pagine. In precedenza, Magento Open Source visualizzava questo errore quando veniva passato un array in una stringa di ricerca avanzata: Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-search. GitHub-33586

Spedizione

  • Il Magento Open Source non genera più un errore durante il caricamento delle tariffe di spedizione UPS se non vengono selezionati metodi di spedizione consentiti. In precedenza, quando un acquirente inseriva un indirizzo di spedizione nel flusso di lavoro di pagamento in queste condizioni, non venivano visualizzati altri metodi di spedizione e il Magento Open Source visualizzava un errore nella vetrina. GitHub-34411
  • I prezzi dei prodotti virtuali sono ora esclusi nella tabella di calcolo dell’importo della spedizione. In precedenza, le spese di spedizione per questi prodotti non venivano calcolate correttamente.GitHub-35185
  • Le tariffe di spedizione della tariffa tabella a prezzo zero ora vengono visualizzate correttamente nel blocco Sintetico ordini del flusso di lavoro di pagamento per gli ordini a cui è stato applicato un buono sconto. In precedenza, il metodo di spedizione non veniva visualizzato.

Imposta

  • L’imposta fissa sui prodotti (FPT, Fixed Product Tax) ora viene visualizzata correttamente per i prodotti nel carrello. In precedenza, se più prodotti nel carrello hanno FPT (Fixed Product Tax) e FPT (Apply Tax To FPT) abilitati, tutti gli FPT sono stati assegnati all'ultimo prodotto nel carrello e reimpostati per altri prodotti.
  • Il totale FPT (Fixed Product Tax) per la sezione di riepilogo degli ordini del flusso di lavoro di pagamento ora viene calcolato correttamente.
  • Magento Open Source ora aggiorna il prezzo del livello di imposta di esclusione per un prodotto semplice nella pagina del prodotto come previsto dopo la modifica della quantità del prodotto semplice.
  • È stata aggiunta la convalida alla pagina di configurazione dello store per verificare se il paese selezionato dall’elenco a discesa è nell’elenco dei paesi dell’UE. Il pulsante Convalida partita IVA è ora visibile solo per i paesi dell'UE. In precedenza, il pulsante era visibile per tutti i paesi, incluso il Regno Unito.
  • Il prezzo di livello ora viene calcolato correttamente quando Visualizza prezzi prodotti nel catalogo è impostato su Imposta esclusa o Imposta inclusa ed esclusa. In precedenza, nella pagina dei dettagli del prodotto venivano visualizzati i prezzi dei livelli con le imposte nonostante l’impostazione.
  • Le tasse ora vengono applicate correttamente per gli ordini a qualsiasi indirizzo valido in vetrine utilizzando le impostazioni locali portoghesi. GitHub-34271
  • La query cart non include più l'imposta quando viene restituito subtotal_with_discount_excluding_tax. GitHub-33905
  • Le richieste API Web per i dati dell'ordine (GET /V1/orders/) non restituiscono più valori negativi per i totali delle righe.

Test

  • Sono stati corretti gli errori con Magento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestions quando eseguito con la configurazione AWS Elasticsearch.
  • Il test di integrazione testCreateProductOnStoreLevel non causa più una transazione nidificata nel database.

  • La seguente eccezione non si verifica più quando si eseguono test WebAPI per la funzione Send Friend quando l'immagine del prodotto non è impostata su PHP 8.1: exception main.ERROR: /var/www/html/lib/internal/Magento/Framework/DataObject.php:131 strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated. GitHub-34864

Traduzioni e lingue

  • Ora puoi utilizzare lo strumento Traduci in linea per modificare lo stesso elemento più di una volta. In precedenza, era inclusa solo la prima modifica apportata utilizzando questo strumento.
  • Il selettore della vista archivio non blocca più il riquadro di traduzione quando si modificano il testo o le etichette di amministrazione. È ora possibile modificare queste funzionalità dal riquadro di traduzione e l'interfaccia visualizza queste modifiche quando si fa clic su Invia.
  • Il formato data/ora Admin per le lingue portoghese brasiliano e francese è ora valido.
  • È stato aggiunto un carattere accento grave [`] alla convalida del nome in modo che sia possibile creare un account cliente per nomi o cognomi che includono questo accento.
  • Il testo sul pulsante Aggiungi al carrello nella pagina Dettagli prodotto ora rimane tradotto nella lingua specificata nelle impostazioni locali associate. I file di traduzione vengono ora convertiti nei file JavaScript corrispondenti in base alle aree, ai temi e alle impostazioni internazionali quando translate_strategy=embedded. In precedenza, il testo tornava in inglese dopo l’aggiunta del prodotto al carrello.
  • I sinonimi di ricerca ora rispettano l’ambito dell’archivio assegnato. In precedenza, era possibile cercare in qualsiasi altro negozio un sinonimo assegnato a uno specifico negozio.
  • Sono stati risolti i problemi con le Filippine. GitHub-33996

UI

  • I nomi di prodotti lunghi nella griglia Catalogo > Prodotti ora sono racchiusi in un ritorno a capo anziché visualizzati in una sola riga.
  • L’intervallo di date di nascita minimo e massimo viene ora salvato come marca temporale corretta e quindi convertito da una marca temporale valida a un formato data valido.
  • L'indisponibilità di magento.com non causa più problemi di prestazioni durante l'accesso amministratore. È stato aggiunto un timeout nella richiesta di recupero della notifica di rilascio.
  • I risultati dei filtri Ordine amministratore, Cliente e Griglia prodotti ora persistono come previsto quando vengono visualizzati nel browser Chrome.
  • Ora puoi creare un cliente dall'amministratore quando Magento_LoginAsCustomerAdminUi è abilitato e Visualizzazione store per l'accesso a è impostato sulla selezione manuale. In precedenza, applicationOpen Source generava questo errore: (Magento\Framework\Exception\LocalizedException): Unable to get Customer ID. GitHub-33096
  • La freccia "Avanti" ora viene disabilitata come previsto quando un acquirente raggiunge l’ultima miniatura nella galleria di immagini del prodotto.
  • Il campo di input Ricerca per parola chiave ora include un elemento aria-label invece di un segnaposto nella pagina Catalogo > Prodotto.
  • Il collegamento all’Informativa sulla privacy nel piè di pagina Amministratore ora si collega al nuovo Adobe Informativa sulla privacy.
  • Gli amministratori ora possono accedere alle opzioni del menu Amministratore quando il bundling JavaScript è abilitato in modalità di produzione. GitHub-35325
  • Ora gli amministratori possono impostare una data di scadenza dell’utente corrente superiore al 2038 e salvarlo correttamente. In precedenza, l’utente la cui data di scadenza era stata modificata non poteva effettuare nuovamente l’accesso dopo la disconnessione.
  • Il Magento Open Source visualizza ora un messaggio di errore informativo quando un amministratore tenta di salvare un indirizzo con linee stradali eccessive in Admin Store > Attributes > Customer Address. L’amministratore può ora eliminare le informazioni aggiuntive sull’indirizzo e salvarlo correttamente. In precedenza, applicationOpen Source eseguiva il commit delle righe aggiuntive ma non salvava i dati.
  • La configurazione della vista dell’elenco dei prodotti nel database e nell’archiviazione locale è stata aggiornata. Le visualizzazioni griglia personalizzate vengono ora salvate durante il ricaricamento della pagina e la visualizzazione delle modifiche.
  • Ora puoi passare da una visualizzazione all’altra quando sono abilitate le restrizioni del sito web. In precedenza, i problemi con il commutatore della visualizzazione archivio impedivano il passaggio tra le visualizzazioni dello store.
  • Il modulo di caricamento delle icone preferite ora supporta .ico tipi di file. In precedenza, quando si tentava di caricare un file favicon con questo tipo di estensione in Admin, l'applicazione Open Source visualizzava questo errore: Warning: imagecreatefromstring(): one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully in /var/www/html/vendor/magento/module-media-storage/Model/File/Validator/Image.php on line 64. GitHub-34858
  • Sono stati risolti dei problemi di visualizzazione con il menu a discesa Seleziona nella griglia di amministrazione. GitHub-35386

Riscritture URL

  • Gli URL di un prodotto solo in una visualizzazione archivio specifica vengono ora rimossi dalla tabella url_rewrite e dall'amministratore dopo che lo stato di visibilità del codice attributo per la visualizzazione archivio specifica è stato modificato in Non visibile singolarmente. In precedenza, tutti gli URL venivano rimossi per il prodotto nella tabella url_rewrite. GitHub-34937

Video

  • Ora puoi utilizzare i parametri URL di YouTube utilizzando Page Builder per aggiungere un nuovo video. In precedenza, questi parametri venivano rimossi automaticamente dall’URL.
  • È ora possibile impostare un video Vimeo da eseguire in background in un elemento banner quando CSP è impostato su restrict mode. In precedenza, l’applicazione Open Source generava un errore JavaScript.

Framework API web

  • Mutex è stato implementato per gli ordini di evitare race condition durante l'aggiornamento da richieste simultanee. In precedenza, le condizioni di concorrenza durante le chiamate API REST simultanee causavano la sovrascrittura delle informazioni sullo stato di spedizione nella tabella Articoli ordinati dell’amministratore.
  • L’ereditarietà del ruolo dell’immagine del prodotto ora viene mantenuta a meno che non sia esplicitamente definita nel payload durante l’aggiornamento di un prodotto in una visualizzazione store specifica tramite l’API REST.
  • Lo schema Swagger (/rest/schema) ora utilizza ID operazione univoci.
  • Le regole del prezzo del carrello create tramite l'endpoint POST /V1/salesRules/ ora mantengono i valori del codice coupon esistenti dopo la modifica dello stato da disabilitato ad abilitato. GitHub-35298
  • Le regole di prezzo del carrello create tramite l'endpoint POST /V1/salesRules/ ora contengono valori from_date e to_date validi. GitHub-35265
  • CartItemInterface ora include customizable_options. GitHub-31180
  • Le richieste PUT e DELETE in blocco API REST ora funzionano come previsto quando il modulo Magento_ReCaptchaWebapiRest è abilitato. GitHub-35348
  • L'API Bulk Rest ora funziona con l'opzione bySku per i prodotti configurabili. In precedenza, restituiva un errore 500.
  • La creazione di un nuovo programma di prezzi speciali con l'endpoint POST /V1/products/special-price ora funziona come previsto. In precedenza, l'endpoint restituiva questo errore: Future Update already exists in this time range. Set a different range and try again.
  • L'endpoint /V1/products/base-prices ora funziona come previsto con Modalità prezzo catalogo - Sito Web. GitHub-30132

Lista dei desideri

  • L'aggiornamento di una quantità articolo dalla pagina della lista dei desideri ora aggiorna la quantità nella pagina dei dettagli del prodotto come previsto. L'applicazione Open Source ora seleziona il valore aggiornato dall'URL del prodotto e popola il campo qty della pagina dei dettagli del prodotto dalla lista dei desideri.

Problema noto

Problema: gli utenti amministratore non possono creare un ordine o riordinare per i clienti dall'amministratore quando Braintree è abilitato. Quando l'utente amministratore fa clic su Ordine o Riordina, Adobe Commerce non invia l'ordine e system.log visualizza questo errore: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174. Soluzione: BUNDLE-3137-composer.patch è ora disponibile. Per informazioni su questo problema e sull'accesso alla patch, vedere l'articolo della Knowledge Base Impossibile creare un ordine/riordinare quando è abilitato il pagamento delle Braintree. Una correzione verrà inclusa anche in Adobe Commerce 2.4.5-p1.

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, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).

Contributi dei singoli collaboratori

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

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 Magento Open Source 2.4.5 utilizzando Composer.

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