Notes de mise à jour de Magento Open Source 2.4.0
Magento Open Source 2.4.0 prend désormais en charge PHP 7.4, Elasticsearch 7.6.x et MySQL 8.0. Les modifications de sécurité substantielles incluent l’activation par défaut de l’authentification à deux facteurs dans l’administrateur.
Avec cette version, l’intégration de la méthode Authorize.Net a été supprimée du code principal. Les commerçants doivent migrer vers l’extension officielle disponible sur le Commerce Marketplace.
Cette version comprend toutes les améliorations de la qualité de base incluses dans la version 2.3.5-p1, plus de 100 nouveaux correctifs de code principal et 30 améliorations de la sécurité. Elle comprend la résolution de 226 problèmes GitHub par les membres de notre communauté. Ces contributions de la communauté vont du nettoyage mineur du code principal à des améliorations significatives dans Inventory management et GraphQL.
Appliquez AC-3022.patch
pour continuer à proposer DHL comme opérateur de transport
DHL a introduit la version 6.2 du schéma et va abandonner la version 6.0 dans un avenir proche. Adobe Commerce 2.4.4 et les versions antérieures qui prennent en charge l’intégration DHL ne prennent en charge que la version 6.0. Les commerçants qui déploient ces versions doivent appliquer AC-3022.patch
dès que possible pour continuer à proposer DHL en tant qu'opérateur de transport. Pour plus d’informations sur le téléchargement et l’installation du correctif, reportez-vous à l’article Appliquer un correctif pour continuer à proposer DHL comme opérateur de transport de la base de connaissances.
Correctif de sécurité disponible
Les vendeurs peuvent désormais installer des correctifs de sécurité sensibles au temps sans appliquer les centaines de correctifs fonctionnels et d’améliorations apportés par une version trimestrielle complète (par exemple, 2.3.5-p2). Le correctif 2.3.5.2 (module du compositeur 2.3.5-p2) est un correctif de sécurité qui fournit des correctifs pour les vulnérabilités identifiées dans notre version trimestrielle précédente, 2.3.5-p1. Tous les correctifs qui ont été appliqués à la version 2.3.5 sont inclus dans ce correctif de sécurité. (Un correctif fournit un correctif à une version publiée qui résout un problème ou un bogue spécifique.)
Pour obtenir des informations générales sur les correctifs de sécurité, reportez-vous à la section Présentation de la nouvelle version du correctif de sécurité. Pour obtenir des instructions sur le téléchargement et l’application des correctifs de sécurité (y compris le correctif 2.3.5-p2), reportez-vous à la section Installation sur site rapide. Les correctifs de sécurité incluent uniquement des correctifs de sécurité, et non les améliorations de sécurité supplémentaires incluses dans le correctif complet.
Autres informations de mise à jour
Bien que le code de ces fonctionnalités soit fourni avec des versions trimestrielles , plusieurs de ces projets (par exemple, Inventory management et Progressive Web Application (PWA) Studio) sont également publiés indépendamment. Les correctifs de bogues pour ces projets sont documentés dans les informations de mise à jour distinctes et spécifiques au projet disponibles dans la documentation de chaque projet.
Tons clairs
Dans cette version, recherchez les points forts suivants :
Améliorations substantielles de la sécurité
Cette version comprend plus de 30 correctifs de sécurité et améliorations de la sécurité de la plateforme.
Plus de 30 améliorations de sécurité permettant de fermer les vulnérabilités d’exécution de code distant (RCE) et de script de site à site (XSS)
Aucune attaque confirmée liée à ces problèmes n'a été survenue à ce jour. Cependant, certaines vulnérabilités peuvent être exploitées pour accéder aux informations sur les clients ou prendre le contrôle des sessions d’administrateur. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. Par conséquent, nous vous rappelons de prendre toutes les mesures nécessaires pour protéger votre administrateur, y compris, mais sans s’y limiter, les efforts suivants : placé sur la liste autorisée IP, authentification à deux facteurs, utilisation d’un VPN, utilisation d’un emplacement unique plutôt que /admin
, et bonne hygiène du mot de passe. Voir Mises à jour de sécurité disponibles pour Magento pour une discussion sur ces problèmes résolus. pour une discussion sur ces problèmes résolus.
Améliorations supplémentaires de la sécurité
-
Mise en oeuvre de 2FA pour les comptes d’administrateur, les comptes d’utilisateur magento.com et l’accès SSH cloud
-
Sécurisation de votre compte administrateur. L’authentification à deux facteurs (2FA) est désormais requise pour l’administrateur. Les utilisateurs administrateurs doivent d’abord configurer leur compte 2FA avant de se connecter à l’administrateur par le biais de l’interface utilisateur ou d’une API web. 2FA est activé par défaut. Il est vivement déconseillé de désactiver le module 2FA. Cette étape supplémentaire d’authentification rend plus difficile pour les utilisateurs malveillants de se connecter à l’administrateur sans autorisation. Voir Authentification à deux facteurs (2FA).
-
Sécurisation de votre compte. L’authentification à deux facteurs (2FA) offre une couche de sécurité supplémentaire facultative afin de mieux protéger votre compte magento.com contre les utilisateurs non autorisés qui souhaitent utiliser votre compte d’une manière que vous ne souhaitez pas. Voir Sécurisation de votre compte.
-
-
Sécurisation de l’accès SSH Cloud. L’Adobe sur l’infrastructure cloud permet l’application de l’authentification multifactorielle (MFA) pour gérer les exigences d’authentification pour l’accès SSH aux environnements cloud. L’authentification multifactorielle pour 2FA n’est pas activée par défaut sur un projet. Adobe recommande vivement d’activer cette fonctionnalité. Contactez l’assistance technique pour obtenir de l’aide. Voir Activation de l’authentification multifactorielle pour l’accès SSH.
-
Le mode strict du filtre de modèle est désormais activé par défaut. Les composants (y compris les pages et les blocs CMS) qui utilisent le filtre de modèle en mode hérité peuvent être vulnérables à l’exécution de code distant (RCE). L’activation du mode strict par défaut garantit que les attaques RCE ne peuvent pas être délibérément activées.
-
Le rendu des données pour les fournisseurs de données de l’interface utilisateur est désormais désactivé par défaut. Cela supprime l’opportunité pour les utilisateurs malveillants d’exécuter des JavaScript arbitraires.
-
Nouvelle classe
\Magento\Framework\Escaper
. Cette classe est fournie pour les modèles.phtml
et les classes PHP responsables de la génération de l’HTML. Cette classe contient des méthodes d’assainissement d’HTML adaptées à plusieurs contextes. La variable locale$escaper
est disponible dans les modèles.phtml
et doit être utilisée à la place de la variable$block->escape{method}
obsolète. Utilisez$escaper
plutôt que$block
, car l’utilisation de$block->escape{method}
a été abandonnée. -
Prise en charge du nouveau fichier security.txt. Ce fichier est un fichier standard du secteur sur le serveur qui aide les chercheurs en sécurité à signaler les problèmes de sécurité potentiels aux administrateurs du site.
-
Améliorations de la prise en charge des stratégies de sécurité du contenu (CSP).
SecureHtmlRenderer
a été ajouté à la structure et est disponible dans les modèles.phtml
pour whitelister les balises intégréesstyle
etscript
. Les scripts et les styles intégrés ne sont pas autorisés avec la configuration CSP par défaut, qui peut être remplacée par des fichiers XML.
Mises à niveau de la plateforme
Les mises à niveau suivantes de la plateforme permettent d’améliorer la sécurité et les performances du site web. Les versions prises en charge de PHP et PHPUnit, Elasticsearch, MySQL et d’autres dépendances sont répertoriées dans la configuration requise pour la pile de technologies.
-
Prise en charge de PHP 7.4 introduite et de PHP 7.1 et 7.2 obsolète. 2.4.0 introduit la prise en charge de PHP 7.4.
-
Prise en charge de PHPUnit 9.x et abandon de PHPUnit 6.5. PHP 7.4 nécessite l’utilisation de la dernière structure de test PHPUnit, qui est PHPUnit 9.x. Les fournisseurs d’extensions Commerce Marketplace doivent confirmer que toutes les nouvelles versions d’extension sont compatibles avec PHP 7.4 et que tous les tests d’unité et d’intégration ont été configurés pour être exécutés avec PHPUnit 9.
-
Prise en charge d’Elasticsearch 7.6.x. Elasticsearch 7.6.x est désormais le moteur de recherche de catalogue par défaut pour Adobe Commerce et Adobe Commerce. Vous ne pouvez pas installer ni mettre à niveau vers la version 2.4.0 sans installer également Elasticsearch 7.6.x. Le code de la version 2.x de l’Elasticsearch a été supprimé. Les versions 5.x et 6.x des Elasticsearch ont été abandonnées et ne sont plus prises en charge. Voir Conditions préalables pour le moteur de recherche.
-
Prise en charge de MySQL 8.0. La version 2.4.x prend en charge MySQL 8.x. (La version 2.4.0 a été testée avec MySQL 8.0.20.) Les commerçants sont encouragés à migrer leurs déploiements vers MySQL 8.x afin de tirer parti de ses performances, sécurité et fiabilité améliorées. Bien que MySQL 5.7 soit toujours pris en charge pour Magento 2.4.x, MySQL 5.6 ne l’est plus. Vous ne pouvez pas héberger la version 2.4.x avec une base de données MySQL 5.6. Voir MySQL.
-
Suppression du moteur de recherche de catalogue MySQL. Le moteur de recherche MySQL a été supprimé de la version 2.4.0 et remplacé en tant que moteur de recherche par défaut par Elasticsearch. Elasticsearch offre des fonctionnalités de recherche supérieures ainsi que des optimisations des performances du catalogue. Tous les commerçants doivent disposer d’un Elasticsearch pour installer et déployer la version 2.4.0. Voir Vérifiez que l’Elasticsearch est installé.
-
Prise en charge de MariaDB 10.4. La prise en charge de MySQL 8.0 permet aux commerçants de déployer MariaDB 10.4 avec Magento Open Source. Bien que les commerçants puissent encore utiliser MariaDB 10.2 avec la version 2.4.0, nous vous recommandons de passer à MariaDB 10.4 pour améliorer les performances et la fiabilité. MariaDB 10.0 et 10.1 ne sont plus prises en charge (en raison de la suppression de la prise en charge de MySQL 5.6 dans cette version).
-
Migration des dépendances sur Zend Framework vers le projet Laminas pour refléter la transition de Zend Framework vers le projet Laminas de la Fondation Linux. Zend Framework est obsolète. Voir la publication DevBlog Migration de Zend Framework vers le projet Laminas .
-
La décomposition des contrôleurs permet aux développeurs d’extensions de mettre en oeuvre ActionInterface directement sans classes "supertype de couche". Voir la publication Décomposition des contrôleurs DevBlog . Amélioration lancée par Vinai Kopp dans la requête de tirage 16268 et finalisée par Lukasz Bajsarowicz dans la requête de tirage 26778. GitHub-9582
-
Suppression de l’intégration principale du code de protection de fraude Signifyd. Cette fonctionnalité principale n’est plus prise en charge. Les commerçants doivent migrer vers l’extension Signifyd Fraud & Chargeback Protection disponible sur le Commerce Marketplace.
-
Le module de Braintree principal a été supprimé de la base de code. Le module Paiements du Braintree fournit désormais le même ensemble de fonctionnalités. Voir Paiements de Braintree.
-
Le navigateur Internet Explorer 11.x n’est plus pris en charge.
Améliorations des infrastructures
Cette version contient des améliorations de la qualité de base, qui améliorent la qualité du framework et ces modules : compte client, catalogue, CMS, importation, panier et passage en caisse, et B2B.
-
Suppression de l’intégration principale des méthodes de paiement tierces. Avec cette version, l’intégration du mode de paiement Authorize.Net a été supprimée du code principal. Les commerçants doivent migrer vers l’extension officielle disponible sur le Commerce Marketplace. Voir l’article de devblog Abandon des intégrations de paiement .
-
Prise en charge de la recherche de mots partiels pour Elasticsearch (nouveau moteur de recherche par défaut). Elasticsearch prend désormais en charge l’utilisation de mots partiels dans les termes de recherche pour les noms de produits et les SKU lors de l’utilisation de la recherche rapide. Cette fonctionnalité a été prise en charge par le moteur de recherche MySQL, qui a été abandonné et remplacé par Elasticsearch dans cette version.
-
Mise à niveau du SDK PayPal JavaScript. Nous avons migré l’intégration du paiement express PayPal vers le dernier SDK JavaScript PayPal, un SDK qui collecte et transmet automatiquement les paramètres de risque nécessaires à PayPal. Le comportement du mode de paiement PayPal Express Checkout reste inchangé. Cependant, la mise à niveau de ce SDK vers la dernière version permet aux commerçants d’accéder aux dernières fonctionnalités et améliorations de sécurité.
-
Abandon et suppression de l’assistant de configuration web. Vous devez utiliser la ligne de commande pour installer ou mettre à niveau la version 2.4.0. Voir Installation du Magento.
-
Module externe de mise à jour du compositeur. Le module externe Composer simplifie le processus de mise à niveau en résolvant les modifications qui doivent être apportées au fichier racine du projet
composer.json
avant la mise à jour vers une nouvelle version. Ce plug-in protège contre le remplacement des personnalisations. Voir Mise à niveau à l’aide du module externe racine du compositeur. -
Achat assisté par le vendeur. Cette fonctionnalité permet aux marchands de voir le storefront pour le compte de leurs clients. Les clients choisissent d’autoriser le storefront à accéder à leurs comptes. Cette fonctionnalité développée par la communauté comprend une extension d’origine développée par MAGEFAN. Voir Seller Assisted Shopping. Les fonctionnalités incluent :
- Liste de contrôle d’accès pour contrôler quels administrateurs peuvent se connecter aux comptes clients sur une base de site web
- Compatibilité avec plusieurs sites web et portées de compte client
- Les commandes passées pour le compte des clients sont enregistrées dans le storefront et dans l’administrateur.
- Toutes les sessions sont détruites suite à la déconnexion de l’administrateur et les administrateurs ne peuvent pas accéder aux mots de passe des clients.
Amélioration des performances
-
Améliorations de la logique d’invalidation de la section de données client. Cette version introduit une nouvelle méthode d’invalidation de toutes les données des sections client, qui permet d’éviter un problème connu avec le stockage local lorsque des invalidations
sections.xml
personnalisées sont actives. (Auparavant, le contenu privé (stockage local) n’était pas correctement renseigné lorsque vous aviez un etc/frontend/sections.xml personnalisé avec des invalidations d’action.) Voir Contenu privé. -
Optimisations multiples pour redéfinir les performances. Les améliorations ont permis de réduire le nombre de requêtes envoyées à Redis qui sont effectuées sur chaque requête. Ces optimisations incluent :
-
Diminution de la taille des transferts de données réseau entre Redis et Magento
-
Réduction de la consommation des cycles du processeur par Redis en améliorant la capacité de l’adaptateur à déterminer automatiquement ce qui doit être chargé.
-
Réduction des conditions de concurrence sur les opérations d’écriture Redis
Voir Utiliser des Redis pour la page et le cache par défaut et Configurer la mise en cache.
-
-
Amélioration de la mise en cache des résultats des requêtes SQL dans les tables d’inventaire. Ces améliorations incluent :
-
Mise en cache des requêtes SQL vers la table
inventory_stock_sales_channel
(1 requête au lieu de 16) -
Mise en cache des résultats des requêtes dans la table
inventory_stock
(1 requête au lieu de 16)
-
-
Amélioration de 25 à 30 % des performances du module complémentaire de panier de commande rapide.
-
Les vendeurs peuvent désormais utiliser le chargement différé pour charger les images.
Intégration Adobe Stock v2.0
Possibilité d’obtenir une licence pour les aperçus d’images de stock à partir de la galerie de médias. Les vendeurs peuvent désormais trouver n’importe quelle image d’aperçu Adobe Stock dans la galerie de médias, ce qui réduit le nombre d’étapes requises pour obtenir une licence de l’image d’aperçu du stock.
New Media Gallery
Ce remplacement de l’ancienne galerie de médias offre une nouvelle interface pouvant faire l’objet de recherches pour les ressources multimédia. Les administrateurs peuvent désormais rechercher, filtrer et trier les images jusqu’à 30 fois plus rapidement qu’avec la version précédente de cette fonctionnalité. Les vendeurs peuvent utiliser cet outil pour évaluer l’utilisation des images du storefront. Les développeurs d’extensions doivent savoir que les extensions développées pour la galerie de médias ne fonctionneront pas comme prévu avec la nouvelle galerie de médias.
Inventory management
Les améliorations apportées à Inventory management dans cette version incluent la prise en charge de la récupération en magasin et de la prise en charge des produits par lots. Voir les notes de mise à jour d’Inventory management pour une discussion plus détaillée sur les correctifs de bogues Inventory management récents.
GraphQL
Les améliorations de GraphQL sont les suivantes :
- La requête
pickupLocations
prend en charge la fonction de récupération en magasin du stock - La requête
categories
renvoie une liste de catégories correspondant à un filtre spécifié. Cette requête diffère de la requêtecategoryList
dans la mesure où elle prend en charge la pagination. - La mutation
reorderItems
permet à un utilisateur connecté d’ajouter dans son panier tous les produits d’une commande précédente.
Consultez le Guide du développeur de GraphQL pour plus d’informations à ce sujet et sur d’autres améliorations. Voir les notes de mise à jour pour une discussion détaillée sur les correctifs de bogues récents de GraphQL.
PWA Studio
Voir compatibilité pour obtenir la liste des versions de PWA Studio et de leurs versions compatibles. Pour plus d’informations sur les améliorations et les correctifs, voir Versions de PWA Studio.
Structure de test fonctionnel (MFTF)
MFTF v3.0.0 comprend ces nouvelles fonctionnalités et prend en charge PHP 7.4 et PHPUnit 9 :
- Les assistants MFTF, qui peuvent créer des actions personnalisées en dehors de la structure de test
- mises à jour des schémas pour les entités de test
- sous-dossiers dans les modules de test
- syntaxe d’assertion imbriquée
- vérification statique qui vérifie et signale les références aux entités de test obsolètes
Cette version supprime également les actions obsolètes et met à niveau les scripts qui ont été ajoutés pour mettre à niveau les tests vers les exigences de version MFTF majeures.
Améliorations des extensions développées par le fournisseur
Cette version de inclut des extensions développées par des fournisseurs tiers. Il introduit à la fois des améliorations de qualité et d’expérience utilisateur à ces extensions et une extension de la couverture MFTF.
Les fournisseurs d’extensions Commerce Marketplace doivent confirmer que leurs extensions sont compatibles avec PHP 7.4 lors de la publication d’une nouvelle version de leur extension pour la version 2.4.0.
Amazon Pay
Cette version comprend les éléments suivants :
- Mises à jour des listes autorisées CSP
- Possibilité d’effectuer plusieurs autorisations pour un ordre de plusieurs éléments
- Prise en charge des adresses japonaises
Paiements Braintree
Cette extension remplace notre intégration de Braintree principal. Il fournit les mêmes fonctionnalités que l’intégration principale de Braintree. Voir Paiements de Braintree.
Klarna
Cette version comprend de nouvelles options de messagerie sur site pour aider les acheteurs à comprendre les options de crédit et de financement disponibles. Elle comprend également des améliorations apportées aux éléments suivants :
- remboursements
- Efficacité des API
- cookies et tests unitaires
- remises
- Les paramètres de configuration contiennent désormais une section Messagerie sur site pour le contrôle de l’affichage de la vitrine des messages promotionnels Klarna.
Vertex
Cette version de Vertex comprend les nouvelles fonctionnalités et améliorations suivantes :
- Améliorations de l’expérience utilisateur de la configuration d’administration
- Remplacement des scripts d'installation et de mise à niveau par des fichiers de schéma XML et des correctifs
- Suppression du code obsolète (
ApiClient
etClientInterface
)
Yotpo
Les évaluations et les révisions de Yotpo sont intégrées au créateur de pages.
Problèmes résolus
Nous avons corrigé des centaines de problèmes dans le code principal 2.4.0.
Installation, mise à niveau, déploiement
- Vous pouvez désormais supprimer un site web avec les paramètres de configuration spécifiques à la portée du site web dans
app/etc/config.php
comme prévu. Auparavant, lorsque vous tentiez de supprimer le site web, l’opération échouait et l’application affichait cette erreur :The website with code xxx that was requested wasn't found. Verify the website and try again
. En outre, l’application a affiché cette erreur sur le storefront :Config files have changed. Run app:config:import or setup:upgrade command to synchronize configuration
. GitHub-24061
- Les paramètres de configuration désactivés dans
index.php
ne sont plus modifiables à partir de l’administrateur.
L’installation du Magento Open Source se termine maintenant correctement et les magasins sont créés comme prévu, lorsque la configuration du magasin est prédéfinie dans config.php
.
\Magento\Store\App\Config\Source\RuntimeConfigSource::getEntities
a été restructuré pour diminuer le nombre de requêtesSHOW TABLE STATUS
qu’il crée. (Cette modification rétablit le comportement de cette fonction affiché dans la version 2.3.3.)
- Les scripts de données ne sont plus exécutés lorsque vous tentez de mettre à niveau la base de données en exécutant
bin/magento setup:upgrade
. Auparavant, les scripts de mise à niveau étaient réexécutés inutilement, ce qui affectait les performances. GitHub-19469
-
L’application affiche désormais les comportements suivants lorsque votre connexion à Redis est interrompue. Auparavant, l’application ne rechargeait pas la page active et affichait cette erreur :
An error has happened during application run. See exception log for details
.- Les sessions d’administration et de storefront expirent
- Les administrateurs et les utilisateurs de storefront doivent se reconnecter.
- Les données de session sont enregistrées dans
var/session/
- Aucune erreur ou exception n’est consignée.
- La commande
bin/magento setup:di:compile
n’échoue plus avec les classes anonymes. Correctif soumis par Yevhen Sentiabov dans la demande d’extraction 26533. GitHub-26532, GitHub-21555
- Les problèmes liés à la compilation LESS dans le thème Luma du Magento lors de l’utilisation d’un autre compilateur LESS que celui fourni avec l’application par défaut ont été résolus. Correctif soumis par Pieter Hoste dans la demande d’extraction 24003. GitHub-23619
- Vous n’avez plus besoin d’avoir un fichier
env.php
modifiable lors du passage en mode de maintenance. À la place, l’application définit les en-têtesno-cache
pour toutes les requêtes frontales en mode de maintenance (Cache-Control
). Auparavant, vous ne pouviez pas activer le mode de maintenance lorsqueenv.php
était en lecture seule et l’application tentait de désactiver le FPC lors du passage en mode de maintenance. Correctif soumis par Marco K̦ pcke dans la demande d'extraction 25790. GitHub-24229
db-ssl-verify
ne génère plus d’erreur d’index non définie lors d’une configuration deddev
. Correctif soumis par Daniel Ruf dans la demande d’extraction 26763. GitHub-26762
- Les dépendances du compositeur ont été mises à jour afin de mettre en oeuvre l’expiration de la clé Redis, ce qui a amélioré les performances de Redis. Correctif soumis par une toxix dans la demande d’extraction 25488. GitHub-25487
Intégration Adobe Stock
- Des styles CSS ont été ajoutés à l’affichage de l’image Adobe Stock pour prendre en charge la mise en surbrillance de l’image sélectionnée. Correctif soumis par Serhiy Zhovnir dans la demande d’extraction 25864. GitHub-761
- La navigation par le biais des images d’aperçu Adobe Stock n’est plus déclenchée par le déplacement du curseur du champ de saisie à l’aide des touches fléchées. Correctif soumis par Adarsh Manickam dans la demande d'extraction 27138. GitHub-973
- L’application met désormais en cache les messages d’erreur qui se produisent lorsqu’un client tente d’appliquer un filtre aux images Adobe Stock. Correctif soumis par Shankar Konar dans la demande d'extraction 26502. GitHub-863
- L’application n’enregistre plus l’aperçu d’une image Adobe Stock lorsque vous déplacez le curseur vers la barre de défilement verticale gauche de la fenêtre après avoir cliqué sur Enregistrer l’aperçu mais sans confirmer l’opération d’enregistrement. Correctif soumis par Serhiy Zhovnir dans la demande d’extraction 27399. GitHub-1002
Serveur principal
- Les modèles de courrier électronique (Admin > Marketing > Communications > Modèles de courrier électronique) peuvent désormais être prévisualisés à partir de l’administrateur lorsque la minification JavaScript est activée. Auparavant, lorsque vous tentiez de prévisualiser un modèle d’email, la fenêtre contextuelle Aperçu d’un email était vide. GitHub-25068
- Les administrateurs peuvent désormais se connecter à l’administrateur comme prévu après la création d’un compte administrateur disposant de privilèges limités. Auparavant, l’administrateur n’était pas accessible. Les utilisateurs disposant de ces autorisations étaient redirigés vers le storefront avec une erreur 404. Correctif soumis par Eden Duong dans la demande d'extraction 25909. GitHub-25881
- L’application ne duplique plus les données d’optimisation pour les moteurs de recherche telles que la clé d’URL, le méta-titre, les méta-mots-clés et la méta-description lorsque vous dupliquez un produit. Correctif soumis par le modèle Dasharth dans la demande d’extraction 26659. GitHub-26054
- L’application ne renvoie plus d’erreur lorsque vous supprimez une image d’une page lors de sa création à partir de Admin > Contenu > Pages > Ajouter une nouvelle page. Auparavant, l’application renvoyait cette erreur dans la console du développeur :
500 (Internal Server Error)
. Correctif soumis par Eden Duong dans la demande d'extraction 25924. GitHub-25893
Lot de produits
- Les performances de l’opération de réindexation
catalog_product_price
pour les produits de lot ont été améliorées.
- Les administrateurs ne peuvent plus entrer manuellement une classe de taxe dans l’Admin d’un produit en bundle lorsque les paramètres Tax Class et Dynamic Price du bundle sont désactivés pour la vue de magasin par défaut. Auparavant, lorsqu’un administrateur décochait l’option Utiliser la valeur par défaut en regard de Classe fiscale, l’application activait l’option, ce qui permettait à un administrateur de saisir une autre valeur et d’enregistrer le produit.
- Les prix des produits groupés sont désormais correctement calculés sur les pages de produits.
- Vous pouvez désormais ajouter un nombre illimité de produits groupés à votre panier sans erreur. Auparavant, lorsque vous ajoutiez un produit groupé à votre panier, puis que vous accédiez au panier, l’application affichait cette erreur :
Please correct the quantity for some products
.
Cache
- Le schéma
cache.xsd
deMagento\Framework\Cache
a été restructuré de sorte qu’un type de cache sans attributinstance
ne provoque plus d’exceptions lorsque vous désactivez un module par le biais de la gestion du cache d’administration. Auparavant, lorsque vous créiez un type de cache à l’aide decache.xml
sans l’argumentinstance
, l’application envoyait une exception lorsque vous tentiez de le désactiver. Correctif soumis par Andrii Beziazychnyi dans la demande d'extraction 27307. GitHub-26224
health_check.php
n’échoue plus si un moteur de cache de base de données est configuré dans votre déploiement. Correctif soumis par Andrii Beziazychnyi dans la demande d'extraction 25722. GitHub-25669
Panier et passage en caisse
- L’application ne renvoie plus d’erreur lors de l’extraction lorsque le paramètre de configuration Synchroniser avec le serveur principal est activé. GitHub-23833
- Les boutons radio des méthodes d’expédition sont désormais activés comme prévu dans le workflow de passage en caisse.
- La page de révision des commandes du workflow de passage en caisse se charge désormais correctement pour une commande envoyée à plusieurs adresses lorsque les conditions générales avec le paramètre Appliqué manuellement sont activées. Auparavant, la page Révision n’était pas validée et l’application affichait une erreur 404.
- L’application affiche désormais l’icône de rotation lorsque les prix sont mis à jour sur le panier.
- L’application affiche désormais un message informatif lorsqu’un produit du mini panier est en rupture de stock avant le passage en caisse. Une fois que vous avez supprimé l’article en rupture de stock, l’application affiche le bouton Passez en caisse . Auparavant, l’application n’affichait pas ce bouton.
- L’application affiche désormais un message d’erreur informatif lorsque vous essayez d’ajouter un produit en cliquant sur Commander par SKU lorsque le fichier à charger est corrompu. Auparavant, l’application affichait une page vierge.
- L’application applique désormais les règles de prix de panier uniquement aux produits enfants de produit groupé qui correspondent aux critères de règle. Auparavant, l’application appliquait la règle de prix du panier à tous les produits enfants appartenant au produit du lot.
StorefrontMiniCartSection
a été remplacé parStorefrontMinicartSection
dans les tests MFTF. Correctif soumis par Andrii Kalinich dans la demande d'extraction 27955. GitHub-27897
- Les références codées en dur au composant de sélecteur de pays sur le formulaire d’adresse de livraison ont été supprimées. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 25541. GitHub-22416
- L’application ne souligne plus l’icône Supprimer dans le panier lorsque le curseur survole l’icône lors de l’affichage de la vitrine dans Internet Explorer. Correctif soumis par divyajyothi5321 dans la demande d'extraction 26173. GitHub-26164
- Le changement de la rue de facturation ne modifie plus l’adresse de livraison d’un client lorsqu’une seule adresse a été sélectionnée pour les adresses de facturation et de livraison. Correctif soumis par Yurii Tvardyi dans la demande d'extraction 26279. GitHub-26276
- La région de promotion du mini-panier est désormais rendue comme prévu. Correctif soumis par Matti Vapa dans la demande d’extraction 25375. GitHub-25373
Règle de prix du panier
- Les règles de prix du panier basées sur des méthodes de paiement sont désormais appliquées pendant le workflow de passage en caisse. GitHub-24206
- Correction du comportement de l’élément de page du sélecteur de date sur Admin > Marketing > Promotions > Règle de prix du catalogue. Correctif soumis par Hitesh dans la demande d'extraction 26290. GitHub-26289
StorefrontMiniCartSection
a été remplacé parStorefrontMinicartSection
dans les tests MFTF. Correctif soumis par Andrii Kalinich dans la demande d'extraction 27955. GitHub-27897
- La grille de coupon inutilisée dans le workflow de création de règles de prix de panier a été désactivée. Correctif soumis par Eden Duong dans la demande d'extraction 24471. GitHub-24468
- Le changement de la rue de facturation ne modifie plus l’adresse de livraison d’un client lorsqu’une seule adresse a été sélectionnée pour les adresses de facturation et de livraison. Correctif soumis par Yurii Tvardyi dans la demande d'extraction 26279. GitHub-26276
Catalogue
- L’application ne renvoie plus d’erreur lorsque vous modifiez le nom d’un produit intermédiaire inclus dans une mise à jour planifiée. Auparavant, lorsque vous tentiez d’enregistrer le produit sous un nouveau nom, l’application affichait cette erreur :
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '3-0-0-2.0000-0' for key 'UNQ_EBC6A54F44DFA66FA9024CAD97FED6C7', query was: INSERT INTO catalog_product_entity_tier_price (all_groups, customer_group_id, qty, value, website_id, percentage_value, row_id) VALUES (?, ?, ?, ?, ?, ?, ?)
- Les valeurs d’attribut personnalisées peuvent désormais être enregistrées comme prévu depuis l’administrateur.
- La fonction Afficher les produits récemment affiche désormais les produits associés uniquement à la vue de magasin actuelle dans les déploiements multi-magasins lorsque Magasins > Configurations > Catalogue > Produits récemment consultés/comparés > Afficher pour actuel est défini sur vue de magasin. Auparavant, l’application affichait les produits récemment consultés de tous les sites web, quel que soit le site web auquel le produit était affecté.
- L’application affiche désormais les images du produit dans le mini panier sans distorsion. Auparavant, l’application étirait l’image dans le mini panier pour remplir l’intégralité de la largeur et de la hauteur du conteneur d’images.
- La fonction
getBasePrice
renvoie désormais une valeur en virgule flottante, comme prévu, plutôt qu’une chaîne.
- La fonction de comparaison des produits fonctionne désormais comme prévu. Elle affiche désormais uniquement les produits figurant dans la liste de comparaison de l’utilisateur actuel.
- Vous pouvez désormais attribuer un filigrane par défaut à un thème. Auparavant, après avoir attribué le filigrane, l’application entraînait une erreur fatale.
- Vous pouvez désormais éditer un produit configurable avec de nombreuses variantes (environ 5 000) depuis l’administrateur. Auparavant, lorsque vous tentiez de modifier un produit configurable avec de nombreux sous-produits, l’application affichait cette erreur :
Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : CData section too big found in /vendor/magento/framework/View/TemplateEngine/Xhtml/Template.php on line 60
- Le tri sur les ensembles d’attributs sur Admin > Catalogue > Produits est désormais basé sur l’ordre alphabétique comme prévu.
- La fonction Produits récemment consultés fonctionne désormais comme prévu dans les déploiements multi-magasins.
- La case à cocher Produit sur les sites web de la nouvelle page de produit est désormais activée par défaut pour les administrateurs à accès limité dans les déploiements de sites multiples. Auparavant, la case à cocher du site web autre que celui par défaut n’était pas présélectionnée et si l’administrateur laissait la case désélectionnée, l’application affichait un message d’erreur.
- Les événements
addToCart
sont désormais suivis comme prévu dans la couche de données. Auparavant, après avoir modifié les options configurables d’un produit, puis cliqué sur Ajouter au panier, le nouvel événementaddToCart
n’était pas ajouté à la couche de données.
- Le mini panier et le panier d’achat Admin (Admin > Clients > Gérer le panier d’achat) affichent désormais les prix corrects lorsqu’une règle de prix catalogue est appliquée. Auparavant, le panier de la vitrine affichait le prix correct du produit, mais le mini panier et le panier d’administration affichaient le prix d’origine du produit.
- Le filtrage sur la colonne Admin grille de produit du site web fonctionne désormais comme prévu. Auparavant, les résultats du filtre n’affichaient pas le nombre correct de produits, mais affichaient systématiquement le nombre total de produits sous la forme 1.
- La condition de prix utilise
catalog_product_entity_decimal
pour filtrer par prix. Cependant, cette table ne contient aucun enregistrement pour les produits configurables, dynamiques et groupés, car ces produits n'ont pas de prix fixe. La table correcte à utiliser pour le filtrage par prix estcatalog_product_index_price
.
- Le catalogue d’administration et les listes de produits affichent désormais des symboles de devise dans les colonnes MSRP, Coût et Prix spécial. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27261. GitHub-21910, GitHub-20906, GitHub-20472
- La fenêtre contextuelle Ajouter au prix du groupe client (Admin > Catalogue > Produits > Nouveau produit > Tarifs avancés) se ferme désormais comme prévu lorsque vous cliquez sur l’icône de fermeture. Correctif soumis par Ashna-Jahan dans la demande d'extraction 25759. GitHub-25433
- L’exemple de description fourni pour la description et le titre d’un nouveau produit ne contient plus de guillemets doubles. Correctif soumis par Nathan Morgan dans la demande d'extraction 25655. GitHub-25654
- L’application ne renvoie plus d’erreur lorsque vous tentez de filtrer les produits de la page Catégorie à l’aide d’un prix non valide. Auparavant, l’application consignait cette erreur dans le journal système. Correctif soumis par Ihor Sviziev dans la demande d'extraction 25912. GitHub-25911
- Vous pouvez désormais naviguer dans les résultats de recherche de catégorie multi-pages. Auparavant, l’application créait des pages de résultats de recherche en double lorsque vous tentiez d’utiliser le bouton Précédent pour revenir à la première page des résultats. Correctif soumis par Douglas Radburn dans la demande d'extraction 25337. GitHub-14971
- Correction du type de retour sur
string|null
pour la méthodegetSourceModel
dans la classeEav\Attribute.php
. Correctif soumis par Mychailo dans la demande d'extraction 2533. GitHub-25278
- L’enregistrement d’un nouveau produit (dupliqué) n’entraîne plus la duplication des images du produit plusieurs centaines de fois. Correctif soumis par Jeroen dans la demande d’extraction 25875. GitHub-9466
- L’application ne renvoie plus d’erreur JavaScript lorsque vous supprimez un produit avec une option personnalisée de type
file
lors de la création d’une commande de la part de l’administrateur. Correctif soumis par adrian-martinez-interactive4 dans la requête de tirage 24843. GitHub-24842
- Si vous créez un produit sans image en utilisant
product_page_image_large
dans votre mise en page, une image d’espace réservé s’affiche comme prévu. Auparavant, l’application générait cette erreur :Fatal error: PHP Fatal error: Uncaught TypeError: Argument 1 passed to Magento\Catalog\Block\Product\ImageFactory::getRatio() must be of the type integer, null given
. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26974. GitHub-26973
- Vous pouvez utiliser le point d’entrée
POST /V1/:sku/links
pour définir des liens de produit avec un tableau vide de produits lorsque le produit comporte des liens existants. Auparavant, l’application entraînait une erreur. Correctif soumis par Sathish Subramanian dans la demande d'extraction 26979. GitHub-26800
- Vous pouvez désormais utiliser le menu déroulant Actions de la grille Produits pour indiquer si un produit a un poids lorsque vous mettez à jour plusieurs attributs de produits depuis l’administrateur. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26075. GitHub-6310
- La logique de validation a été ajoutée aux champs Produits par page sur les valeurs autorisées de la grille et Produits par page sur la valeur par défaut de la grille de la page de configuration du magasin. Auparavant, les administrateurs de magasin pouvaient saisir des valeurs indisponibles dans ces champs. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 27093. GitHub-27089_
Widget de catalogue
- La liste de produits
CatalogWidget
fonctionne désormais comme prévu avec les catégories d’ancres, et les produits des catégories d’ancres correspondent et s’affichent désormais. Auparavant, lorsque vous sélectionniez une catégorie parente qui était une ancre, mais qui ne contenait pas de produits attribués, les produits n’étaient pas visibles dans le widget.
- L’application affiche désormais tous les enfants d’une catégorie parente sélectionnée comme prévu. Auparavant, si vous sélectionniez une catégorie parente qui était une ancre, mais qui ne contenait pas de produits attribués, l’application n’affichait pas tous les produits imbriqués.
- Le widget Produits récemment consultés fonctionne désormais correctement lorsque Magasins > Configuration > Catalogue > Catalogue > Récemment consultés/Comparés > Synchroniser les produits de widget avec stockage principal est défini sur Oui.
Nettoyage
- Suppression d’une balise de fermeture supplémentaire du code XML du module. Correctif soumis par Tejash Kumbhare dans la demande d'extraction 26339. GitHub-26338
- Correction d’un mauvais alignement de Mon adresse de facturation et de livraison est la même dans la section de la page Révision et paiements du workflow de passage en caisse. Correctif soumis par divyajyothi5321 dans la demande d'extraction 26169. GitHub-26168
- Suppression de l’espace blanc superflu entre les libellés de champ et les astérisques dans la section Adresse d’expédition du workflow de passage en caisse. Correctif soumis par Daniel Ruf dans la demande d’extraction 26285. GitHub-26275
- Correction d’un désalignement des boutons radio dans la section Méthodes d’expédition du workflow de passage en caisse. Correctif soumis par Hitesh dans la demande d'extraction 25966. GitHub-25962
- Correction de l’espacement incohérent des menus dans la vue mobile. Correctif soumis par Hitesh dans la demande d'extraction 26238. GitHub-26235
- Correction du désalignement des icônes Modifier et Supprimer du mini panier dans la vue mobile. Correctif soumis par Vasilii Burlacu dans la demande d'extraction 27493. GitHub-26652
- Correction d’un désalignement de la plage de codes postaux du taux de taxe et de la case à cocher sur la page Ajouter un nouveau taux de taxe/code postal (Admin > Magasin > Taxes > Zones et taux de taxe). Correctif soumis par Sathish Subramanian dans la demande d’extraction 26932. GitHub-26917
- Le lien de l’assistant de configuration vers l’administrateur fonctionne désormais comme prévu. Correctif soumis par Oleh Usik dans la demande d'extraction 26100. GitHub-24990
- Le tri a été désactivé dans la colonne d’état de la grille Gestion du cache dans l’Admin. Correctif soumis par Sathish Subramanian dans la demande d'extraction 26215. GitHub-26208
- Correction d’un mauvais alignement des éléments de page sur la boîte de dialogue Admin > Magasins > Attributs > Évaluations > Ajouter de nouvelles évaluations. Correctif soumis par Sathish Subramanian dans la demande d'extraction 27014. GitHub-26992
- Correction du décalage de l’icône du calendrier sur la page Ajouter un changement de conception . Correctif soumis par Eduard Chitoraga dans la demande d'extraction 26063. GitHub-20379
- Suppression de l’espace superflu dans le sous-menu de l’affichage dans le menu de survol de la page d’accueil. Correctif soumis par Hitesh dans la demande d'extraction 25973. GitHub-25972
- Correction du désalignement des étiquettes de prix sur la page des détails du produit storefront. Correctif soumis par divyajyothi5321 dans la demande d'extraction 26237. GitHub-25936
- Correction d’un mauvais alignement du texte en rupture de stock par rapport au bouton Ajouter au panier sur la page de liste de produits en mode mobile. Correctif soumis par divyajyothi5321 dans la demande d'extraction 26183. GitHub-26181
- Le message de réussite de l’intégration affiché sur Admin > Système > Extensions > Intégrations s’affiche désormais correctement. Correctif soumis par divyajyothi5321 dans la demande d’extraction 26011. GitHub-25930
Contenu CMS
- Vous pouvez désormais enregistrer et dupliquer toutes les pages CMS. Auparavant, l’application renvoyait cette exception lorsque vous tentiez de dupliquer certaines pages :
Unique constraint violation found
.
- L’application permet désormais de créer des blocs CMS portant des noms identiques si les blocs sont attribués à des vues de magasin différentes.
- Les miniatures d’image de la galerie sont désormais mises en cache comme prévu. Auparavant, ces images étaient redimensionnées à la volée.
- L’application ne renvoie plus d’erreur lorsque vous enregistrez une page CMS qui a été affectée à plusieurs magasins. Auparavant, lorsque vous créiez ou modifiez une page CMS, l’application enregistrait la page, mais envoyait également cette erreur :
Item (Magento\VersionsCms\Model\Hierarchy\Node) with the same ID "PAGE_ID" already exists
.
- De nouvelles pages CMS sont désormais ajoutées comme prévu à la hiérarchie des pages de magasin d’un site web.
- La logique de mise à jour de la mise en page personnalisée de la page CMS a été améliorée. L’application applique désormais des modifications de mise en page spécifiques à partir de
cms_page_view_selectable_home_somechanges.xml
. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27131. GitHub-26758
Produits configurables
- Les produits enfants d’un produit configurable peuvent désormais être désactivés avec succès via l’API.
- Les règles de prix du panier avec une condition définie comme Catégorie (parent uniquement) fonctionnent désormais de manière cohérente comme prévu.
- Vous pouvez maintenant ajouter un produit configurable au panier à partir de l’onglet Ventes croisées . Lorsque vous sélectionnez un produit et cliquez sur Ajouter au panier dans cet onglet, vous accédez maintenant à la page des détails du produit, où vous pouvez sélectionner des options de produit spécifiques. Auparavant, l’application vous redirigeait vers une page d’erreur 404.
- L’application ne lie plus un produit simple à un produit configurable lorsque l’appel API pour lier ces produits échoue.
- Correction du rendu des SKU dans la liste Variations actuelles pour un produit configurable. Correctif soumis par KaushikChavda dans la demande d’extraction 26007. GitHub-25591
- Vous pouvez désormais enregistrer des informations de configuration
system.xml
en entrant des valeurs dans Admin > Système > Configuration dans les champs qui n’ont pas d’étiquettes associées. Correctif soumis par Andrii Chorniy dans la demande d’extraction 25985. GitHub-23899
- Les performances de
\Magento\ConfigurableProduct\Model\Product\Type\Configurable::isSalable
ont été optimisées. Correctif soumis par Stanislav Ilnytskyi dans la demande d'extraction 26071. GitHub-26065
- La logique responsable de la mise à jour des images de produits configurables a été améliorée. Auparavant, les produits simples associés à un produit configurable affichaient uniquement l’image par défaut associée au produit configurable, et l’application affichait parfois une image principale incorrecte pour le produit. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 26560. GitHub-26473, GitHub-26856, GitHub-26858
- L’application affiche désormais le prix spécial d’un produit, comme prévu, lorsque vous sélectionnez une option de réduction pour un produit configurable. Auparavant,
class="normal-price"
n’était pas remplacé parclass="special-price"
lorsqu’une option de réduction était sélectionnée. Correctif soumis par Ravi Chandra dans la demande d’extraction 26170. GitHub-24972
Cookies
- Les fonctions
setRedirectCookie
etclearRedirectCookie
fonctionnent désormais comme prévu. Auparavant, ces fonctions envoyaient des cookies au navigateur, mais tous les paramètres de cookie manquaient. GitHub-24547
- Des métadonnées ont été ajoutées aux fonctions
setRedirectCookie
etclearRedirectCookie
. Correctif soumis par Alexander Lukyanov dans la demande d'extraction 24612. GitHub-24547
Attributs du client personnalisés
- L’application ne renvoie plus d’erreur lorsque vous incluez un champ d’attribut du client vide dans le champ Forms à utiliser dans lors de la création d’un compte de société sur le storefront. Auparavant, l’application générait cette erreur :
PHP Fatal error: Uncaught TypeError: Argument 2 passed to Magento\Eav\Model\Attribute\Data\Text::validateLength() must be of the type string, null given
.
Client
- Les clients abonnés aux newsletters en tant qu’invités ne sont plus désabonnés après s’être inscrits à un nouveau compte.
- L’application utilise désormais un nouveau
PHPSession
pour chaque changement de mot de passe.
- Vous pouvez désormais créer un client et l’associer à un site web particulier à l’aide du menu déroulant Associer au site web sur Clients > Tous les clients > Ajouter un nouveau client. Auparavant, lorsque vous tentiez d’associer un nouveau client au site web autre que le site par défaut dans un déploiement multi-site, l’application affichait cette erreur :
The store view is not in the associated website
.
- L’application enregistre désormais les informations qu’un client saisit dans les champs de facturation et d’expédition par défaut lors du passage en caisse, lorsque la transaction est initialement refusée en raison d’une carte de crédit non valide, mais que la transaction s’est terminée avec succès. Auparavant, bien que l’application ait créé la commande lorsque le client a saisi des informations de paiement valides, elle n’avait pas mis à jour les adresses de facturation ou de livraison par défaut dans la section Mon compte du workflow de passage en caisse.
- L’application respecte désormais les paramètres du groupe de clients lorsque vous créez un client à partir de l’administrateur dans un déploiement multisite.
- L’application importe désormais correctement les données client à l’aide de l’option Client et adresses (fichier unique) lorsque
cron
est activé et que l’indexeur de grille client est défini sur Mettre à jour par planification. Une fois quecron
s’exécute, les informations client importées sont disponibles dans l’administrateur comme prévu. Auparavant, l’application importait les données du client, mais ne mettait pas à jour la grille du client avec les enregistrements de client nouvellement importés.
- Vous pouvez maintenant créer un client à partir du storefront lorsque la date de naissance est requise. Auparavant, vous ne pouviez pas créer de client lorsque ce champ était obligatoire, même lorsque vous avez saisi des valeurs DOB valides. GitHub-26700
- La création de client à partir de l’administrateur respecte désormais le paramètre de groupe de clients par défaut comme prévu.
- L’élément
PHPSessionId
est désormais modifié comme prévu une fois qu’un client s’est déconnecté, puis s’est reconnecté.
- La vue Admin d’un panier client affiche désormais tous les produits qui ont été ajoutés au panier à partir de plusieurs sites web dans un déploiement multisite. Auparavant, lorsqu’un client ajoutait un produit à son panier à partir d’un site web autre que celui par défaut, le produit ne s’affichait pas dans l’administrateur même si l’option Partager le compte client était définie sur Global.
- L’application affiche désormais uniquement les produits que le client a placés dans son panier lorsque le panier est consulté à partir de l’administrateur. Auparavant, le panier d’un client affichait tous les produits du catalogue lorsqu’il les affichait à partir de l’administrateur. Correctif soumis par Ravinder dans la demande d’extraction 26489. GitHub-26437
- La validation fonctionne désormais comme prévu pour le champ Date de naissance lors de la modification d’un client à partir de l’administrateur. Auparavant, l’application n’avait pas tenu compte des paramètres régionaux de l’utilisateur et, pour certaines dates de naissance, cette erreur s’affichait :
The Date of Birth should not be greater than today
. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27149. GitHub-27027
- Le champ de courrier électronique n’est plus nécessaire lorsque vous passez une commande à partir de l’administrateur. Correctif soumis par solwininfotech dans la demande d’extraction 24479. GitHub-22251
- Le tableau de bord Mon compte affiche désormais correctement les valeurs des adresses électroniques dans la vue mobile. Correctif soumis par Eden Duong dans la demande d'extraction 25942. GitHub-25935
- Cliquer plusieurs fois sur le bouton Créer un compte du formulaire d’enregistrement d’un client n’envoie plus la demande d’enregistrement plusieurs fois. Correctif soumis par princeCB dans la demande d'extraction 26642. GitHub-26590
- Les clients abonnés aux newsletters en tant qu’invités ne sont plus désabonnés après s’être inscrits à un nouveau compte.
- L’application utilise désormais un nouveau
PHPSession
pour chaque changement de mot de passe.
- Vous pouvez désormais créer un client et l’associer à un site web particulier à l’aide du menu déroulant Associer au site web sur Clients > Tous les clients > Ajouter un nouveau client. Auparavant, lorsque vous tentiez d’associer un nouveau client au site web autre que le site par défaut dans un déploiement multi-site, l’application affichait cette erreur :
The store view is not in the associated website
.
- L’application enregistre désormais les informations qu’un client saisit dans les champs de facturation et d’expédition par défaut lors du passage en caisse, lorsque la transaction est initialement refusée en raison d’une carte de crédit non valide, mais que la transaction s’est terminée avec succès. Auparavant, bien que l’application ait créé la commande lorsque le client a saisi des informations de paiement valides, elle n’avait pas mis à jour les adresses de facturation ou de livraison par défaut dans la section Mon compte du workflow de passage en caisse.
- L’application respecte désormais les paramètres du groupe de clients lorsque vous créez un client à partir de l’administrateur dans un déploiement multisite.
- L’application importe désormais correctement les données client à l’aide de l’option Client et adresses (fichier unique) lorsque
cron
est activé et que l’indexeur de grille client est défini sur Mettre à jour par planification. Une fois quecron
s’exécute, les informations client importées sont disponibles dans l’administrateur comme prévu. Auparavant, l’application importait les données du client, mais ne mettait pas à jour la grille du client avec les enregistrements de client nouvellement importés.
- Vous pouvez maintenant créer un client à partir du storefront lorsque la date de naissance est requise. Auparavant, vous ne pouviez pas créer de client lorsque ce champ était obligatoire, même lorsque vous avez saisi des valeurs DOB valides. GitHub-26700
- La création de client à partir de l’administrateur respecte désormais le paramètre de groupe de clients par défaut comme prévu.
- L’élément
PHPSessionId
est désormais modifié comme prévu une fois qu’un client s’est déconnecté, puis s’est reconnecté.
- La vue Admin d’un panier client affiche désormais tous les produits qui ont été ajoutés au panier à partir de plusieurs sites web dans un déploiement multisite. Auparavant, lorsqu’un client ajoutait un produit à son panier à partir d’un site web autre que celui par défaut, le produit ne s’affichait pas dans l’administrateur même si l’option Partager le compte client était définie sur Global.
- La validation fonctionne désormais comme prévu pour le champ Date de naissance lors de la modification d’un client à partir de l’administrateur. Auparavant, l’application n’avait pas tenu compte des paramètres régionaux de l’utilisateur et, pour certaines dates de naissance, cette erreur s’affichait :
The Date of Birth should not be greater than today
. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27149. GitHub-27027
- Le champ de courrier électronique n’est plus nécessaire lorsque vous passez une commande à partir de l’administrateur. Correctif soumis par solwininfotech dans la demande d’extraction 24479. GitHub-22251
- L’application affiche désormais uniquement les produits que le client a placés dans son panier lorsque le panier est consulté à partir de l’administrateur. Auparavant, le panier d’un client affichait tous les produits du catalogue lorsqu’il les affichait à partir de l’administrateur. Correctif soumis par Ravinder dans la demande d’extraction 26489. GitHub-26437
- Le tableau de bord Mon compte affiche désormais correctement les valeurs des adresses électroniques dans la vue mobile. Correctif soumis par Eden Duong dans la demande d'extraction 25942. GitHub-25935
- Cliquer plusieurs fois sur le bouton Créer un compte du formulaire d’enregistrement d’un client n’envoie plus la demande d’enregistrement plusieurs fois. Correctif soumis par princeCB dans la demande d'extraction 26642. GitHub-26590
Répertoire
- Le menu déroulant État par défaut est désormais renseigné par des données basées sur les pays autorisés qui ont été affectés au site web sélectionné lorsque vous configurez une valeur pour le champ Calcul de la destination fiscale par défaut. Auparavant, cette liste déroulante répertorie les pays affectés au site web par défaut.
Téléchargeable
- Vous pouvez désormais utiliser un fichier d’importation pour mettre à jour les produits téléchargeables en bloc par SKU et par description. Auparavant, des erreurs de validation se produisaient et l’importation échouait.
EAV
- L’application respecte désormais les paramètres propres au magasin qui déterminent si le champ du numéro de téléphone du workflow de passage en caisse est requis dans un déploiement multisite. Auparavant, dans les déploiements où un magasin nécessitait ce champ dans le workflow de passage en caisse et où un autre magasin ne l’avait pas renseigné, les clients qui n’ont pas renseigné ce champ lors de l’extraction du magasin qui ne le nécessitait pas rencontraient cette erreur :
Please check the shipping address information. "telephone" is required. Enter and try again
.
- L’ordre de tri des fichiers EAV par
attribute option_id
fonctionne désormais comme prévu. Correctif soumis par Tan Sezer dans la demande d’extraction 24360. GitHub-24357
- Vous pouvez désormais créer un produit après avoir ajouté un nouvel attribut via REST et l’avoir affecté à un ensemble d’attributs à partir de l’administrateur. Auparavant, l’application générait une erreur 500. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27191. GitHub-26827
- Les courriers électroniques d’autorisation envoyés à un client lorsqu’il demande un retour contiennent désormais le statut RMA attendu. Auparavant, ce courrier électronique affichait une chaîne vide au lieu de l’état de retour attendu.
- Les clients ne sont plus redirigés à partir du site web actuel lorsqu’ils signalent un mot de passe oublié dans les déploiements multisites où les comptes clients sont partagés à l’échelle mondiale. Auparavant, les clients étaient redirigés vers le site web sur lequel le compte était créé.
- Les emails de confirmation de commande envoyés aux clients incluent désormais la liste des articles commandés, comme prévu. Auparavant, lorsque vous créez un modèle d’email dans l’administrateur en chargeant et en enregistrant le modèle par défaut, les emails générés à partir de ce modèle n’incluaient pas la liste des éléments commandés. GitHub-26882
Frameworks
- Les dépendances de Zend Framework ont été migrées vers le projet Laminas pour refléter la transition de Zend Framework vers le projet Laminas de la Fondation Linux. Zend Framework est obsolète. Correctif soumis par Ihor Sviziev dans la demande d'extraction 26436. GitHub-26335
- Les paramètres de plage de prix spéciaux (dates de début et de fin) fonctionnent désormais correctement pour les comptes d’administrateur utilisant un paramètre régional néerlandais.
-
php bin/magento cron:run
ne traite plus les éléments de la table du journal des modifications plusieurs fois. Auparavant, lorsque vous aviez plus de 100000 nouvelles versions dans la table du journal des modifications, les actions pouvaient être appelées plusieurs fois pour le mêmeentity id
. -
La commande
php bin/magento setup:cron:run
a maintenant été supprimée. Les références à ce paramètre dans les onglets doivent être supprimées lors de la mise à niveau. -
Le fichier
update/cron.php
a été supprimé dans la version 2.4.0. S’il existe dans votre installation, il peut être supprimé en toute sécurité. Supprimez également les références à ce fichier dans les onglets lors de la mise à niveau.
- L’action Mettre à jour l’attribut met désormais correctement à jour l’horodatage de
updated_at column
d’un produit à partir decatalog_product_entity
lorsque vous mettez à jour le produit à partir de la page Modifier le produit de l’administrateur.
- La définition de
'persistent' => '1'
dansenv.php
ne renvoie plus d'erreur lorsque vous exécutezsetup:upgrade
.
- La Clé de formulaire non valide. Actualisez la chaîne de texte de page sur la page de connexion est maintenant traduite comme prévu.
- Nous avons amélioré les performances de la fonction
Magento\Framework\App\DeploymentConfig\Reader::load
. Auparavant, lorsqu’une demande était envoyée à Magento, cette fonction était appelée de manière répétitive, ce qui entraînait le chargement des fichiersconfig.php
etenv.php config
chaque fois que la méthode était appelée.
- L’application ne télécharge plus de page
blank.html
lorsqu’un administrateur clique sur un produit lors de la création d’une commande à partir de l’administrateur.
- Les blocs non mises en cache ajoutés à la mise en page par défaut dans les instructions de référence pour les composants non existants (non déclarés) de la page n’affectent plus la mise en cache de la page. L’ajout de blocs non pouvant être mis en cache aux gestionnaires de mise en page par défaut rend toutes les pages non mises en cache. Cela résulte du processus de génération de la mise en page : lors de la génération de la mise en page, l’application collecte toutes les poignées de mise en page disponibles pour une page donnée et fusionne les instructions à partir de ces poignées dans la structure de mise en page finale de la page. La poignée de mise en page par défaut est utilisée comme poignée de base pour chaque page. Par conséquent, les mises à jour de mise en page déclarées pour le gestionnaire par défaut apparaissent sur chaque page. GitHub-9041
- Le gestionnaire de verrouillage MySQL est désormais le gestionnaire principal de verrouillage. Par conséquent, la version minimale requise de MySQL est 5.7.9.
queue_consumer.xml
autorise désormais les nombres dans la classehandler
. Auparavant, lorsqu’un gestionnaire contenait un nombre dans son chemin d’accès, la validation XSD échouait. Correctif soumis par Eden Duong dans la demande d'extraction 25952. GitHub-25731
- Une référence
@var
incorrecte dans le blocdoc
de la variable de membre de classe$queueIterator
dans la classe\Magento\Framework\MessageQueue\Topology\Config
a été corrigée. Correctif soumis par Artem Voloznov dans la demande d’extraction 24976. GitHub-24971
- Les écouteurs de chargement de page JavaScript sont désormais déclenchés pour se déclencher lorsqu’un document n’est plus
loading
au lieu d’attendre qu’il soit marqué commecomplete
comme étant en attente jusqu’à ce que le document soit marqué commecomplete
, ce qui peut entraîner de graves délais dans le rendu du contenu JavaScript. Correctif soumis par John Hughes dans la demande d’extraction 23313 et la demande d’extraction 50}. GitHub-22909
- L’application affiche désormais le message informatif suivant lorsque vous essayez d’ajouter un produit à votre liste de souhaits avec une quantité de 0 ou un nombre négatif :
Please enter a valid number in this field
. Auparavant, l’application affichait cette erreur :We can't update your Wish List right now
. Correctif soumis par Pawe Tylek dans la demande d’extraction 25641. GitHub-25032
- L’application ne prend plus en charge l’héritage des classes DTO de la classe
Magento\Framework\Api\AbstractExtensibleObject
. Annotation PHP manquante@api
a été ajouté àAbstractExtensibleModel
et le@deprecated
manquant annotation a été ajoutée àAbstractExtensibleObject
. Correctif soumis par Alexander Taranovsky dans la demande d’extraction 22011. GitHub-22010
- Vous pouvez désormais enregistrer les produits comme prévu après la modification d’une date liée aux produits (par exemple,
news_from_date
,news_to_date
,special_price_from_date
,special_price_to_date
) dans les magasins implémentant des paramètres régionaux autres que l’anglais. Auparavant, l’application renvoyait une erreur similaire à celle-ci :Invalid input datetime format of value '22/5/2019
.
Correctifs généraux
- Le module Client ne dépend plus du module Révision. Auparavant, vous ne pouviez pas désactiver le module de révision en raison de cette dépendance.
- La page de modification du produit se charge désormais correctement lorsque l’ensemble d’attributs par défaut de la page contient un attribut de liste déroulante avec le libellé sélectionné.
- Le graphique des commandes accessible à partir de l’onglet Commandes sur l’Admin reflète désormais précisément la quantité de commandes.
- L’URL d’administration d’un magasin ne redirige plus vers l’URL du storefront lorsque ces deux URL diffèrent.
- La génération de réécriture d’URL pour les sous-catégories fonctionne désormais correctement lors de l’utilisation du profil de la boîte à outils de performance avec plusieurs sites web.
- Vous pouvez désormais supprimer un modèle utilisateur vide sans supprimer le rôle Administrateurs auquel il est affecté.
- L’éditeur TinyMCE4 prend désormais en charge toutes les balises d’HTML.
- Cliquer sur le bouton Rembourser hors ligne dans le processus de création d’une note de crédit génère désormais une note de crédit comme prévu. Auparavant, une erreur JavaScript désactivait ce bouton et la demande ne créait pas d’note de crédit.
- Les vendeurs peuvent désormais créer un attribut de produit de type
Decimal
. Auparavant, en raison d’un correctif de bogue précédent, l’application n’affichait pas le type d’attribut de produitPrice
. GitHub-26949
- L’application ne renvoie plus d’erreur 500 lorsque vous essayez d’ouvrir une page Catégorie sur le storefront lorsque Disposition = Produit - Largeur complète a été défini à partir de l’onglet Conception de la page Catégorie.
- Correction d’un bogue dans
AbstractSimpleObjectBuilder.php
.
- Le MAP (prix minimum annoncé) fonctionne désormais comme prévu pour les produits de groupe.
- L’application vous redirige désormais vers la page d’accueil de la vue de magasin appropriée lorsque vous modifiez la langue sur les pages CMS dans un déploiement multi-magasin. Auparavant, l’application affichait une page 404 lorsque vous changiez de langue sur certaines pages CMS.
- Les requêtes de commande (
SalesOrderIndexGridAsyncInsertCron
) ont été reconfigurées afin de réduire la taille de l’ensemble de données renvoyé et la fréquence des requêtes.
- Vous pouvez désormais créer une page CMS et l’affecter à la catégorie racine du site web dans la hiérarchie CMS.
- Les invités peuvent maintenant afficher un prix de produit ou ajouter un produit au panier lorsque les autorisations de catégorie sont activées (par exemple, lorsque le groupe de clients Non connecté a reçu ces privilèges).
- Les règles de produit s’appliquent désormais aux produits en rupture de stock comme prévu. Auparavant, l’application n’affichait pas les produits en rupture de stock dans la liste des produits associés, même lorsque la règle était configurée pour afficher les produits en rupture de stock.
- Si vous cliquez sur le bouton Suivi de l’expédition pour une commande à partir de l’administrateur, les informations de suivi s’affichent désormais dans une fenêtre contextuelle comme prévu. Auparavant, ce lien dirigeait l’administrateur vers la page Connexion .
- L’application affiche désormais un message d’erreur informatif et continue d’afficher le formulaire d’enregistrement comme prévu si une erreur se produit lorsqu’un client tente de remplir un formulaire d’enregistrement contenant un attribut de client à sélection multiple. Auparavant, l’application affichait une erreur 500.
- La demande affiche désormais le bouton Note de crédit après le remboursement partiel d’une commande. Auparavant, la demande n’affichait pas ce bouton après la création d’un remboursement partiel et vous ne pouviez pas créer d’avoir pour le reste de la commande.
- Les mises à jour des commandes en bloc via REST modifient désormais l’état de la commande comme prévu. Auparavant, l’application générait cette erreur :
report.ERROR: Property "AdditionalInformation" does not have accessor method "setAdditionalInformation" in class "Magento\Sales\Api\Data\OrderPaymentInterface".
- Les filtres d’attributs s’affichent désormais comme prévu dans le bloc Options d’achat de la page Catégorie .
- Les adresses de facturation et de livraison du client s’affichent désormais comme prévu sous l’onglet Adresses de la page Modifier le client d’administration lorsqu’elles sont affichées dans Internet Explorer. Correctif soumis par Vasilii Burlacu dans la demande d'extraction 27383. GitHub-27370
- Toutes les vues de signet restent modifiables lorsque vous en supprimez une. Auparavant, toutes les vues des signets devenaient non modifiables une fois la première vue supprimée pour les comptes avec plusieurs vues de signets. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26263. GitHub-14913
- La navigation par calques n’interrompt plus la validation HTML5 du module d’échantillon. Auparavant, des erreurs de validation d’HTML se produisaient pour les attributs qui n’étaient pas définis dans le service de validation des balises W3C, mais ces attributs ont été modifiés en attributs de données. Correctif soumis par Nirav Patel dans la demande d'extraction 26055. GitHub-22363
- Un alias
require.JS
inutilisé (critical-css-loader
) has been removed from app/code/Magento/Theme/view/frontend/requirejs-config.js
. Correctif soumis par Tu Nguyen dans la demande d'extraction 26987. GitHub-26963
- L’application implémente désormais l’ interface throwablede PHP7.x afin de permettre la capture de toutes les erreurs susceptibles d’exposer des informations sensibles telles que les mots de passe. Correctif soumis par miszyman dans la demande d'extraction 25250. GitHub-23350
- Appuyez sur la touche Échap lorsque vous saisissez le nom d’un nouveau dossier dans la fenêtre contextuelle Créer un dossier ferme désormais la fenêtre contextuelle comme prévu sans créer le dossier. Correctif soumis par Shankar Konar dans la demande d'extraction 25349. GitHub-572
- Correction d’une structure d’HTML imbriquée. Auparavant, cette structure entraînait une mise en page rompue pour la liste des produits associés, de ventes incitatives ou de ventes croisées. Correctif soumis par Pieter Hoste dans la demande d’extraction 27926. GitHub-27920
- Suppression de l’appel dupliqué à
addToolbarBlock
, qui avait entraîné deux conditions similaires dansORDER BY
. Correctif soumis par Vasilii Burlacu dans la demande d'extraction 27263. GitHub-26708
- Les vendeurs peuvent désormais définir une date d’expiration sur les comptes d’utilisateurs administrateurs. Correctif soumis par Laura Folco dans la demande d’extraction 22837. GitHub-22833
- Nous avons ajouté l’annotation
@api
PHP àAbstractExtensibleModel
, l’annotation@deprecated
PHP àAbstractExtensibleObject
et@see
àAbstractExtensibleModel
. Correctif soumis par Alexander Taranovsky dans la demande d’extraction 22011. GitHub-22010
GraphQL
- L’application renvoie désormais le message GraphQL
The cart isn't active
au lieu deCurrent user does not have an active cart
dans certains cas lorsqu’un panier devient inactif et qu’un nouvel ID de panier est créé. Correctif soumis par Vadim Malesh dans la demande d'extraction 27187. GitHub-26117
- Suppression du code qui provoquait une erreur lors de l’utilisation de GraphQL pour ajouter des produits à un panier lorsqu’un produit précédemment ajouté devenait en rupture de stock. Correctif soumis par AleksLi dans la demande d'extraction 27015. GitHub-26683
-
Correction d’un problème dans GraphQL en raison duquel l’application ne renvoyait pas toutes les informations requises lors de l’utilisation de fragments sur la requête de produits. Correctif soumis par Riccardo Tempesta dans la demande d’extraction 26218. GitHub-26217
-
La mutation GraphQL
setShippingMethodsOnCart
ne récupère plus les mauvaises données dans l’attributavailable_shipping_methods
. Correctif soumis par Vadim Malesh dans la demande d'extraction 27004. GitHub-26742
Produits regroupés
- Vous pouvez désormais ajouter un produit simple appartenant à un produit de groupe au panier lorsqu’un autre produit simple appartenant à ce même groupe est en rupture de stock. Correctif soumis par Gihovani Filipp Pereira Dem̩ trio dans la demande d'extraction 24955. GitHub-22304
- L’application envoie désormais un courrier électronique aux clients au sujet des produits de groupe remboursés, comme prévu. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 26246. GitHub-26245
- Vous pouvez désormais ajouter un produit enfant d’un produit groupé à votre panier lorsque l’un des autres produits enfants du produit groupé est en rupture de stock. Auparavant, lorsqu’un produit enfant était en rupture de stock, vous ne pouviez pas ajouter d’autres produits enfants au panier.
Images
- Les images sont désormais enregistrées dans
pub/media/catalog/category
comme prévu lors de l’enregistrement des images de catégorie. Auparavant, l’application enregistrait ces images danspub/media/catalog/tmp/category
.
- Les images de filigrane n’obscurcissent plus l’image du produit qu’elles recouvrent. Auparavant, lorsque l’image de filigrane était plus grande que l’image de produit à laquelle elle était appliquée, l’image de produit n’était pas visible.
- Vous pouvez désormais enregistrer une image dans une catégorie à partir de l’administrateur. Auparavant, une fois l’image enregistrée, une partie de l’URL était manquante et vous ne pouviez pas la rouvrir.
- L’application affiche désormais
.png
images comme prévu après le téléchargement.
- L’utilisation de REST pour ajouter ou mettre à jour une image crée désormais une miniature comme prévu. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27170. GitHub-26825
- Les attributs personnalisés des images générées par
Block\Product\ImageFactory
s’affichent désormais correctement. Auparavant, vous ne pouviez pas ajouter vos propres attributs personnalisés aux balises d’attribut en raison d’une séquence d’échappement incorrecte de la sortie de l’HTML. Correctif soumis par alexander-aleman dans la demande d'extraction 26959. GitHub-25219
- Les images ne sont plus floues lorsqu’une vitrine est vue à partir d’une iPhone. Correctif soumis par Dimitri dans la demande d'extraction 24743. GitHub-24735
- Les images sur le storefront sont désormais réactives. Auparavant, la hauteur de l’image était déformée. Correctif soumis par Sean van Zuidam dans la demande d'extraction 27041. GitHub-27040
- Le logo de magasin par défaut est maintenant visible sur le storefront lorsque le thème
Magento_blank
est utilisé. Correctif soumis par Vasilii Burlacu dans la demande d'extraction 27497. GitHub-27496
Import/export
- L’application ne renvoie plus d’erreur lors de l’importation lorsque les données importées incluent une clé
swatch_image
de vue de magasin avec une valeurno_selection
. Auparavant, l’application générait cette erreur :Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s): 1
. GitHub-25026
- L’application met à jour les images comme prévu lorsque vous utilisez le paramètre
hide_from_product_page
lors de l’importation de produits dans des déploiements avec plusieurs vues de magasin.
- Les options personnalisables sont désormais importées comme prévu lorsque
row_id
n’est pas égal àentity_id
d’un produit. Auparavant, l’application n’importait pas d’options personnalisables lorsquerow_id
n’était pas égal àentity_id
d’un produit, ce qui empêchait l’importation de certains produits.
- Les images associées aux produits configurables sont désormais correctement chargées lors de l’importation et disponibles pour affichage comme prévu dans la page de modification du produit.
- Les fichiers
.csv
exportés reflètent désormais les paramètres de filtre pour inclure les produits en stock ou en rupture de stock. Auparavant, l’application exportait tous les produits, quel que soit le paramètre de stock sélectionné.
- Vous pouvez désormais importer ou mettre à jour des clients avec succès à l'aide de l'option Client et adresses un seul fichier du workflow d'import. Auparavant, lorsque vous sélectionniez cette option, l’application n’importait pas les données du client et affichait cette erreur :
Invalid data for insert
.
- L’indexeur de stock est maintenant déclenché comme prévu après l’importation et met à jour l’état du produit. Auparavant, l’indexeur Stock n’indexait pas les données d’inventaire des produits modifiées.
- L’application importe désormais toutes les options personnalisées pour les produits enfants d’un produit configurable lorsque
store_view_code
est spécifié. Cela fonctionne que vous choisissiez d’importer des produits configurables individuellement ou collectivement. Auparavant, l’application n’importait pas toutes les options personnalisées lorsque le fichier d’importation contenait plusieurs éléments et questore_view_code
était spécifié.
- L’application fournit désormais un message lors de l’importation du produit qui identifie les produits du fichier
.csv
importés ayant des clés dupliquées. Les vendeurs peuvent utiliser ces informations pour résoudre les conflits. Auparavant, l’application affichait cette erreur :Notice: Undefined index: name in /var/www/html/ee233dev/app/code/Magento/CatalogImportExport/Model/Import/Product.php on line 2524
- L’application affiche désormais un message d’erreur plus informatif et n’affiche pas de lien de téléchargement lorsque vous essayez de supprimer un répertoire de la liste Système > Exporter. Auparavant, lorsque vous tentiez de supprimer un répertoire de cette liste, l’application continuait à afficher un lien de téléchargement pour les fichiers qui ne pouvaient pas être téléchargés et affichait un message d’erreur informatif.
- Le fichier
.csv
utilisé lors de l’importation contient désormais les liens appropriés pour les produits téléchargeables et est désormais correctement formaté pour prendre en charge l’importation et la mise à jour des produits téléchargeables.
- L’application exporte désormais avec succès un fichier
.csv
lorsque vous définissez le comportement d’importation pour Remplacer, sélectionnez un fichier.csv
précédemment exporté et cliquez sur Vérifier les données. Auparavant, l’application affichait cette erreur :Data validation failed. Please fix the following errors and upload the file again
etFollowing Error(s) has been occurred during importing process
.
- L’indexeur de stock est maintenant déclenché comme prévu après l’importation et met à jour l’état du produit. Auparavant, l’indexeur Stock n’indexait pas les données d’inventaire des produits modifiées.
- Les fichiers
.csv
générés lors de l’importation de produits contiennent désormais des titres de groupe pour les produits téléchargeables comme prévu. Auparavant, une validation inutile degroup_title
pendant l’importation empêchait l’affichage des titres de groupe pour les produits téléchargeables.
- Lorsque
cron
est activé et que vous effectuez un import client à l’aide de l’option (Client et adresses (fichier unique)), l’application remplit les données sur la grille client d’administration comme prévu. La grille du client affiche les clients une fois la réindexation manuelle terminée pourcustomer_grid indexer
. Auparavant, l’application ne mettait pas à jour la grille client avec les adresses client nouvellement importées.
- L’application affiche désormais la liste des clients comme prévu après la réindexation automatique. Auparavant, même si l’exécution manuelle de
bin/magento index:reindex
fonctionnait, la grille du client n’affichait pas les informations du client après la réindexation automatique.
- L’application supprime désormais les fichiers temporaires de
<Magento_home>/var
comme prévu une fois l’importation du produit terminée.
- L’application ne crée plus de SKU en double dans l’administrateur lorsque des produits sont importés par le fichier
.csv
.
- L’importation n’échoue plus lorsque l’attribut configurable importé inclut un signe égal (=) dans sa valeur. Correctif soumis par dhoang89 dans la demande d’extraction 25194. GitHub-25188
- Toutes les données de grille exportées (données Magento Open Sources et personnalisées) ont désormais des libellés d’option au lieu de valeurs d’option pour toutes les colonnes de type
Select
ouMultiselect
. Auparavant, lors de l’exportation de ces données, la feuille de calcul exportée contenait des colonnes avec identifiant plutôt que les valeurs affichées dans la grille. Correctif soumis par Maxim Novik dans la demande d'extraction 26523. GitHub-25963
- L’application affiche désormais les produits groupés sur le storefront comme prévu après la mise à jour d’un produit par l’importation d’un fichier
.csv
. Correctif soumis par Pavel Bystritsky dans la demande d'extraction 25664. GitHub-25540
Index
- Nous avons amélioré les performances de
indexer_update_all_views
. L’indexation est désormais plus rapide, les règles inactives ne sont plus traitées et les caches sont effacés des entrées pour les produits modifiés uniquement.
- Les prix des produits sur le storefront reflètent désormais fidèlement l’application d’une mise à jour planifiée de la règle de prix du catalogue. Auparavant, les prix ne reflétaient pas la règle de prix du panier planifiée tant que vous n’avez pas réindexé manuellement (
php bin/magento indexer:reindex catalogrule_rule
).
- Vous pouvez désormais réindexer la base de données de produits après avoir ajouté un attribut qui ne peut pas faire l’objet de recherches (c’est-à-dire que les attributs
is_searchable
,is_filterable
etis_visible_in_advanced_search
sont désactivés).
- L’application affiche désormais un message qui identifie l’indexeur et le temps pris par l’opération d’indexation lorsqu’une opération de réindexation échoue. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26207. GitHub-26206
- Les produits enregistrés dans les magasins où l’indexeur
onthefly
et les tables plates sont activés respectent désormais les affectations de site web. Auparavant, si vous supprimiez toutes les affectations de site web d’un produit, puis que vous l’enregistriez, toutes les tables plats incluaient le produit, en dépit des affectations de site web spécifiées. Correctif soumis par Abel Truong dans la demande d'extraction 27365. GitHub-16315
Infrastructure
- Le navigateur Internet Explorer 11.x n’est plus pris en charge.
- La logique de validation associée au champ Date of birth (Date de naissance) du formulaire d’enregistrement du client ne déclenche plus d’erreur JavaScript.
- Ajout d’un test d’intégration pour couvrir
$storeId
pour la méthodeget()
du référentiel de catégorie. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 27048. GitHub-27044
- L’activation du paramètre Bloquer tous les cookies dans Safari ne génère plus d’erreurs JavaScript et l’application affiche le message
cookies disabled
comme prévu. Auparavant, l’application affichait plusieurs erreursSecurityError (DOM Exception 18): The operation is insecure
dans la console. Correctif soumis par Ra̼ l Verdugo Lorenzo dans la demande d'extraction 25324. GitHub-13865
- L’application ne renvoie plus cette erreur lors de l’exécution des tests d’intégration :
Error: Call to a member function findFile() on array (/var/www/html/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php:59)
. Auparavant, un problème avecAutoloaderRegistry::getAutoloader
provoquait l’échec aléatoire des tests d’intégration. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26480. GitHub-26479
- La balise
date
de/module-sales/view/frontend/templates/order/order_date.phtml
a été corrigée surspan
. Auparavant, l’application consignait une erreur dans le fichierexception.log
lorsque vous cliquiez sur la page Afficher la commande du storefront Mon compte > Mes commandes. Correctif soumis par Andrii Chorniy dans la demande d’extraction 25895. GitHub-13269, GitHub-25738
- Le module de mixin JavaScript a été restructuré afin d’améliorer le chargement et l’application des mixins pour les modules groupés avancés. Auparavant, l’application ne chargeait pas ni n’appliquait de mixins pour les modules groupés avancés. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 25587. GitHub-25586
- La commande
grunt clean
nettoie désormais les dossiers de code et de métadonnées générés comme prévu. Correctif soumis par Andrii Beziazychnyi dans la demande d'extraction 25765. GitHub-25739
- Le résultat
getVersion
(ProductMetadata::getVersion
) est maintenant mis en cache, ce qui améliore les performances de la méthodeProductMetadata::getVersion
. Correctif soumis par Lukasz Lewandowski dans la demande d’extraction 26001. GitHub-24025
- Un paramètre manquant pour
additional_information
a été ajouté àOrderPaymentInterface
, ce qui résout une incohérence entre sa déclaration de schéma et les propriétés acceptées. Correctif soumis par Antonino Bonumore dans la demande d'extraction 26748. GitHub-26745, GitHub-13222
Navigation par couches
- L’application effectue désormais le rendu de l’attribut Oui/Non sur la page Catégorie lorsque l’option Utiliser dans la navigation par couches : filtrable (avec les résultats) est activée pour les propriétés du storefront.
- La redondance
\Magento\Sales\Model\Order\Email\Sender\ShipmentSender
a été abandonnée au profit de\Magento\Sales\Model\Order\Shipment\Sender\EmailSender
. Correctif soumis par Adarsh Manickam dans la demande d'extraction 26714. GitHub-14885
Galerie de médias
- Cliquez sur Entrée après avoir nommé un nouveau dossier dans la galerie de médias pour enregistrer toutes les modifications que vous avez apportées. Auparavant, si vous cliquiez sur Entrée au lieu d’utiliser la souris pour sélectionner OK, toutes les modifications étaient perdues. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27029. GitHub-26847
- Vous pouvez désormais créer sous la galerie multimédia un sous-dossier portant le même nom que le dossier principal. Auparavant, vous ne pouviez pas enregistrer le sous-dossier portant le même nom. Correctif soumis par Vadim Malesh dans la demande d'extraction 27976. GitHub-1270
Stockage multimédia
var/resource_config.json
n’est plus régénéré chaque fois qu’une image est demandée parget.php
. Auparavant, ce fichier était réécrit à chaque appel àget.php
.
Newsletter
- Les clients peuvent désormais s’abonner comme prévu aux newsletters. Auparavant, lorsqu’un client tentait de confirmer son abonnement, l’application affichait cette erreur :
This is an invalid subscription confirmation code
.
- Le champ de saisie de newsletter du pied de page du storefront est désormais rendu de manière identique par tout navigateur pris en charge. Correctif soumis par divyajyothi5321 dans la demande d'extraction 26182. GitHub-26176
- Les messages Storefront relatifs aux abonnements à des newsletters sont désormais rendus comme prévu dans HTML. Correctif soumis par Oleh Usik dans la demande d'extraction 26455. GitHub-25162
Commandes
- Les sous-totaux de résumé de commande n’affichent plus les taxes exclues lorsque les paramètres d’affichage du site web spécifient que les taxes doivent être exclues. Auparavant, lorsque plusieurs sites web étaient configurés avec des paramètres d’affichage différents, le paramètre défini dans la variable de serveur était utilisé pour le magasin en dépit des configurations au niveau du magasin.
Modes de paiement
- L’intégration des méthodes de paiement tierces Authorize.Net, eWay, CyberSource, Braintree et Worldpay dans le code principal a été supprimée. Les commerçants doivent migrer vers les extensions officielles disponibles sur le Commerce Marketplace.
- La mise en oeuvre principale de la protection contre la fraude Signifyd n’est plus prise en charge. Les commerçants doivent migrer vers l’extension Signifyd Fraud & Chargeback Protection disponible sur Commerce Marketplace.
- Vous pouvez désormais terminer une commande et revenir à la page d’accueil du marchand lorsque la solution hébergée Web payment Pro est configurée. Auparavant, lorsque vous cliquiez sur Retour au marchand, l’application générait cette erreur :
Invalid Form Key. Please refresh the page
.
- Le changement de l’adresse de facturation n’entraîne plus le rendu du texte de la fonction JavaScript dans la section paiement du workflow de passage en caisse du storefront. Correctif soumis par Chris Pook dans la demande d'extraction 26378. GitHub-26375
- Les notes de crédit affichent désormais le montant correct dans le champ Remboursement de l’ajustement de la présentation Mémo de crédit. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27343. GitHub-13851
- Vous pouvez désormais supprimer des informations supplémentaires de la table
quote_payment column additional_information
après avoir enregistré un guillemet. Auparavant, vous ne pouviez pas supprimer ces informations après l’enregistrement du guillemet, car la méthodeunsAdditionalInformation
dans\Magento\Payment\Model\Info
n’initialisait pas correctement les données. Correctif soumis par Marco Oliveira dans la demande d'extraction 26084. GitHub-26083
- Les instructions de paiement sont désormais dérivées de la vue de magasin à partir de laquelle une commande a été effectuée. Auparavant, les instructions de paiement étaient utilisées à partir de la vue de magasin par défaut, car la méthode
BeforeOrderPaymentSaveObserver
récupérait les instructions de paiement de la vue de magasin par défaut. Correctif soumis par Karyna Tsymbal dans la demande d'extraction 26399. GitHub-26332
- La demande collecte désormais les informations de paiement affichées à la fois sur l’administrateur et dans les factures et factures de l’entrepôt dans lequel la commande a été passée dans des déploiements avec plusieurs magasins. Auparavant, l’application dérivait des informations de paiement du magasin par défaut. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26765. GitHub-17933
PayPal
- L’application affiche désormais un message d’erreur informatif chaque fois qu’un client clique sur Payer avec PayPal après avoir saisi une adresse de livraison non valide dans le workflow de passage en caisse. Auparavant, l’application affichait un message d’erreur uniquement lorsque le client cliquait pour la première fois sur le bouton, et non pour les clics suivants.
- L’application ne modifie plus l’état d’une commande en
Processing
dans la section Révision des paiements du workflow de passage en caisse lorsqu’un paiement avec PayPal échoue.
- Vous pouvez désormais terminer une commande à l’aide du mode de paiement Lien de flux de production . Auparavant, le mode de paiement Lien de flux de production rejetait toujours le paiement, car l’état de la commande restait dans l’état de paiement
Pending
, même si l’état de la commande dans les journaux des méthodes de paiement étaitApproved
.
- Les commandes passées à l’aide de PayPal Payflow Pro sont désormais définies sur l’état
Suspected Fraud
lorsque des filtres de fraude sont déclenchés.
- Vous pouvez désormais utiliser le paiement express PayPal avec n’importe quelle carte de crédit prise en charge. Auparavant, lorsque vous cliquiez sur un bouton de carte de crédit lors de l’utilisation du paiement express PayPal pour terminer une commande, la demande était suspendue et vous ne pouviez saisir aucune information de carte de crédit.
- Les commandes passées dans PayPal Payflow Pro sont désormais définies sur le statut
Suspected Fraud
lorsque des filtres de fraude sont déclenchés. Auparavant, l’état des transactions de paiement sur PayPal n’était pas validé avant l’approbation du paiement du côté de la demande.
- Payflow Pro fonctionne désormais comme prévu lorsque les restrictions de site web sont activées.
- L’application traite désormais correctement les commandes passées avec PayPal Express Checkout, où l’adresse d’expédition de la commande spécifie une région du pays que le client a saisie manuellement dans le champ de texte plutôt que d’être sélectionné dans le menu déroulant de la page Expédition. Auparavant, l’application affichait cette erreur sur la page de révision des commandes :
Error 500: NOTICE: PHP message: PHP Fatal error: Uncaught Error: Call to a member function getId() on null in httpdocs/vendor/magento/module-paypal/Model/Api/Nvp.php:1527
. GitHub-26698
- Le mode de paiement PayPal Pro fonctionne désormais comme prévu dans le navigateur Chrome 80. Ce mode de paiement a précédemment appelé un point de terminaison de rappel qui devait accéder à la session du client — accès que la nouvelle fonctionnalité de cookie Chrome SameSite par défaut ne permet pas. GitHub-26840
- Vous pouvez désormais utiliser PayPal Express pour payer une commande lorsque le panier de passage en caisse persistant a été activé et que le paramètre Effacer la persistance à se déconnecter est défini sur no. Auparavant, l’application vous redirigeait vers la page Connexion .
- Les paiements de Paypal Express et Web payment Pro passent désormais à l’état
Processing
comme prévu une fois le traitement commencé. Auparavant, les paiements Paypal Web Payments Pro étaient dans l’état de paiementPending
même lorsque les informations de paiement se trouvaient dans l’étatProcessing
. Correctif soumis par azambon dans la demande d'extraction 25876. GitHub-25659
Performances
- La logique d’invalidation de la section de données client a été améliorée. Cette version introduit une nouvelle méthode d’invalidation de toutes les données des sections client, qui permet d’éviter un problème connu avec le stockage local lorsque des invalidations
sections.xml
personnalisées sont actives. (Auparavant, le contenu privé (stockage local) n’était pas correctement renseigné lorsque vous aviez un etc/frontend/sections.xml personnalisé avec des invalidations d’action.) Voir Contenu privé.
- L'import des comptes clients a été refactorisé afin d'améliorer la vitesse d'import.
- Les vendeurs peuvent désormais utiliser le chargement différé pour charger les images. Correctif soumis par Timon de Groot dans la demande d'extraction 27033. GitHub-27032
- Les graphiques de tableau de bord ont été migrés vers la bibliothèque
chart.js
. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26923. GitHub-186
- Les performances des opérations exécutées sur des catalogues volumineux qui contiennent de nombreux attributs de produit (sur l’échelle de 3 000 à 2 300 options) ont été améliorées par la refactorisation de la manière dont les tableaux d’options d’attribut sont créés. Correctif soumis par Behnam Shayani dans la demande d'extraction 25452. GitHub-20966
Tarifs
- L’application enregistre et affiche désormais le prix correct pour les produits divisés, même après avoir modifié plusieurs fois des produits. Auparavant, l’application n’enregistrait pas les dernières modifications apportées au prix du produit. Correctif soumis par Ravi Chandra dans la demande d’extraction 26162. GitHub-25195
- Le pourcentage d’épargne fixe et de réduction est désormais correctement appliqué au prix final d’une commande. Auparavant, l’application affichait un pourcentage d’économies de niveau incorrect (à la fois fixe et réduit) sur la page des détails du produit. Correctif soumis par Sathish Subramanian dans la demande d'extraction 26584. GitHub-26583
- L’e-mail d’alerte de stock envoyé aux clients concernant le réapprovisionnement d’un produit configurable contient désormais le prix correct du produit. Auparavant, cet email contenait un prix de produit de 0.
- Le désabonnement de l’alerte du stock de produits fonctionne désormais lorsque la session d’un utilisateur a expiré. Auparavant, lorsque vous cliquiez sur le lien Cliquez ici pour arrêter les alertes pour ce produit, l’application affichait une erreur 404.
- Les actions de désabonnement pour les alertes de produit fonctionnent désormais comme prévu. Auparavant, lorsqu’un client cliquait sur le lien Cliquez ici pour arrêter les alertes pour ce produit, l’application affichait une erreur 404.
Vidéo produit
- Vous pouvez désormais utiliser REST pour mettre à jour les vidéos YouTube (PUT
rest/V1/products/{SKU}
). Auparavant, l’application affichait une miniature pour la vidéo, mais le lecteur vidéo ne se chargeait pas lorsque vous cliquiez sur le bouton Lire . GitHub-23194
Rapports
- Les listes de produits classent désormais les produits configurables par SKU, qui regroupe les produits configurables par variations. Auparavant, le rapport regroupait les produits par
product_id
. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 25858. GitHub-25856
- La table Admin > Rapports > Actualiser les statistiques affiche désormais l’état Mis à jour à = Null sous la forme Jamais dans la colonne Mise à jour au lieu de non définie. Correctif soumis par Eden Duong dans la demande d'extraction 25932. GitHub-25931
- Le rapport Faible stock n’inclut plus les produits désactivés. Correctif soumis par Mohamed-Asar dans la demande d'extraction 26862. GitHub-26838
- L’application affiche désormais une valeur exacte pour le champ Démarrages à date/année dans Admin > Magasins > Configuration > Général > Rapports. Correctif soumis par Priya-V-Panchal dans la demande d’extraction 27088. GitHub-27086
Révisions
- L’application désactive désormais le bouton Submit Review une fois que l’utilisateur a cliqué sur le bouton. Auparavant, l’application ne désactivait pas ce bouton après le premier clic et créait plusieurs révisions lorsque l’utilisateur cliquait plusieurs fois sur le bouton Submit Review.
- La liste de filtres Admin > Rapports > Révisions > Par produits affiche désormais les résultats comme prévu. Auparavant, lorsque vous tentiez de filtrer cette liste, l’application n’affichait aucun résultat.
- L’option de menu Révisions en attente est désormais activée comme prévu sur Admin > Marketing > Contenu utilisateur > Révisions en attente. Correctif soumis par Ravinder dans la demande d’extraction 26230. GitHub-26229
Ventes
- Les commandes terminées apparaissent désormais à la fois dans le système de paiement et dans le Magento Open Source. Auparavant, les commandes apparaissaient dans le système de paiement, mais pas dans le Magento Open Source. GitHub-25862
- L’application respecte désormais l’adresse de livraison par défaut d’un client. Auparavant, l’application ne respectait pas les adresses de facturation et de livraison par défaut en fonction des paramètres, et le paramètre Identique à l’adresse de facturation n’était pas activé automatiquement.
- L’application calcule désormais correctement les remboursements pour les commandes qui incluent des remises. Auparavant, la demande calculait incorrectement la taxe de livraison et la remise, et le total remboursé ne correspondait pas au total payé.
- L’application affecte désormais l’ID de groupe correct lorsqu’un nouveau client crée une commande dans le cadre de déploiements multi-sites. Auparavant, l’application appliquait les paramètres du groupe de clients par défaut.
- Les administrateurs disposant d’autorisations restreintes qui incluent l’autorisation d’afficher des notes de crédit, des factures et des envois peuvent désormais afficher des factures et des envois à partir de la page Commandes comme prévu. Auparavant, lorsqu’un administrateur restreint tentait d’afficher une commande, l’application affichait cette erreur :
Something went wrong with processing the default view and we have restored the filter to its original state
.
- L’application n’affiche plus d’erreur lorsqu’un client ajoute au panier une quantité de produit qui dépasse la moitié du stock de produits existant, mais ne dépasse pas le stock total. Auparavant, dans ces circonstances, l’application affichait cette erreur :
The requested qty is not available
. Github-24365
- Vous pouvez maintenant ajouter un produit au panier avec succès depuis l’administrateur lorsque la quantité de stock est de 1. Auparavant, l’application n’ajoutait pas le produit au panier et affichait le message suivant :
The requested qty is not available
. Correctif soumis par Serhii Petrychenko dans la demande d'extraction 26650. GitHub-25675
- L’application affiche désormais un message d’erreur informatif lorsqu’un administrateur de magasin tente de réorganiser un produit dont l’option personnalisée comporte un nom supérieur au nombre maximal de caractères. Auparavant, dans ces conditions, l’application affichait la page Rapport et non un message. Correctif soumis par Mudit Shukla dans la demande d'extraction 26348. GitHub-26345
- La mise en page du formulaire de modification des informations sur les adresses de commande de ventes a été restructurée pour correspondre aux conventions de la bibliothèque des formulaires d’administration. Correctif soumis par Alexey Rakitin dans la demande d’extraction 25699. GitHub-19805
- Les cases à cocher de la section Produits de la page Catalogue > Catégories fonctionnent désormais comme prévu. Correctif soumis par Denis Kopylov dans la demande d'extraction 22990. GitHub-22988
- La méthode
getCustomer
renvoie désormais l’objet client tel que défini dans le blocphpdoc
. Auparavant, cette méthode renvoyaitNULL
et le blocphpdoc
ne mettait pas en évidence que cette méthode pouvait renvoyerNULL
. Correctif soumis par Fanis Strezos dans la demande d’extraction 26423. GitHub-25268
- Les commandes de nouveau sont désormais désactivées comme prévu lorsqu’un commerçant désactive le Admin > Magasin > Configuration > Ventes > Réorganiser > Autoriser la commande. Correctif soumis par Eden Duong dans la demande d'extraction 26051. GitHub-25130
- La méthode
getPrice()
renvoie désormais une valeur flottante ou nulle au lieu d’une chaîne lors de la définition d’un prix personnalisé pour une commande dans l’administrateur. Correctif soumis par Andrii Chorniy dans la demande d’extraction 26313. GitHub-25968
- La colonne Code d’état et titre de Admin > Magasins > Paramètres > État de la commande affiche désormais l’état au lieu de l’état prévu. Correctif soumis par Oleh Usik dans la demande d'extraction 26569. GitHub-17847
- Les factures de PDF capturent désormais la date d’achat correcte lorsqu’elles sont créées dans un paramètre régional en Go. Correctif soumis par Eden Duong dans la demande d'extraction 26701. GitHub-26675
Règle de vente
quote_item.applied_rule_ids
est désormais mis à jour comme prévu après la désactivation d’une règle de prix de panier. GitHub-24526
- L’application affiche désormais les arborescences de catégorie comme prévu lorsque vous essayez de créer ou de modifier une règle de prix de panier. Auparavant, la sélection d’une catégorie dans la section Condition lors de la création ou de la modification d’une règle entraînait des erreurs JavaScript.
- L’application calcule désormais correctement les remises fixes au niveau du panier à l’aide des règles de prix du panier lorsqu’un produit configurable est ajouté pour la première fois au panier. Correctif soumis par Lachlan Turner dans la demande d'extraction 26623. GitHub-26622
Rechercher search-heading
- Elasticsearch 7.6.x est désormais le moteur de recherche de catalogue par défaut pour Adobe Commerce et Magento Open Source. Vous ne pouvez pas installer ni mettre à niveau vers la version 2.4.0 sans installer également Elasticsearch 7.6.x. Le code de la version 2.x de l’Elasticsearch a été supprimé. Les versions 5.x et 6.x des Elasticsearch ont été abandonnées et ne sont plus prises en charge. Voir Conditions préalables pour le moteur de recherche.
- L’application effectue désormais correctement le rendu des symboles < et > dans les chaînes de recherche de catalogue du storefront.
- Les produits s’affichent désormais comme prévu dans les catégories après l’exécution de
cron:run
dans les déploiements mettant en oeuvre Elasticsearch.
- L’application n’a plus besoin d’une réindexation de recherche complète pour qu’un nouvel attribut de produit puisse faire l’objet de recherches sur le storefront.
- Elasticsearch fonctionne désormais comme prévu lorsque vous triez une liste de produits contenant des produits regroupés par noms de produits alphabétisés.
- Les résultats du filtrage n’incluent plus les options en rupture de stock lorsque vous filtrez des produits configurables dans une catégorie.
- La sélection de tous les produits de la page de liste de produits à l’aide d’Elasticsearch affiche désormais tous les produits dans les résultats de recherche comme prévu. Auparavant, l’application n’affichait aucun résultat de recherche.
- Elasticsearch affiche désormais correctement les résultats des pages de catégorie lorsque vous modifiez le nombre de résultats de recherche affichés par page. Auparavant, lorsque vous aviez modifié le nombre de résultats de recherche à afficher sur la page des résultats de recherche, l’application affichait une page vierge et cette erreur :
"0":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'
- Le tri des prix fonctionne désormais correctement pour les produits configurables en rupture de stock.
- L’application ne renvoie plus d’exception lorsqu’un client utilise la recherche rapide storefront dans des déploiements de sites Web multiples.
- L’application n’affiche plus d’avertissement lorsqu’un commerçant ouvre la page du terme de recherche en cliquant sur l’option Termes de recherche dans le pied de page de Marketing > SEO & Search > Termes de recherche. Correctif soumis par vishal-webkul dans la demande d’extraction 25246. GitHub-25245
- L’application ne redimensionne plus la fenêtre d’affichage lorsque vous cliquez sur la zone de saisie de recherche lors de l’exécution de Safari dans la vue mobile. Correctif soumis par Pawe Tylek dans la demande d’extraction 27603. GitHub-27506
- Les versions Elasticsearch sont désormais identifiées par la notation X.x au lieu de la notation X.0+ dans l’Admin (Magasins > Paramètres > Configuration > Catalogue > Catalogue > Recherche catalogue). Correctif soumis par Andreas Mautz dans la demande d’extraction 25838. GitHub-25674
Expédition
- Vous pouvez désormais envoyer une commande à plusieurs adresses si l’un des produits commandés est un produit virtuel. Auparavant, l’application effectuait une commande pour les produits physiques, mais la commande virtuelle était vide.
- L’application applique désormais correctement des remises sur le panier entier fixes pour les commandes expédiées à plusieurs adresses. Auparavant, ce type de remise était appliqué plusieurs fois lorsqu’un client extrayait une commande à l’aide de l’option Extraire avec plusieurs adresses. GitHub-25834
- La liste déroulante disponible pour sélectionner les méthodes d’expédition lors du processus de création d’une règle de prix de panier contient désormais uniquement des valeurs valides. Auparavant, cette liste déroulante contenait des valeurs vides ou supplémentaires.
- L’application imprime désormais les libellés d’expédition sous la forme d’un fichier
.pdf
comme prévu lorsque vous sélectionnez Imprimer le libellé d’expédition dans la liste déroulante Action d’une commande dans la liste d’archives de commandes. Auparavant, l’application affichait une erreur 404.
- Les règles de prix d’expédition gratuits affectent désormais uniquement les produits pertinents lorsqu’un panier contient des produits provenant de catégories qui sont incluses par la règle de prix d’expédition gratuit , ainsi que des produits provenant de catégories qui ne sont pas incluses dans la règle. Auparavant, lorsqu’un panier comprenait des produits des catégories d’expédition gratuite et d’autres catégories qui n’étaient pas incluses dans la règle de prix, l’expédition gratuite n’était appliquée à aucun produit.
-
L’application n’affiche plus de page vierge au lieu d’afficher tous les opérateurs de livraison dans la liste déroulante ou la zone à sélection multiple. Auparavant, une erreur se produisait dans la fonction
toOptionArray
devendor/magento/module-shipping/Model/Config/Source/Allmethods.php
. Correctif soumis par Marc Rodriguez dans la demande d'extraction 25315. GitHub-13136 -
L’application n’applique plus de remise à montant fixe plusieurs fois lorsqu’un client crée une commande qui sera envoyée à plusieurs adresses. Correctif soumis par Mahesh Singh dans la demande d'extraction 26419. GitHub-25834
- Les modules externes pour
Magento\Ups\Model\Carrier
qui implémentent desdi.xml
personnalisés fonctionnent désormais correctement en mode développeur. Auparavant, l’application générait cette erreur :1 exception(s): Exception #0 (BadMethodCallException): Missing required argument $data of Magento\Ups\Model\Carrier
. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26130. GitHub-25390
Plan du site
- L’application utilise désormais l’URL de base du projet comme prévu lorsque vous générez un plan de site.
- Les mappages de site générés incluent désormais l’URL de la page d’accueil. Correctif soumis par deep-snair dans la demande d'extraction 26445. GitHub-25761
Magasin
- Les sessions clients persistent désormais comme prévu lorsqu’un client se connecte à un magasin, ajoute des produits au panier, puis passe à un nouveau magasin lors d’un déploiement multi-magasin. Auparavant, lorsque le client accédait au deuxième magasin, l’application déconnectait le client et vidait le panier.
- L’application supprime désormais les enregistrements liés à une vue de magasin supprimée des tables
sale_sequence_meta
etsales_sequence_profile
comme prévu. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 22296. GitHub-14958
- Le sélecteur de magasin fonctionne désormais comme prévu lors du changement entre les magasins qui ont des URL de base différentes. Auparavant, lorsqu’un client utilisait le sélecteur de magasin pour passer d’un magasin à l’autre, la demande échouait si le magasin cible avait une URL de base différente de celle du magasin actuel. Correctif soumis par Tobias Nilsson dans la demande d'extraction 26548. GitHub-23755, GitHub-26384
Nuancier
- Les commerçants peuvent désormais ajouter des attributs d’échantillon de couleur à des produits à l’aide de l’option Épisode visuel sur Magasins > Attributs > Produit > Nouvel attribut. Auparavant, une erreur JavaScript était déclenchée lorsque vous tentiez d’ouvrir l’attribut d’échantillon nouvellement créé.
- Le prix publicitaire minimum change désormais comme prévu lorsqu’un client sélectionne une nouvelle option d’échantillon pour un produit configurable. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 26241. GitHub-26240
- L’application ne duplique plus le Prix publicitaire minimum d’un produit configurable lorsque vous sélectionnez une nouvelle option d’échantillon. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 26317. GitHub-26314
- Correction de problèmes liés au comportement du menu déroulant dans la zone Gérer l’échantillon (valeurs de votre attribut) de la page Nouvel attribut de produit. Correctif soumis par Oleh Usik dans la demande d'extraction 26090. GitHub-25910
TargetRule
- Le bloc de produit associé affiché pour un produit sur le storefront affiche désormais les produits qui répondent aux critères définis dans la règle de produit connexe. Auparavant, l’application n’affichait aucun produit associé.
Taxe
- L’application met à jour les tarifs d’expédition et les prix comme prévu lorsqu’un client change le pays de destination pour une commande lors du passage en caisse.
- La livraison gratuite est désormais appliquée comme prévu en fonction de la règle de prix du panier applicable. Auparavant, les règles de prix du panier ne prenaient pas en compte les taxes lors du calcul de la conformité d’une commande aux critères de livraison gratuite.
Test
- Les URL codées en dur dans les tests et les groupes d’actions ont été remplacées par des références de page. Correctif soumis par Lukasz Bajsarowicz dans la demande d’extraction 117 dans le référentiel privé Partners-magento2ee. GitHub-26331
- Les tests couvrent désormais la tâche de journalisation des actions d’administration liées aux pages CMS. Correctif soumis par Lukasz Bajsarowicz dans la demande d’extraction 172 dans le référentiel privé partner-magento2ee. GitHub-171
- Les noms de test fonctionnels non valides ont été modifiés pour suivre les bonnes pratiques. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 27118 et la demande d'extraction 151 dans le référentiel privé partner-magento2ee. GitHub-27117
- Le Magento Open Source
cron
est désormais utilisé pour la réindexation après la création de données de test et, le cas échéant,cache:flush config
remplacecache:flush
. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26990. GitHub-26989
- Les tests d’acceptation suivent désormais les conventions d’appellation pour les modules
Magento/Indexer
etMagento/Backup
. Correctif soumis par Shankar Konar dans la demande d'extraction 27515. GitHub-27503
- Le test
AdminReorderWithCatalogPrice
a été restructuré et n’échoue plus pendant le processus de validation de l’interface utilisateur (CI). Correctif soumis par Lukasz Bajsarowicz dans la demande d’extraction 135 dans le référentiel privé Partners-magento2ee. GitHub-26607
- Les tests
AdminAddingNewOptionsWithImagesAndPricesToConfigurableProduct
etStorefrontApplyPromoCodeDuringCheckout
ont été restructurés et n’échouent plus pendant le processus de validation de CI. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26611 et la demande d'extraction 26614. GitHub-26612, GitHub-26610
- Les tests
DeleteProduct and DeleteCustomer Action Groups
ont été restructurés et n’échouent plus pendant le processus de validation de l’interface utilisateur (CI). Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26407. GitHub-26396
- Les tests
AdminMoveAnchoredCategoryTest.xml
ont été restructurés et n’échouent plus pendant le processus de validation de l’interface utilisateur (CI). Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26395. GitHub-26396
Tests d’intégration
- Les requêtes consécutives dans les tests d’intégration n’échouent plus. Auparavant, les tests échouaient, car les objets de requête étaient partagés entre les envois. La méthode
resetRequest
vide désormais l’état derequest
. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 27300. GitHub-27299
- Des tests d’intégration supplémentaires ont été ajoutés pour couvrir les fonctionnalités de messagerie
Magento_Customer
. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 27606. GitHub-27607
tests unitaires PHP
- Les tests unitaires PHP ne génèrent plus cette erreur fatale :
Fatal error: Class Mock_CartExtensionInterface_0ba80a0b contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Magento\Quote\Api\Data\CartExtensionInterface::getAmazonOrderReferenceId, Magento\Quote\Api\Data\CartExtensionInterface::setAmazonOrderReferenceId) in /var/www/html/vendor/phpunit/phpunit-mock-objects/src/Generator.php(264) : eval()'d code on line 1
. Correctif soumis par Lukasz Bajsarowicz dans les demandes d’extraction 178 dans le référentiel privé Partners-magento2ee et 27701}. GitHub-27638
- Les tests pour
Offline_Payments
sont désormais compatibles avec PHPUnit 8. Correctif soumis par Cristiano Pacheco dans la demande d'extraction 27627. GitHub-27500
- Les tests unitaires pour
Framework
,AdminAnalytics
,AdminNotification
etAMPQ
ont été mis à jour pour PHPUnit 8. Correctif soumis par Ihor Sviziev dans les demandes d'extraction 27522, 27521, 27519, 27522}. GitHub-27500
- Vous pouvez désormais exécuter le test unitaire
\Magento\Downloadable\Test\Unit\Helper\DownloadTest
sans être connecté à Internet. Correctif soumis par aleromano89 dans la demande d'extraction 26264. GitHub-23521
- Ajout d’un test unitaire pour
app/code/Magento/Fedex/Model/Source/Generic.php
. Correctif soumis par Sathish Subramanian dans la demande d'extraction 26549.
<magentoCron>
a été ajouté à plusieurs tests, ce qui déclenche une réindexation partielle. Cette modification résout des problèmes qui ont créé de faux négatifs dans les tests fonctionnels qui couvraientMagento_Bundle
,CatalogImportExport
,CatalogInventory
,CatalogRule
,Backend
,Braintree
etCaptcha
. Correctif soumis par Lukasz Bajsarowicz dans les demandes d'extraction 27322, 27323, 27321. GitHub-27320
- Toutes les utilisations incorrectes de
<amOnPage>
ont été remplacées par un<actionGroup>
approprié pour la déconnexion de l’administrateur le cas échéant dans les tests. Correctif soumis par Lukasz Bajsarowicz dans la demande d’extraction 116 dans le référentiel privé Partners-magento2ee. GitHub-26331
-
Chaque groupe d’actions d’un test a été déplacé dans un fichier distinct afin de suivre les bonnes pratiques MFTF et les noms de fichiers incohérents ont été modifiés. Les tests pour les modules suivants ont été affectés :
- permission-catalogue-module
- module-shared-catalog
- module-catalog-event
- module-banner
- module-admin-gws
- module-advanced-checkout
- livraison-module
- module-ui
- livraison-module
- module-checkout-address-search
- module-sales
- module-catalog
- module-catalogue-règle-staging
- module-visuel-merchandiser
- module-customer
Correctif soumis par Lukasz Bajsarowicz dans les demandes d'extraction 25800, 26323, 26321, 26320, 26319, 26322, 25828, 26329 (et demandes d’extraction 104, 105, 106, 107, 108, 109 , 111, 119, 120, 121 dans le référentiel privé (partenaires-magento2ee). GitHub-22853
Thème
- Nous avons résolu un bogue dans
JsFooterPlugin.php
qui affectait l’affichage des blocs dynamiques. Auparavant, l’application affichait cette erreur lorsque vous accédiez directement à/banner/ajax/load/url
:Uncaught TypeError: strpos() expects parameter 1 to be string, null given in
.
- La méthode
i18n
permet d’ajouter une chaîne aux modèles de trait de soulignement. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 26435. GitHub-18012
- Le module
section-config
a été restructuré. Cette refactorisation a réduit les erreurs provoquées par des modules tiers qui envoyaient des demandes de POST ou demandaient des données client directement avant que le module ne soit initialisé pardata-mage-init
. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 25764. GitHub-17125
LoadCssAsync
Correction des erreurs de format d’HTML. Correctif soumis par Sathish Subramanian dans la demande d'extraction 26764. GitHub-26760
- Lorsque vous créez des fichiers
default.xml
etcatalog_product_view.xml
dans le cadre de la création d’un nouveau thème, l’application crée ces pages ou consigne les erreurs dans les fichiers journaux comme prévu. Auparavant, l’application consignait des erreurs dans le fichiervendor/magento/framework/View/Page/Config/Renderer.php
. Correctif soumis par Vinh Le dans la demande d'extraction 27026. GitHub-27009
Traduction et paramètres régionaux
- La traduction en ligne fonctionne désormais comme prévu sur le storefront lorsque Admin > Magasins > Configuration > Avancé > Développeur > Traduire en ligne > Activé pour Storefront est défini.
- La traduction en ligne fonctionne désormais comme prévu lorsqu’elle est activée pour un storefront.
- Les clés d’URL de produit sont désormais translittérées comme prévu. Correctif soumis par DanieliMi dans la demande d’extraction 26506. GitHub-26499
- Le paramètre régional
es_US Spanish (United States)
est désormais pris en charge. Correctif soumis par Vinh Le dans la demande d'extraction 26857. GitHub-26843
- Le nombre d’espaces réservés numériques et le nombre d’espaces réservés du code JavaScript sont désormais identiques. Auparavant, le code JavaScript utilisait 0 %, tandis que le nombre d’espaces réservés numériques commençait par %1. Correctif soumis par korostii dans la demande d’extraction 25359. GitHub-25243
- Vous pouvez désormais désactiver la traduction du titre de la page des détails du produit (
page.main.title
), qui est activée par défaut. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26269. GitHub-7065
- Les problèmes de rendu de l’arabe et de l’hébreu dans les PDF de facture ont été résolus. Correctif soumis par Ihor Sviziev dans la demande d'extraction 27887. GitHub-25769
- L’ordre d’héritage du module de langue est désormais appliqué sur la première liste, selon les besoins et comme décrit dans la documentation. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 26420. GitHub-8691
- L’application affiche désormais ce message d’erreur lorsque vous saisissez un caractère non latin pour un nom de dossier dans les paramètres régionaux où seules les lettres latines sont prises en charge :
Please rename the folder using only Latin letters, numbers, underscores and dashes
. Correctif soumis par Eden Duong dans la demande d'extraction 25904. GitHub-25896
- La longueur de la colonne
locale
pourdirectory_country_region_name
a été augmentée de 8 à 16 pour prendre en charge des paramètres régionaux tels quezh_Hans_CN
. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26268. GitHub-14001
Interface utilisateur
- Le bouton Retour fonctionne désormais comme prévu à partir de Admin > Magasins > État de la commande > Modifier l’état de la commande. Correctif soumis par Vadim Malesh dans la demande d'extraction 27976. GitHub-1270
- Les images d’aperçu ne changent plus inopinément lorsque vous utilisez les touches fléchées pour déplacer le curseur dans le champ Nom de fichier de la liste Adobe Stock. Correctif soumis par Adarsh Manickam dans la demande d’extraction 25991. GitHub-847
- Le champ Votre mot de passe de la section Vérification de l’identité de l’utilisateur actuelle de la page Admin > Système > Intégrations hérite désormais des styles comme prévu. Correctif soumis par Eduard Chitoraga dans la demande d’extraction 25918. GitHub-25917
- Les entrées validées par le programme de validation JavaScript sur le storefront seront également validées par l’administrateur. Auparavant, le programme de validation JavaScript comptabilisait les nouvelles lignes comme un caractère unique sur le storefront, tandis que, côté serveur,
\Magento\Catalog\Model\Product\Option\Type\maxCharacters
comptabilisait les nouvelles lignes comme deux caractères. Correctif soumis par Grzegorz Bogusz dans la demande d'extraction 26033. GitHub-25974
- La balise
subTitle
n’est plus effacée lorsque vous modifiez un titre modal à l’aide de l’appelsetTitle()
. Auparavant, lorsque vous tentiez de créer une fenêtre contextuelle ou un modal personnalisé avec un titre et un sous-titre, puis que vous modifiez le titre avec la méthodesetTitle()
, l’élémentsubTitle
était supprimé. Correctif soumis par Andrea Parmeggiani dans la demande d'extraction 26142. GitHub-26141
- Le sous-menu de l’onglet Admin Marketing s’ajuste désormais automatiquement à la longueur des éléments du menu comme prévu. Vous pouvez également faire défiler l’écran horizontalement. Correctif soumis par Paweł Tylek dans la demande d'extraction 26034. GitHub-18687
- La colonne
quote
de la tablecustomer_note
utilise désormais le typetext
comme prévu. Auparavant, il utilisait le typevarchar(255)
. Correctif soumis par Ravi Chandra dans la demande d’extraction 26160. GitHub-26155
- Correction de problèmes d’affichage avec l’en-tête du tableau dans la table Mon compte > Carnet d’adresses Entrées d’adresse. Correctif soumis par Abrar Pathan dans la demande d'extraction 27336. GitHub-27335
- Le symbole monétaire utilisé dans l’étape de prix de navigation par calques est désormais basé sur les paramètres par défaut, comme prévu. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 24815. GitHub-21684
- Le symbole de la monnaie biélorusse (BYR) a été mis à jour vers BYN. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 25723. GitHub-24713
- La section Comparer les produits de la page Catalogue s’affiche désormais comme prévu dans la vue mobile sur les affichages dont la résolution est inférieure à 767 px. Correctif soumis par Hitesh dans la demande d'extraction 26418. GitHub-26416
- Le défilement des pages de produits fonctionne désormais comme prévu dans la vue mobile. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 25385. GitHub-10518, GitHub-21717
- Vous pouvez désormais faire défiler les images miniatures de la galerie sur la page du produit dans la vue mobile comme prévu. Correctif soumis par iGerchak dans la demande d’extraction 25839. GitHub-21014
- Cliquer sur le titre du thème sur Admin > Contenu > Thèmes n’entraîne plus d’enregistrements en double. Correctif soumis par Eden Duong dans la demande d'extraction 25926. GitHub-25925
- La mise en page de la page Admin Adresse de facturation/Adresse d’expédition a été restructurée afin de respecter les conventions d’affichage des formulaires d’administration. Correctif soumis par Alexey Rakitin dans la demande d’extraction 25699. GitHub-23481, GitHub-19805
- Le lien Ajouter à la comparaison de la page des détails du produit s’affiche désormais correctement en mode mobile sur des écrans de résolution inférieure à 640 pixels. Correctif soumis par Pawe Tylek dans la demande d’extraction 26424 et Tejash Kumbhare dans la demande d’extraction 26365}. GitHub-26364
- L’étiquette Trier par ne chevauche plus le bouton Shop By sur la page de catégorie dans la vue mobile. Correctif soumis par Andrii Kartavtsev dans la demande d'extraction 26381. GitHub-25300
- Vous pouvez maintenant mettre à jour la valeur de l’exemple de produit téléchargeable et le titre du lien en activant la case à cocher Utiliser la valeur par défaut . Correctif soumis par Abel Truong dans la demande d'extraction 27295. GitHub-27169
- Correction de l’espacement entre le bouton Mettre à jour et le champ Qté du mini panier. Correctif soumis par Hitesh dans la demande d'extraction 26234. GitHub-26227
- La couleur de bordure inférieure de la table Entrées d’adresse supplémentaires de la page Carnet d’adresses correspond désormais à la couleur de bordure
thead
ettbody
. Correctif soumis par Tejash Kumbhare dans la demande d'extraction 26649. GitHub-26648
- Les modèles d’invite n’exécutent plus d’action de confirmation lorsqu’un utilisateur clique sur la superposition modale. Correctif soumis par Serhiy Zhovnir dans la demande d’extraction 27399.
URL
- Le référentiel de catégories (méthode d’enregistrement) a été refactorisé, ce qui vous empêchait auparavant de créer des chemins d’accès uniques lors de la modification d’une clé d’URL de catégorie. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27304. GitHub-14080
- La validation de la logique de clé d’URL de catégorie a été améliorée. Correctif soumis par Sergiy Vasiutynskyi dans la demande d'extraction 27412. GitHub-13689
URL rewrites
- Les clients qui changent de langue sur une page CMS peuvent désormais accéder avec succès à la vue de magasin qu’ils ont sélectionnée. Auparavant, l’application affichait une erreur 404.
- La génération de réécriture d’URL pour les URL de produit pour lesquelles vous avez activé l’inclusion de chemin de catégorie fonctionne désormais comme prévu. Auparavant, dans les déploiements avec plusieurs vues de magasin, l’application générait parfois des réécritures d’URL incorrectes en utilisant la valeur par défaut du chemin d’URL de catégorie au lieu du chemin d’URL spécifique à l’affichage de l’historique. Correctif soumis par Pieter Hoste dans la demande d’extraction 26784. GitHub-25124, GitHub-11616
- Nous avons ajouté une vérification pour empêcher les redirections d’URL si le chemin de requête est identique au chemin cible. Correctif soumis par Bartomiej Szubert dans la demande d'extraction 26902. GitHub-20309
- Les opérations de réécriture d’URL ne suppriment plus une chaîne de requête d’une URL lorsque celle-ci comporte une barre oblique. Correctif soumis par Alexey Arendarenko dans la demande d’extraction 25603. GitHub-18717
TVA
- Correction de l’URL de validation de la TVA pour les numéros de cuve de l’UE. Correctif soumis par Shikha Mishra dans la demande d'extraction 27886. GitHub-27874
Structure de l’API web
- Correction de problèmes liés aux appels
/rest/default/async/bulk/V1/orders
du POST.
- Correction de problèmes liés aux appels
/rest/default/async/bulk/V1/products
du POST.
- La méthode
getList
a été restructurée pour récupérer l’attribut d’extensionis_subscribed
. Auparavant, vous ne pouviez pas récupérer cet attribut lors de la récupération d’une entité client via l’API. Correctif soumis par enriquei4 dans la demande d’extraction 25311. GitHub-13252
- La mise à jour des informations sur les clients via
/V1/customers/:id
ne réinitialise plus inutilement legroup_id
. Auparavant, lorsque vous mettiez à jour un client via REST, le groupe de clients était remplacé par 1 si le corps ne contenait pas de groupe de clients. Correctif soumis par MaxRomanov4669 dans la demande d’extraction 25958. GitHub-14663
- Les accesseurs Get Nullables dans les contrats de service ne génèrent plus d’erreurs de réflexion lorsqu’ils sont utilisés dans l’API web. Les méthodes qui peuvent renvoyer une valeur nulle et un type valide fonctionnent désormais correctement, quel que soit l’ordre. Correctif soumis par Marco K̦ pcke dans la demande d'extraction 25806. GitHub-25656
- Vous pouvez désormais utiliser POST
/V1/guest-carts/:cartId/items
pour ajouter des produits à un panier spécifique. Auparavant, lorsque vous utilisiez cet appel, l’application ignorait la valeur decartId
. Correctif soumis par Vadim Malesh dans la demande d'extraction 27172. GitHub-14086
- Vous pouvez désormais utiliser le point de terminaison
PUT /V1/cmsPage/:id
pour enregistrer le titre d’une page CMS sans modifier les valeurs des autres champs. Correctif soumis par Vadim Malesh dans la demande d'extraction 27237. GitHub-24704
- La pagination des résultats des requêtes REST est désormais exacte. Auparavant, lorsque vous demandiez des résultats à partir d’une page spécifique (par exemple,
page_size
= 1 et une valeurcurrent_page
hors portée), l’appel renvoyait la dernière page de résultats répétée plutôt qu’un message informatif . Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 26988. GitHub-26986, GitHub-8099
- Le résultat de l’GET
/V1/orders/items/{id}
inclut désormais un élément d’attribut d’extension qui inclut les données de message cadeau. Correctif soumis par Laura Folco dans la demande d’extraction 25946. GitHub-19093
Wishlist
- Une liste bloquée fonctionne désormais comme prévu lorsqu’elle est activée au niveau de l’affichage en magasin et désactivée au niveau global. Auparavant, lorsque ces paramètres étaient en place, l’ajout d’un produit à une liste bloquée générait une erreur 404.
- Nous avons amélioré le message d’erreur qui s’affiche lorsqu’un client tente de partager sa liste de souhaits avec plus d’adresses électroniques que ce qui est autorisé. Correctif soumis par divyajyothi5321 dans la demande d'extraction 26066. GitHub-26064
- L’application affiche désormais la page Ma liste de souhaits comme prévu dans les affichages avec une résolution supérieure à 768 px et inférieure à 1 023 px. Correctif soumis par Hitesh dans la demande d'extraction 26546. GitHub-26543
- L’e-mail généré lorsque vous cliquez sur Share Wishlist affiche désormais les mêmes images de produit que la page Wishlist. Correctif soumis par Michael Bottens dans la demande d'extraction 27125. GitHub-27124
- Les clients peuvent désormais ajouter à une liste de souhaits un produit simple qui fait partie d’un produit groupé et le même produit simple avec une quantité différente. Correctif soumis par MaxRomanov4669 dans la demande d’extraction 26258. GitHub-11209
WYSIWYG
- Le téléchargeur d’images WYSIWYG utilise désormais
pub/media/wysiwyg
comme racine de stockage. Auparavant, le fichier téléchargé utilisaitpub/media
comme racine de stockage, ce qui rendait ces images téléchargées inaccessibles après des modifications récentes du code du téléchargeur d’images. Correctif soumis par Pieter Hoste dans la demande d’extraction 24878. GitHub-22609
- TinyMCE4 sur le navigateur Chrome gère désormais les caractères codés sur deux octets comme prévu. Auparavant, TinyMCE4 ne pouvait pas gérer correctement les caractères à deux octets (comme utilisé en chinois) sur Chrome. Correctif soumis par Hirokazu Nishi dans la demande d'extraction 25454. GitHub-24637
Problèmes connus — Général
Problème : les anomalies dans les messages d’erreur storefront se produisent dans les déploiements où PHP 7.4.2 est installé. Lorsque la version 2.4.0 est déployée avec PHP 7.4.2, les symboles d’espace dans les messages d’erreur storefront sont remplacés par des caractères plus (+). Ce bogue est natif de PHP 7.4.2 et ne peut pas être corrigé par Magento Open Source. Solution : Nous vous recommandons d’utiliser d’autres versions de PHP 7.4.x. Reportez-vous à l’article Affichage brut des données de message sur le storefront de la base de connaissances.
Problème : les vendeurs ne peuvent pas ajouter de produits commandés à un module à partir de la page Admin Créer un module et enregistrer le module. Voir l’article Création d’étiquettes d’expédition de la base de connaissances. Le correctif MC-35514-2.4.0-CE-compositeur.patch pour ce problème est désormais disponible à partir des versions.
Problème : l’application affiche ce message d’erreur lors de l’installation avec des extensions tierces qui ont des dépendances sur les API pour le module Store
dans les commandes de l’interface de ligne de commande : The default website isn't defined. Set the website and try again
. Solution : supprimez les dépendances des extensions tierces du compositeur, installez le Magento, puis installez les extensions tierces.
Problème : le bouton Ajouter des sélections à mon panier situé au bas du panier ne fonctionne pas. Solution de contournement : utilisez le bouton Ajouter des sélections à mon panier en haut de la page. Voir Le bouton Ajouter des sélections à mon panier ne fonctionne pas article de la base de connaissances.
Problème : les vendeurs ne peuvent pas créer de commande à partir de l’administrateur car les instances Ajouter des produits par SKU et Ajouter des produits Les boutons ne figurent pas dans la page de création de commande lorsque le regroupement JavaScript est activé. Solution : désactivez le regroupement JavaScript pour votre déploiement.
Problème : l’application est une erreur 404 not found
lorsqu’un client tente de supprimer des points de récompense lors de l’extraction d’une commande envoyée à plusieurs adresses.
Problème : la modification d’un produit configurable à partir de la liste de souhaits d’un client entraîne un comportement inattendu : un champ inattendu s’affiche sur la page Configurer le produit et la page Configurer le produit ne disparaît pas après avoir cliqué sur OK. L’application affiche également ce message : Please load Wish List item
. Solution : rechargez la page Configurer le produit .
Problème : les clients ne peuvent pas modifier le nombre de commandes affichées par page lorsque la liste Commandes s’étend sur plusieurs pages. Actuellement, l’application affiche ce message lorsque vous accédez à la dernière page des commandes et essayez de modifier le nombre de commandes affichées par page : You have placed no orders
. Voir l’article Erreur d’affichage des commandes de la base de connaissances. Solution : la réouverture de la page Mes commandes entraînera l’affichage de la liste Commandes.
Problème : cliquer directement sur le bouton Exporter les taux de taxe de la page Ajouter une nouvelle règle fiscale (Magasins > Règles fiscales) ne télécharge pas le fichier tax_rates.csv
comme prévu. Solution : cliquez sur le bord du bouton Exporter les taux de taxe . Voir l’article Exporter les taux d’imposition ne fonctionne pas de la base de connaissances.
Problème : les boutons Actualiser des sections Derniers éléments triés, Produits dans la liste de comparaison et Produits récemment comparés de la page Admin Activités clients ne fonctionnent pas comme prévu. Actuellement, l’application fait défiler la page chaque fois que l’utilisateur clique sur le bouton Actualiser et n’affiche pas le nom du produit. Voir l’article Actualiser les activités du client ne fonctionne pas de la base de connaissances.
Problèmes connus — VBE
Amazon Pay
-
Problème : les méthodes de paiement sont manquantes dans le workflow de passage en caisse lorsqu’un client clique sur Revenir à la caisse standard lors de l’extraction avec paiement Amazon. Solution : actualisez la page de passage en caisse pour afficher les méthodes manquantes.
-
Problème : l’application affiche deux méthodes de paiement Amazon identiques dans la liste déroulante Mode de paiement disponible lors de la création d’une règle de prix du panier.
Braintree
-
Problème : l’application affiche une erreur lorsqu’un administrateur tente d’accéder à la page Rapport de règlement du Braintree (Admin > Rapports ). Actuellement, l’application affiche ce message :
An error has happened during application run. See exception log for details
. Voir l’article Échec du chargement du rapport de règlement du Braintree de la base de connaissances. Le correctif BUNDLE-2683_AgreementReport.patch pour ce problème est désormais disponible à partir des versions. -
Problème : les marchands ne peuvent pas créer de factures partielles pour les commandes dans les déploiements où Venmo est activé et le paramètre Activer Vault pour les paiements par carte est désactivé. Actuellement, l’application affiche cette erreur :
The "vault_capture" command doesn't exist. Verify the command and try again
. -
Problème : l’application affiche deux méthodes PayPal identiques dans la liste déroulante Mode de paiement disponible lors de la création d’une règle de prix du panier.
-
Problème : l’application peut être une erreur lors de l’ouverture de Sales > Braintree Virtual Terminal. Bien que le formulaire contienne des éléments d’IU corrompus, il accepte toujours les paiements. Solution : enregistrez les informations d’identification du Braintree correctes, ce qui corrige les champs d’entrée réduits. Voir l’article La page Braintree Virtual Terminal est corrompue de la base de connaissances. Le correctif BUNDLE-2670_VirtualTerminal.patch pour ce problème est désormais disponible à partir des versions.
-
Problème : l’application affiche un message d’erreur dans les pays suivants lorsqu’un client sélectionne un mode de paiement local lors du passage en caisse : Belgique, Pays-Bas, Italie, Espagne et Pologne. Solution : ignorez le message d’erreur et continuez le paiement.
Klarna
- Problème : laisser le champ Thème de conception vide dans la messagerie Klarna On-Site (Admin > Magasins > Configuration > Paramètres Klarna) donne une page vierge. Solution : sélectionnez un thème de conception et enregistrez.
Vertex
- Problème : l’application affiche un bouton Vérification de l’adresse dans la section d’expédition du workflow de passage en caisse même lorsque la validation de l’adresse est désactivée. Le programme de validation des adresses ne vérifie pas à nouveau l’adresse mise à jour et continue d’afficher un message indiquant que l’adresse est invalide lorsqu’un client saisit une adresse correcte après avoir saisi une adresse incorrecte, même si la validation de l’adresse est activée. Solution : désactivez la validation de l’adresse Vertex.
Contributions de la communauté
Nous sommes reconnaissants à l’ensemble de la communauté des Magento Open Sources et tenons à saluer leurs contributions à cette version. Découvrez les façons suivantes d’en savoir plus sur les contributions de la communauté à nos versions actuelles :
-
Si un membre de la communauté a fourni un correctif pour cette version, nous identifions le correctif dans la section Problème résolu de ces notes avec l’expression "Correctif fourni par le membre de la communauté @member_name".
-
L’équipe d’ingénierie de communauté contributeurs Magento conserve une liste des principaux contributeurs et partenaires par mois, trimestre et année. Sur cette page Contributeurs, vous pouvez suivre les liens vers leurs relations publiques fusionnées sur GitHub.
Contributions des partenaires
Le tableau suivant présente les contributions des partenaires. Ce tableau répertorie le partenaire qui a contribué à la demande d’extraction, la demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).
Contributions des contributeurs individuels
Le tableau suivant répertorie les contributions des membres de notre communauté. Ce tableau répertorie les demandes d’extraction externes, le numéro de problème GitHub qui y est associé (le cas échéant) et le membre de la communauté qui a contribué à la demande d’extraction.
Configuration requise
Notre pile de technologie est basée sur PHP et MySQL. Pour plus d’informations, voir Configuration requise.
Instructions d’installation et de mise à niveau
Vous pouvez installer Magento Open Source 2.4.0 à l’aide du compositeur.
Kits d’outils de migration
L’outil de migration des données permet de transférer les données de magasin Magento 1.x existantes vers Magento 2.x. Cette interface de ligne de commande comprend des fonctions de vérification, de suivi de progression, de journalisation et de test. Pour obtenir des instructions sur l’installation, voir Installation de l’outil de migration de données. Envisagez d’explorer le référentiel de migration de données ou d’y contribuer.
La boîte à outils de migration de code permet de transférer les extensions et personnalisations de magasin Magento 1.x existantes vers Magento 2.x. L’interface de ligne de commande comprend des scripts pour la conversion des modules et des mises en page Magento 1.x.