Notes de mise à jour d’Adobe Commerce 2.4.1
Adobe Commerce 2.4.1 apporte des améliorations aux performances et à la sécurité, ainsi que des ajouts importants à l’ensemble des fonctionnalités B2B. Les améliorations de sécurité incluent la prise en charge de l’attribut SameSite pour les cookies et l’ajout de la protection CAPTCHA pour les points d’entrée d’API liés aux paiements et aux commandes, ainsi que la page de storefront Passer une commande . Les améliorations B2B se concentrent sur le processus d’approbation des commandes, les méthodes d’expédition B2B, la journalisation étendue des actions d’administration et la sécurité renforcée sur storefront.
Cette version comprend toutes les améliorations de la qualité de base incluses dans la version 2.4.0, plus de 150 nouveaux correctifs du code de base et plus de 15 améliorations de la sécurité. Il comprend la résolution de près de 300 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 GraphQL.
Tous les problèmes connus identifiés dans la version 2.4.0 ont été corrigés dans cette version.
Appliquez AC-3022.patch pour continuer à proposer DHL comme transporteur
DHL a introduit la version 6.2 du schéma et abandonnera 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 mainlevées devraient appliquer AC-3022.patch dès que possible pour continuer à offrir DHL en tant que transporteur. Pour plus d’informations sur le téléchargement et l’installation du correctif, consultez l’article de la base de connaissances Appliquer un correctif pour continuer à proposer DHL en tant que transporteur.
Correctif de sécurité disponible
Les commerçants peuvent désormais installer des correctifs de sécurité sensibles au temps sans appliquer les centaines de correctifs et améliorations fonctionnels fournis par une version trimestrielle complète (par exemple, 2.4.0-p1). Le correctif 2.4.0.1 (package Compositeur 2.4.0-p1) est un correctif de sécurité qui fournit des correctifs pour les vulnérabilités qui ont été identifiées dans notre version trimestrielle précédente, la version 2.4.0. Tous les correctifs appliqués à la version 2.4.0 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 bug spécifique.)
Pour obtenir des informations générales sur les correctifs de sécurité, voir Présentation de la nouvelle version des correctifs de sécurité . Pour obtenir des instructions sur le téléchargement et l’application de correctifs de sécurité (y compris le correctif 2.3.5-p2), consultez Démarrage rapide de l’installation sur site. 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, B2B, Page Builder et Progressive Web Applications (PWA) Studio) sont également publiés indépendamment. Les correctifs de bugs pour ces projets sont documentés dans les informations de mise à jour distinctes spécifiques au projet disponibles dans la documentation de chaque projet.
Faits saillants
Recherchez les points forts suivants dans cette version.
Améliorations substantielles de la sécurité
Cette version comprend plus de 15 correctifs de sécurité et améliorations de la sécurité de la plateforme. Tous les correctifs de sécurité ont été rétroportés dans 2.4.0-p1 et 2.3.6.
Plus de 15 améliorations de la sécurité qui permettent de corriger les vulnérabilités RCE (Remote Code Execution) et XSS (Cross-site scripting)
Aucune attaque confirmée liée à ces problèmes ne s’est produite à ce jour. Cependant, certaines vulnérabilités peuvent potentiellement être exploitées pour accéder aux informations sur les clients ou prendre le contrôle de sessions d’administration. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. Placer sur la liste autorisée 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, ces efforts : la limitation des adresses IP, l'authentification à deux facteurs, l'utilisation d'un VPN, l'utilisation d'un emplacement unique plutôt que d'un /admin, et une bonne hygiène des mots de passe. Consultez Mises à jour de sécurité disponibles pour Magento pour une discussion sur ces problèmes résolus.
Améliorations de la sécurité supplémentaires
Les améliorations apportées à la sécurité dans cette version sont les suivantes :
-
La protection CAPTCHA a été ajoutée aux zones de produit suivantes :
- Passer commande de la page de storefront et des points d’entrée REST et GraphQL
- Points d’entrée REST et GraphQL liés aux paiements.
La protection CAPTCHA pour ces pages supplémentaires est désactivée par défaut. Il peut être activé sur l’administrateur de la même manière que les autres pages couvertes par CAPTCHA. Cette protection a été ajoutée en tant que mécanisme anti-force brute pour protéger les magasins contre les attaques par cartes. Voir CAPTCHA.
-
Prise en charge de l’attribut SameSite pour les cookies. Pour prendre en charge l’application Google Chrome du nouveau système de classification des cookies, les classes d’application qui gèrent les cookies ont été mises à jour afin de prendre en charge l’attribut de cookie
SameSite. Cet attribut est défini surLaxpar défaut, mais peut être remplacé explicitement. -
Outil d’analyse de sécurité amélioré. Adobe s’est associé à Sanguine Security, un leader dans la prévention de l’écrémage numérique, pour intégrer sa base de données de plus de 8 700 signatures de menaces à l’outil d’analyse de sécurité. Ce partenariat permettra aux commerçants d'obtenir des renseignements en temps réel sur l'état de la sécurité de leur site grâce à la détection proactive des logiciels malveillants et à la réduction des faux positifs. Les commerçants peuvent s'inscrire à l'outil en visitant
https://account.magento.com/scanner. Pour plus d’informations, consultez l’article de blog Sécuriser votre storefront avec l’outil d’analyse de sécurité renforcée.
Améliorations de l’infrastructure
Cette version comprend des améliorations de la qualité principale, qui améliorent la qualité du framework et ces domaines fonctionnels : compte client, catalogue, CMS, OMS, import/export, promotions et ciblage, panier et passage en caisse, B2B, évaluation et prévisualisation.
- Intégration de l’outil d’analyse à l’échelle du site à Admin. Le outil fournit des informations système et une instrumentation pour Adobe sur les installations d’infrastructure cloud avec une surveillance des performances en temps réel 24h/24 et 7j/7, des rapports et des recommandations en libre-service. Les commerçants peuvent utiliser la nouvelle ressource Admin rôle pour accéder en toute sécurité à leurs pages Détails du client via l’administrateur. Consultez le FAQ pour obtenir un aperçu.
Améliorations des performances
-
Réduction de la taille des transferts réseau entre Redis et Magento. La configuration de la liste de plug-ins est maintenant générée lors de l’exécution de la commande
bin/magento di:compile. Ces informations de configuration sont écrites dans des dossiers de métadonnées générés en fonction de la portée. Auparavant, ces informations étaient stockées dans le cache. Les améliorations de performances qui en résultent incluent une diminution de la taille du cache réseau et du temps d’exécution pour de nombreux scénarios. -
Amélioration des performances des clients de file d’attente de messages. Trois nouveaux paramètres de configuration prennent en charge une diminution de la consommation de CPU des files d’attente des consommateurs. Ces paramètres facultatifs permettent de mieux contrôler les consommateurs et d’économiser les ressources du serveur. Voir Configurer des files d’attente de messages pour une description des paramètres
maxIdleTime,sleepetonlySpawnWhenMessageAvailable. -
Amélioration du temps d’exécution pour les commandes
bin/magento.
Intégration d’Adobe Stock
Cette version comprend l’intégration d’Adobe Stock v2.1.0.
Galerie de nouveaux médias
La Galerie de nouveaux médias est désormais activée par défaut dans l’Administration. Les commerçants peuvent désormais effectuer ces actions sur les images dans la Galerie de médias :
-
Suppression d’images en bloc
-
Optimisez le stockage multimédia en identifiant les images en double et les images qui ne sont pas utilisées sur le storefront
-
Filtrer les images selon la zone du storefront dans laquelle elles sont utilisées, y compris le contenu des produits et des catégories et les blocs CMS
-
Utilisation des métadonnées d’image
- Afficher les métadonnées des images chargées dans la Galerie de médias
- Modification des métadonnées des images (titre, description et mots-clés)
- Recherche d’images en fonction de leurs métadonnées
Page Builder
Page Builder prend désormais en charge le mode plein écran, qui permet de modifier plus facilement le contenu et offre une expérience de modification cohérente au sein de l’administration. Voir Workspace.
GraphQL
Cette version ajoute une couverture GraphQL pour les fonctionnalités suivantes :
-
Avis sur les produits. Les clients et les invités peuvent écrire des critiques de produits. Les clients peuvent récupérer leurs historiques d’examen des produits. Voir Création d’une révision de produit et requête productReviewRatingsMetadata pour plus d’informations sur la récupération des informations sur l’infrastructure des révisions.
-
Options de cadeau. Tous les clients et invités peuvent ajouter un message cadeau à leur commande. Sur les installations Adobe Commerce, ils peuvent également ajouter à la commande un emballage-cadeau, des reçus de cadeau et des cartes imprimées. Voir
setGiftOptionsOnCartmutation etupdateCartItemsmutation -
Points de récompense. Les clients peuvent appliquer ou supprimer des points de récompense à leurs paniers. Ils peuvent également consulter l’historique de leurs points de récompense. Voir
applyRewardPointsToCartetremoveRewardPointsFromCartpour une discussion sur la gestion des points de récompense dans un panier. -
Historique des commandes. Tous les clients peuvent consulter les détails de leur historique de commandes, notamment les factures, l’expédition et les remboursements.
-
Ajouter au panier. La mutation
addProductsToCartvous permet d’ajouter n’importe quel type de produit au panier actif. Nous recommandons d’utiliser cette mutation au lieu de mutations à usage unique telles queaddSimpleProductsToCart. Correctif soumis par Yaroslav Rogoza dans la demande de tirage 27914. GitHub-28524 -
Modes de paiement stockés. Les clients connectés peuvent désormais stocker les informations de paiement (y compris la carte de crédit Braintree et Braintree avec PayPal) dans Mon compte.
-
Prise en charge des listes de souhaits dans Magento Open Source. Vous pouvez ajouter des éléments, mettre à jour des éléments et supprimer des éléments d’une liste de souhaits.
-
Gestion améliorée des comptes clients. Nous avons ajouté les mutations
createCustomerV2etupdateCustomerV2pour gérer les comptes clients. Ces nouvelles mutations nécessitent des objets d’entrée différents des mutationscreateCustomeretupdateCustomer. Pour modifier l’adresse e-mail d’un client, utilisez la nouvelle mutationupdateCustomerEmail. -
Assistance pour Payflow Pro Vault. Ajout de la prise en charge de GraphQL Vault pour le mode de paiement Payflow Pro Vault. Correctif soumis par Oleh Usik dans la demande de tirage 28821. GitHub-28520
-
Mise à jour de la requête
storeConfigGraphQL afin d’inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande de tirage 27876. GitHub-28521 -
Ajout de la mutation
requestPasswordResetEmail, qui déclenche l’e-mail de réinitialisation du mot de passe pour l’adresse e-mail fournie. Correctif soumis par Oleh Usik dans la demande de tirage 27876. GitHub-28521 -
Klarna GraphQL. Ajout ou mise à jour de rubriques sur Klarna GraphQL dans le mode de paiement de Klarna et
createKlarnaPaymentsSession
Consultez le Guide du développeur de GraphQL pour plus d’informations sur ces améliorations.
PWA Studio
PWA Studio v8.0.0 introduit de nouvelles fonctionnalités et améliorations :
-
Mises à jour du guide de style Venia qui s’appliquent aux jetons de conception, à la typographie, aux couleurs, aux composants principaux et aux mises en page
-
Améliorations de l’expérience de mini-panier Venia
-
Prise en charge initiale de plusieurs paramètres régionaux et du contenu localisé sur le storefront Venia
-
De nombreuses améliorations ont été apportées à l’expérience MyAccount du storefront Venia
Consultez 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.
B2B
La version 2.4.1 introduit B2B v1.3.0. Cette version comprend des améliorations des approbations de commande, des méthodes d’expédition, du panier et de la journalisation des actions d’administration.
Améliorations apportées aux approbations de commande
Les approbations de commandes B2B ont été améliorées afin d’améliorer la convivialité et de permettre des actions en masse sur les commandes fournisseur.
Les améliorations apportées à l’approbation et au rejet des commandes sont les suivantes :
-
Nouvelle page Afficher la règle pour les utilisateurs sans privilèges de modification. Les acheteurs B2B peuvent désormais afficher les règles qui s’appliquent à leur entreprise sur la nouvelle page Afficher la règle lorsqu’ils ne sont pas autorisés à les modifier.
-
Icône d’alerte Compter dans l’onglet Requires My Approval (Nécessite mon approbation). L'onglet Mon approbation requise dans la vue Mes commandes affiche désormais un compteur qui indique le nombre d'actions d'approbation en attente.
-
Approbations et rejets de commandes en masse. Les responsables B2B et les administrateurs d’entreprise peuvent désormais refuser et approuver en bloc les commandes fournisseur. Ces modifications permettent aux approbateurs d'approuver ou de rejeter plusieurs commandes fournisseur en une seule action.
-
Les commerçants peuvent désormais rechercher les champs S’applique à et Nécessite une approbation de de la vue Mes commandes et peuvent sélectionner plusieurs rôles utilisateur lors de la création de la règle.
-
Vous trouverez des exemples de configuration des règles d'approbation de commande sur la page Configuration des règles.
Voir Règles de validation
Améliorations des méthodes d’expédition B2B
Les commerçants B2B peuvent désormais contrôler les méthodes d’expédition proposées à chaque société. Les commerçants peuvent configurer les éléments suivants à partir de l’Admin :
- Ensemble spécifique de méthodes d’expédition pour les comptes d’entreprise B2B
- Utilisation de toutes les méthodes d’expédition ou de méthodes spécifiques au B2B pour chaque compte de société
- Une liste spécifique des méthodes d’expédition B2B pour chaque compte d’entreprise
Améliorations du panier
-
Les commerçants peuvent désormais permettre aux utilisateurs d'effacer le contenu de leur panier en une seule action et peuvent configurer cette fonctionnalité indépendamment sur chaque site web.
-
Les acheteurs B2B peuvent désormais ajouter des articles individuels ou l'intégralité du contenu de leur panier directement à une liste de demandes d'approvisionnement.
Nouvelles fonctionnalités d’administration
- Les commerçants B2B peuvent créer des commandes auprès de l’administrateur pour le compte des clients à l’aide du paiement par compte comme mode de paiement.
- Les commerçants peuvent désormais consulter directement tous les devis associés à un utilisateur à partir de la page des détails du client.
- Les commerçants peuvent maintenant filtrer la grille Clients maintenant en ligne par entreprise.
- Les administrateurs peuvent désormais filtrer les clients dans le Admin by Sales Rep.
Voir Fonctionnalités B2B.
Sécurité renforcée sur storefront
Pour réduire la création de comptes frauduleux ou de pourriels, les commerçants peuvent maintenant activer Google reCAPTCHA sur le formulaire de demande de nouvelle société sur le storefront. Voir reCAPTCHA.
Journalisation développée des actions d’administration
Les actions d’administration entreprises dans les modules Société sont désormais consignées dans le journal des actions d’administration. Les actions sont consignées à partir de tous les modules d’entreprise pertinents : Company, NegotiableQuote, CompanyCredit, SharedCatalog.
Cette version comprend également plusieurs correctifs. Voir Notes De Mise À Jour B2B.
Functional Testing Framework (MFTF)
MFTF 3.1.0 est désormais disponible. Voir Journal des modifications du framework de tests fonctionnels .
Extensions développées par le fournisseur
Consultez les articles suivants pour obtenir des mises à jour sur les fonctionnalités et les modifications de cette version :
Problèmes résolus
Nous avons corrigé des centaines de problèmes dans le code principal 2.4.1.
Installation, mise à niveau, déploiement
- L’installation avec des extensions tierces ayant des dépendances sur les API pour le module Store dans les commandes CLI n’échoue plus. Auparavant, l’application affichait le message d’erreur suivant :
The default website isn't defined. Set the website and try again. Il s’agissait d’un problème connu dans la version 2.4.0.
bin/magento setup:di:compilene renvoie plus d’erreur fatale. Auparavant, l’application générait une erreur la première fois que vous exécutiez cette commande, mais la deuxième exécution entraînait la réussite de la compilation.
- La mise à niveau n’échoue plus lorsqu’un plug-in est déclaré sur
Magento\Framework\Encryption\Encryptor.
- L’application affiche désormais un message d’erreur informatif lorsque certains thèmes ne sont pas déployés après l’exécution de
bin/magento setup:static-content:deploy. Auparavant, lorsque le déploiement se terminait correctement mais que tous les packages n’étaient pas déployés, l’application n’affichait pas d’erreur. Lorsque cette commande est exécutée avec le traitement parallèle activé et que le déploiement de chaque thème nécessite plus de temps que la durée d’exécution maximale spécifiée, cette commande peut se terminer correctement, bien que les thèmes ne soient pas déployés.
- La case Utiliser par défaut pour les paiements Klarna (Magasins > Configuration > Ventes > Modes de paiement > Klarna) reste cochée comme prévu lorsque l’étendue du site web change.
- L’exécution de
/bin/magento config:show vendor_module/general/valuerenvoie désormais0ou une chaîne vide comme prévu. Auparavant, elle renvoyaitConfiguration for path: "vendor_module/general/value" doesn't exist. Correctif soumis par Vadim Malesh dans la demande de tirage 28549. GitHub-23290
- La mise à niveau n’entraîne plus la défaillance soudaine du cluster Galera. Auparavant, le cluster Galera s’était brusquement arrêté après la réindexation immédiatement après la mise à niveau. Lors d’une mise à niveau, les tables d’index sont modifiées et le moteur passe de
MEMORYàInnoDB. À ce stade, le contenu de ces tableaux n’était plus synchronisé entre les nœuds du cluster Galera. GitHub-25334
- La désactivation du module PageBuilder n’affecte plus le rendu de la page du produit. Auparavant, les mises en page personnalisées sur la page produit disparaissaient lorsque le module était désactivé et l’application affichait une page vierge.
- Vous pouvez désormais utiliser
bin/magento sampledata:deploypour déployer des exemples de données comme prévu après l’installation d’Adobe Commerce à l’aide du compositeur. Auparavant, l’application générait cette erreur :Git installations must deploy sample data from GitHub; see https://experienceleague.adobe.com/fr/docs/commerce-operations/installation-guide/next-steps/sample-data/git-repositories for more information. Correctif soumis par Andrii Beziazychnyi dans la demande de tirage 27481. GitHub-19481
- Les performances du storefront ont été améliorées en éliminant le chargement inutile du composant
Datepicker. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27860. GitHub-28823
- L'exécution de
bin/magento setup:upgradese termine désormais comme prévu. Auparavant, l’application affichait le contenu du tableau imprimé pour les caches. Correctif soumis par Sathish Subramanian dans la demande de tirage 27567. GitHub-27091
bin/magento setup:static-content:deploy --language=alldéploie désormais toutes les langues utilisées sur le storefront et toutes les langues configurées par les utilisateurs administrateurs lorsqu’aucun paramètre de langue n’est défini. (en_USest toujours déployé par défaut.) Correctif envoyé par Anton Evers dans la 28922 de la demande de tirage. GitHub-29218
- L’application n’affiche plus le menu Sauvegarde lorsque la fonction Sauvegarde est désactivée. Correctif soumis par Eden Duong dans la demande de tirage 29222. GitHub-29280
- L’initialisation de l’assistant d’image de catalogue utilise désormais le modèle de produit au lieu de
DataObject. Correctif envoyé par jmonteros422 dans la demande de tirage 29435. GitHub-1711
- Les utilisateurs administrateurs peuvent désormais enregistrer un champ Durée de vie du jeton client (heures) vide (Admin Magasins > Configurations > Services > OAuth > Expiration du jeton d’accès). GitHub-29502
- Le paramètre Créer une redirection permanente pour l’ancienne URL est désormais désactivé par défaut pour les catégories. Correctif soumis par Vadim Malesh dans la demande de tirage 28752. GitHub-24922
AdminGWS
- L’application n’affiche plus le bouton Ajouter un attribut (Magasins > Attributs ou Ajouter un jeu d’attributs (Magasins > Attributes > Customer) lorsque l’administrateur connecté ne dispose pas des autorisations appropriées pour créer ces entités. Auparavant, l’application générait une erreur 404 lorsqu’un administrateur de site web qui ne disposait pas des autorisations appropriées tentait de créer un attribut Jeu d’attributs ou Client.
- L’application ne renvoie plus d’erreur lorsqu’un administrateur disposant de rôles restreints pour des sites web spécifiques tente de créer une sous-catégorie à partir de l’administrateur.
Intégration d’Adobe Stock
- Les images de la grille d’images d’Adobe Stock sont désormais correctement alignées une fois les filtres effacés. Correctif soumis par Nazar Klovanych dans la demande de tirage 28366. GitHub-824, GitHub-972
- La section Utilisé dans de la page des détails de l’image de la galerie Adobe Stock identifie désormais avec précision si l’image est associée à un produit. Correctif soumis par Nazar Klovanych dans la demande de tirage 28798. GitHub-1474
\Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::executesupprime désormais les liens vers les mots-clés qui ne sont pas spécifiés dans les paramètres et insère les nouveaux liens lors de la suppression des balises de mots-clés lors de la modification des détails de l’image. Correctif envoyé par jmonteros422 dans la demande de tirage 29207. GitHub-1391
- Le message
Login failedaffiché par l’application lorsqu’un commerçant clique sur Licence pour une image Adobe Stock enregistrée précédemment sans licence ne contient plus de balises HTML. Correctif soumis par yolouiese dans la demande de tirage 29398. GitHub-1684
- Cliquez sur les liens de la section Utilisé dans de la page Détails de l’image pour afficher désormais une grille qui affiche toutes les entités filtrées par l’image. Le filtre de ressources est également défini et affiché correctement. Auparavant, l’application n’affichait pas le titre de la ressource dans la section Filtres appliqués. Correctif soumis par Nazar Klovanych dans la demande de tirage 29367. GitHub-1694
- Lorsque l’image n’est pas utilisée l’application n’affiche plus la section Utilisé(e) dans de la page Détails de l’image. Correctif soumis par Nazar Klovanych dans la demande de tirage 29367. GitHub-1699
- Correction des problèmes d’affichage lors de l’ajout d’une nouvelle balise d’image qui dépasse le nombre maximal de caractères. Correctif soumis par Nazar Klovanych dans la demande de tirage 29367. GitHub-1702
- Assets peut désormais être vérifié comme prévu à l’aide du filtre de ressources dans la section Détails de l’image Utilisé dans. Correctif soumis par Nazar Klovanych dans la demande de tirage 29367. GitHub-1704
- Les informations sur les images utilisées par différentes entités (par exemple,
pageetcategory) sont désormais répertoriées et corrigées dans la page Détails de l’image. Correctif soumis par Nazar Klovanych dans la demande de tirage 29367. GitHub-1747
- Vous pouvez désormais utiliser le nouveau composant
UrlFilterApplierpour appliquer des filtres sur les grilles de produits, decms_pageet decms_blockà l’aide du paramètre d’URL GET. Correctif soumis par Gabriel da Gama dans la demande de tirage 28932. GitHub-1501
- Cliquez sur les liens de la section Utilisé dans pour une image dans la Galerie de médias pour ouvrir désormais la grille des entités qui sont filtrées par l’image comme prévu. Auparavant, le titre de l’image n’était pas affiché dans la section Filtres appliqués de la grille. Correctif soumis par Nazar Klovanych dans la demande de tirage 29429. GitHub-1694
- L’application ajoute désormais correctement les balises lorsque vous modifiez plusieurs images successivement dans la Galerie de médias. Correctif soumis par Nazar Klovanych dans la demande de tirage 29429. GitHub-1755
- L’application supprime désormais les balises des images Adobe Stock après qu’un commerçant les a supprimées et a enregistré les détails de l’image. Auparavant, les balises n’étaient pas supprimées tant que la page n’était pas actualisée. Correctif soumis par Honeymay Louiese Ignacio dans la demande de tirage 29400. GitHub-1703
Amazon Pay
-
Amazon Pay vérifie maintenant si un utilisateur est déjà connecté avant de générer les options de paiement.
-
Les problèmes liés à l’authentification multifacteur et aux paniers abandonnés ont été résolus.
-
Amazon Pay renseigne désormais correctement les
store namedans les e-mails et autres emplacements affichés. Si le champ Nom du magasin dans la configuration Amazon Pay est vide, l’extension récupère le nom par défaut du magasin (c’est-à-dire le nom que vous donnez à votre magasin dans l’administrateur). -
Les problèmes de localisation et de traduction des scénarios de refus ont été résolus. Le texte affiché n’est plus toujours en anglais.
Analytics
- Les administrateurs disposant des autorisations appropriées peuvent désormais accéder aux rapports avancés et aux rapports de segments.
- Adobe Commerce génère correctement les fichiers de données de rapports avancés et les envoie comme prévu à l’inventaire sur les déploiements avec des bases de données fractionnées. Auparavant, l'application ne générait pas ou n'envoyait pas le fichier
quotes.csvà Inventaire et, par conséquent, Inventaire ne générait pas les rapports attendus.
Braintree
-
Braintree envoie désormais le montant correct à PayPal lorsqu'un code promotion est appliqué sur la page de passage en caisse.
-
Apple Pay fonctionne désormais comme prévu lorsque les conditions générales sont activées sur la page de passage en caisse.
-
Les erreurs de navigateur ne se produisent plus lors du passage en caisse sur les ordinateurs de bureau lorsque Venmo est activé à partir de l’administrateur.
-
Le passage en caisse n’échoue plus lorsque l’acheteur saisit des caractères spéciaux dans les champs Nom du workflow de passage en caisse. Auparavant, l’authentification échouait, car l’API Braintree 3DS ne prenait pas en charge les caractères non-ASCII.
-
L’application affiche désormais le nom du destinataire correct dans la section d’expédition du workflow de passage en caisse lors de la commande à l’aide de PayPal.
-
L’application met désormais à jour la page de révision de commande comme prévu lorsqu’un acheteur modifie le mode d’expédition plusieurs fois lors du passage en caisse.
Lots de produits
- L’application ne renvoie plus d’exception lorsque vous essayez de créer un produit dans un déploiement dans lequel Inventory est installé, mais le module
Magento_InventoryBundleProductest désactivé.
- L’application calcule désormais correctement les remboursements hors ligne pour les commandes contenant des produits groupés.
- Le mini panier affiche désormais les prix corrects pour les produits groupés lorsque des prix de niveau sont également attribués pour les produits simples. GitHub-22807
- Les commerçants peuvent désormais créer un avoir pour les produits groupés qui offre un remboursement sans exiger le retour du produit. Auparavant, l’application générait une erreur. Correctif soumis par Dzung Nguyen dans la demande de tirage 27455. GitHub-23440
- L’application n’affiche plus de messages de validation redondants lorsqu’un acheteur ajoute un produit groupé à son panier sans sélectionner une option requise. Correctif soumis par Dzung Nguyen dans la demande de tirage 27455. GitHub-23440
- GraphQL prend désormais en charge la commande d’un produit groupé avec le type d’option
radioetdropdownavec plusieurs choix. Auparavant, l’application affichait un message à propos des entrées non valides pourBundleItem.type: radio/dropdown. Correctif soumis par Michał Derlatka dans la demande de tirage 29256. GitHub-26110
Cache
- L’espace de stockage du cache local est désormais conservé pendant la période définie dans Magasins > Configuration > Général > Web > Paramètres des cookies par défaut. Auparavant, la date d’expiration des cookies était codée en dur sur un jour, ce qui les désynchronisait de ce paramètre. Par conséquent, les messages de bienvenue n’ont pas conservé les informations des clients récurrents pendant la durée prévue.
- Le nombre d’appels au cache de page
configa été réduit. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 28992. GitHub-29159
- Le vernis ne renvoie plus d’erreur
Connection reset by peerlorsqu’un catalogue volumineux est réindexé selon le calendrier. Correctif soumis par Matthew O'Loughlin dans la demande de tirage 26256. GitHub-26255
- Le cache de page complet n’est plus effacé pour les produits non liés lorsqu’un produit a été modifié dans l’administration. GitHub-25670
Panier et passer en caisse
- Les requêtes SQL directes ont été remplacées par le fournisseur de données, ce qui a amélioré les performances d’extraction. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 29376. GitHub-29453
- Les listes Produits de la comparaison et Produits récemment comparés fonctionnent désormais comme prévu. Auparavant, lorsque la liste de comparaison était étendue, l’application n’affichait pas les produits, même si la section indiquait que la liste contenait des produits.
- Le bouton Supprimer de la section Ajouter au panier par SKU de la page Gérer le panier d’un client fonctionne désormais comme prévu lorsque plusieurs lignes sont sélectionnées.
- L’application ne renvoie plus d’erreur lorsque vous essayez de commander un produit par SKU lorsque les chiffres que vous saisissez correspondent à un SKU valide, mais la casse de ces chiffres diffère. Auparavant, lorsque vous entriez un SKU dans Mon compte > Classer par SKU qui ne correspondait pas exactement à un SKU valide, l’application générait une erreur.
- L’adresse de livraison d’un client est désormais sélectionnée par défaut au moment du passage en caisse lorsque l’adresse se trouve dans le pays identifié dans la liste des pays autorisés et que cette liste inclut uniquement ce pays. Auparavant, l’application ne sélectionnait pas l’adresse par défaut et affichait le message d’erreur suivant :
Please specify a regionId in shipping address.
- Les commerçants peuvent désormais activer l’option Appliquer au montant d’expédition dans l’onglet Action de Marketing > Règles de prix du panier > Ajouter une nouvelle règle lorsque la remise de montant fixe pour l’ensemble du panier est appliquée. GitHub-24422
- L’application ne renvoie plus d’exception lorsqu’un acheteur tente de déparamétrer le cookie de persistance après avoir commencé le passage en caisse, puis accédé à la page d’accueil du storefront. Auparavant, lorsque l’acheteur cliquait sur le Pas vous ? lien de la page d’accueil, l’application a généré l’exception suivante :
The shipping address is missing. Set the address and try again. GitHub-24218
- L’application affiche désormais un message de réussite de l’ajout au panier lorsqu’un client ajoute un produit en rupture de stock à son panier. Auparavant, le produit était ajouté, mais l’application n’affichait pas de message de réussite.
- Les attributs d’adresse personnalisés sont désormais inclus comme prévu dans le formulaire qui s’affiche pour l’étape de paiement dans le workflow de passage en caisse.
- La zone de saisie État/Province/Région est désormais activée comme prévu sur Mon compte > Carnet d’adresses > Ajouter une nouvelle adresse.
- Les remises sont désormais appliquées comme prévu aux frais d'expédition lorsque l'option Appliquer au montant d'expédition est activée. Correctif soumis par Andrii Kalinich dans la demande de tirage 28839. GitHub-26723
- Le code qui prend en charge la fermeture du mini panier a été restructuré pour supprimer la fonction
closeSidebar. La liaison de clic appropriée a été ajoutée à l’élément[data-action="close"]. Correction envoyée par lumnn dans la demande de tirage 28906. GitHub-29161
- Le nouveau bouton de configuration Afficher « Effacer le panier » sur la page du panier permet de contrôler l’affichage d’un bouton Effacer le panier sur la page d’affichage du panier. Par défaut, ce paramètre est désactivé. Correctif soumis par Pavlo Sydorenko dans la demande de tirage 27917. GitHub-28705
- La validation a été ajoutée au champ téléphone dans le workflow de passage en caisse. Correctif soumis par Oleh Usik dans la demande de tirage 27537. GitHub-28800
- Le passage en caisse des invités est désormais désactivé comme prévu lorsqu’un panier contient des produits téléchargeables lorsque les paramètres Partageable et Désactiver le passage en caisse des invités si le panier contient des éléments téléchargeables sont désactivés. Correctif soumis par Rani Priya dans la demande de tirage 23972. GitHub-23971
- Le message de réussite que l’application affiche lorsqu’un acheteur ajoute un produit à son panier à partir de la barre latérale du compte client contient désormais un lien vers le panier de l’acheteur. Correction envoyée par Ajith dans la demande de tirage 27977. GitHub-29097
- L’application sélectionne désormais une valeur vide par défaut pour le menu d’options de liste déroulante de préfixe du workflow de passage en caisse. Correctif soumis par Vadim Malesh dans la demande de tirage 28238. GitHub-18823
- Le message pop-up que l’application affiche lorsque vous supprimez plusieurs articles d’un panier décrit désormais avec précision le nombre et le type d’entités que vous avez sélectionné pour suppression. Correctif soumis par Nazar Klovanych dans la demande de tirage 29490. GitHub-1749
- L’application affiche désormais un formulaire d’enregistrement du client lorsqu’un utilisateur invité effectue le passage en caisse.
- Les champs d’attributs d’adresse du client personnalisés s’affichent désormais comme prévu dans le workflow de passage en caisse storefront.
- L’application récupère désormais le groupe de clients actuel pour un devis actif lors du passage en caisse. Auparavant, l’application utilisait le groupe de clients et clientes qui était actif lorsque le produit a été ajouté pour la première fois au panier. Si ce groupe de clients et clientes a été supprimé avant le passage en caisse, l’application générait une erreur. Correctif soumis par Konstantin dans la demande de tirage 28902. GitHub-29327
Catalogue
- L’application supprime désormais les produits désactivés du panier d’un acheteur avant le passage en caisse. Auparavant, lorsqu’un acheteur ajoutait à son panier un produit désactivé avant la fin de la commande, l’application supprimait le produit désactivé du panier, mais le produit restait dans le devis et l’acheteur ne pouvait pas effectuer de commande. GitHub-26680
- L’application trie désormais les produits les plus vendus comme prévu. Auparavant, le nombre de produits et la pagination des résultats de tri étaient incorrects. GitHub-25955
- Les acheteurs peuvent désormais ouvrir la page des détails d’un produit en cliquant sur son nom dans la barre latérale Comparer les produits . Correctif soumis par Eduard Chitoraga dans la demande de tirage 27451. GitHub-21101
children_countvaleurs restent désormais positives lorsqu’un administrateur supprime des catégories. Auparavant, lorsqu’un administrateur supprimait des catégories, lachildren_countpour les catégories restantes était négative. Correctif soumis par Vitaliy Prokopov dans la demande de tirage 28044. GitHub-27969
- L’application utilise désormais l’option par défaut (Configuration > Web > Dispositions par défaut > Disposition par défaut du produit) que vous avez sélectionnée pour l’attribut
page_layoutlors de la création d’un nouveau produit. Auparavant, la valeur par défaut sélectionnée n’était pas appliquée.
- Vous pouvez désormais effectuer des actions en masse sur le stock de produits en stock. Auparavant, lorsque vous essayiez d'effectuer une action en masse sur le stock de produits en stock, l'application affichait une page vierge. Si vous avez exécuté cette action avec l’application en mode Développeur, l’application a généré l’erreur suivante :
Notice: Undefined offset: 32000 in /Users/kodithuw/sites/m23inventory/inventory/InventoryCatalogAdminUi/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml on line 24
- Le nombre total d’enregistrements affiché lorsque vous cliquez sur Ajouter des produits dans l’onglet Produits lors de l’ajout de produits à une catégorie de catalogue ne change plus en fonction de l’ordre de tri des produits.
- La requête
{products(filter: {sku: {eq: "some sku"}}) {…}renvoie désormais les valeurs qui ont été converties dans la devise attendue. Auparavant,price_tiers.final_price.valueaffichait les prix spéciaux dans la devise de base. Correctif soumis par Petkovski Marjan dans la demande de tirage 28890. GitHub-26121
Règle de catalogue
- L’application ne renvoie plus d’erreur fatale lorsque vous enregistrez une règle de catalogue avec les conditions suivantes :
If ALL of these conditions are FALSE:, If ALL of these conditions are TRUE:, Attribute set is default
Nettoyage
- Correction d'un mauvais alignement de la case à cocher Admin Sales Order. Correctif soumis par Tu Nguyen dans la demande de tirage 27642. GitHub-27633
- Correction d'une faute d'orthographe dans la getter d'ID d'adresse de livraison dans le gestionnaire d'enregistrement d'adresse de commande client. Correctif soumis par Konstantin dans la demande de tirage 28810. GitHub-28982
- Correction du nom de la méthode
getRegionNameExpresionengetRegionNameExpression. Correctif soumis par Pierre Grimaud dans la demande de tirage 28832. GitHub-28829
- Une méthode de
initredondante a été supprimée deapp/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.phpetapp/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php. Correctif soumis par Oleh Usik dans la demande de tirage 28650. GitHub-29009
localStoragepolyfill a été déplacé debaseversfrontend. Correctif soumis par Ihor Sviziev dans la demande de tirage 28749. GitHub-28900
- Mise à jour du logo Adobe Commerce et suppression des espaces superflus dans le fichier LISEZ-MOI. Correctif soumis par Rafael Corr̻êa Gomes dans la demande de tirage 28891. GitHub-29056
- La classe de
overflowedinutile a été supprimée du widget de barre latérale du mini panier. Correction envoyée par lumnn dans la demande de tirage 28963. GitHub-29160
- Un sélecteur CSS incorrect dans la page Expédition a été corrigé. Correctif soumis par Tu Nguyen dans la demande de tirage 28639. GitHub-29261
- Le fichier
lib/internal/Magento/Framework/App/Request/Http.phpa été simplifié en optimisant la logique et en supprimant les affectations de variables redondantes et la surutilisation des retours dans une fonction . Correctif soumis par Chris Snedaker dans la demande de tirage 28608. GitHub-29381
- La commande
bin/magento module:statusaccepte désormais plusieurs noms de module en tant qu’arguments. Correctif soumis par Chandru Rajendran dans la demande de tirage 28250. GitHub-29344
- Correction d’une faute de frappe dans la description de classe de
\Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable. Correctif soumis par Benjamin Rosenberger dans la demande de tirage 29451. GitHub-29470
- La classe
TierPriceManagementa été refactorisée pour supprimer le code redondant. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 29202. GitHub-29477
autoload.phpa été refactorisé pour améliorer la lisibilité et la vitesse de retour. Correctif soumis par Vitaliy Ryaboy dans la demande de tirage 28923. GitHub-29527
Contenu CMS
- L’onglet Hiérarchie d’une vue de magasin par défaut sélectionnée affiche désormais la page parente sélectionnée comme prévu.
- L’application ne renvoie plus d’erreur lors de la création de la vue de la boutique lorsque la nouvelle vue de la boutique contient une page CMS avec la même clé URL qu’une page dans une autre vue de boutique. Correctif soumis par Vadim Malesh dans la demande de tirage 28421. GitHub-28357
- L’application renvoie désormais une erreur lorsqu’un commerçant crée une page CMS avec la même URL que la page Structure de l’entreprise. Auparavant, l’application affichait la page CMS au lieu de la page Structure de l’entreprise .
Produits configurables
- Les problèmes de pagination liés à la liste de modifications actuelles du produit configurable ont été corrigés.
- L’application ne met plus à jour la case Prix des produits associés chaque fois qu’un acheteur sélectionne des options pour un produit configurable. Auparavant, l’application mettait à jour la zone de prix chaque fois qu’un acheteur sélectionnait une option pour un produit configurable.
- L’application affiche désormais le prix correct des produits configurables avec des options personnalisables sur la page Créer une commande d’administration . Comme prévu, le prix affiché est une somme du prix du produit enfant et du prix de l'option personnalisée. Auparavant, l’application affichait uniquement le prix de l’option personnalisée. GitHub-25766
- La synthèse des commandes affiche désormais le montant de remise correct lorsqu'une règle de prix de panier a été appliquée. Auparavant, la règle n’arrondissait pas correctement les montants lors du calcul des remises sur les frais d’expédition.
- Les comptes utilisateur d’administrateur créés à partir d’un compte d’administrateur avec une portée restreinte peuvent désormais créer un produit configurable avec des attributs comme prévu. Auparavant, l’application générait cette erreur :
Notice: Undefined index: value_index in 23develop/app/code/Magento/ConfigurableProduct/Helper/Product/Options/Factory.php on line 101.
- L’application ne renvoie plus d’erreur de validation lorsque vous utilisez des
/V1/productsPOST pour un produit configurable avec une valeurintde 0. Auparavant, l’application générait cette erreur :Product with id "%1" does not contain required attribute "%2"."correctif soumis par Vadim Malesh dans la demande de tirage 29001. GitHub-13210
- L’attribut des options de configuration d’un produit parent n’est plus affecté à l’attribut
sized’un nouveau produit configurable. Correctif soumis par Abel Truong dans la demande de tirage 27339. GitHub-26449
Cookies
- L’application crée désormais un cookie
mage-translation-file-versionetmage-translation-storagemaximum par session. Correctif soumis par Ihor Sviziev dans la demande de tirage 27364. GitHub-27355
cron
- La configuration du consommateur de file d’attente de messages a été étendue avec de nouveaux paramètres qui permettent de contrôler les consommateurs et d’économiser des ressources de serveur et qui peuvent réduire la consommation de CPU de file d’attente des consommateurs. Voir Configurer des files d’attente de messages pour une description des paramètres
maxIdleTime,sleepetonlySpawnWhenMessageAvailable.
cronexpressions telles que Les3/10 * * * *sont maintenant planifiées comme prévu. Correctif soumis par Anton Evers dans la demande de tirage 28930. GitHub-29240
sales_clean_quotesne charge plus tous les devis expirés en même temps. Auparavant, l’application échouait avec cette erreur fatale, car tous les guillemets expirés étaient chargés simultanément :PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /path/to/magento2/vendor/magento/framework/Model/AbstractModel.php on line 359,
CSS
- L’application ne duplique plus le CSS lorsque le CSS critique est activé. Correctif soumis par Tu Nguyen dans la demande de tirage 28480. GitHub-26498
- Le compilateur LESS côté serveur importe désormais tous les fichiers CSS distants comme prévu lorsque vous exécutez
bin/magento setup:static-content:deploy -f. Auparavant, l’application n’importait pas les fichiers distants et générait une erreur. GitHub-25119
Attributs de client personnalisés
- Correction des problèmes d’alignement du texte explicatif sur les mots de passe et du champ Titre de la tâche sur la page Modifier les informations du compte client.
- CAPTCHA fonctionne désormais comme prévu lorsqu’un nouveau client clique sur le bouton Créer un compte sur la page d’enregistrement du client de storefront. Auparavant, l’application ne créait pas le compte client et affichait une erreur lorsque le client cliquait sur le bouton.
- Le workflow de passage en caisse n’affiche plus les valeurs d’attribut d’adresse du client personnalisé lorsque le client n’a saisi aucune donnée.
Client
- Les noms de région dans les adresses client de l’administrateur sont désormais traduits comme prévu.
- Les champs État/Province sont désormais renseignés comme prévu sur la page Modifier l’adresse (Mon compte > Carnet d’adresses).
- L’application ne renvoie plus d’erreur lorsqu’un client clique plusieurs fois sur le bouton Envoyer sur les formulaires du storefront pour lesquels le reCAPTCHA invisible a été activé. Auparavant, le fait de cliquer plusieurs fois sur ce bouton entraînait une erreur interne similaire à celle-ci :
Internal error: Make sure you are using reCaptcha V3 api keys.
- Enregistrer un client supprimé de l’administration génère désormais un message d’erreur uniquement. Auparavant, l’application affichait une page vierge et générait un rapport contenant la chaîne suivante :
"0":"No such entity with customerId = 3","1":"#1 Magento\\Customer\\Model CustomerRegistry->retrieve() called at [app\/code\/Magento\/Customer\/Model\/ResourceModel\/CustomerRepository.php:340".
- L’application affiche désormais un message d’erreur comme prévu lorsqu’un administrateur tente d’enregistrer une adresse pour un client dont le compte vient d’être supprimé. Auparavant, l’application affichait une zone de message vide.
- Les libellés des champs d’adresse du workflow de passage en caisse et du carnet d’adresses ont été modifiés par souci de cohérence.
- Les libellés Frontend reviennent désormais pour stocker les libellés si leurs valeurs ne sont pas nulles. Auparavant, les attributs du client utilisaient les libellés front-end par défaut. Correctif soumis par Toan Nguyen dans la demande de tirage 27064. GitHub-27063
- Le
sortOrdernombre de liens dans la mise en page XML a été corrigé. Auparavant, cet ordre était inversé et utilisé par ordre décroissant. Correctif soumis par Tu Nguyen dans la demande de tirage 27340. GitHub-27162
Segment client
- Les opérations en bloc ont été restructurées afin d’enregistrer et d’actualiser les segments de clients de manière asynchrone, ce qui a amélioré les performances de ces tâches pour les déploiements qui incluent de nombreux clients (plus de 3 000 000).
- Les conditions des segments clients fonctionnent désormais comme prévu dans un déploiement de base de données fractionnée. Auparavant, l’application générait une erreur lorsque vous tentiez de modifier un segment client en ajoutant une condition :
SQLSTATE[42S02]: Base table or view not found.
Répertoire
- Le format du menu déroulant État/Province est désormais cohérent dans l’ensemble de l’administration.
dotdigital
-
La synchronisation des commandes n’échoue plus lorsqu’une commande contient des SKU de produit qui n’existent plus dans le catalogue.
-
Les catégories de produits vides ne sont plus incluses dans les données Web insight.
-
Le tracking des comportements web fonctionne désormais pour les commerçants avec certaines configurations de thème. Un nouveau sélecteur de secours résout ce problème.
-
Le champ de données de statut d’abonné n’inclut plus de valeurs vides lorsque la synchronisation des clients a été exécutée à l’aide de cron. (L’émulation d’applications résout ce problème.)
-
Le mappage du carnet d’adresses fonctionne désormais comme prévu lorsqu’un compte numérique à points est activé par défaut, mais désactivé pour le site web principal.
-
Des coupons sont maintenant générés (à l’aide de l’URL de contenu dynamique externe pour la génération de coupons) pour les adresses e-mail qui contiennent des signes plus (« + »).
-
Les contacts ne sont plus réabonnés lorsque la valeur de leur
last_subscribed_atest nulle. -
Les erreurs de mise à niveau (datant de la version 4.5.2) qui affectaient les versions antérieures ont été résolues.
-
Correction d’un problème de régression introduit dans la version 4.5.3 qui affectait l’utilisation d’une méthode pour obtenir le statut d’abonné lors de la préparation de l’exportation d’abonnés.
-
Le chiffre total des abonnés synchronisés (présenté dans les journaux et à l’écran) est désormais correctement calculé.
Téléchargeable
- La zone Mes produits téléchargeables affiche désormais des liens vers les produits téléchargeables achetés qui font partie d’un produit regroupé comme prévu.
- Cliquer sur le bouton Exemple d’un produit téléchargeable à partir de la page de produit Admin télécharge désormais un exemple comme prévu. Auparavant, lorsque vous cliquiez sur Exemple, l’application affichait cette erreur :
The product that was requested doesn't exist. Verify the product and try again.
- Les acheteurs peuvent désormais télécharger des échantillons de produits téléchargeables qui sont en rupture de stock. Auparavant, lorsqu’un acheteur tentait de télécharger un exemple, l’application ouvrait un nouvel onglet, mais n’affichait pas de message informatif ou ne lançait pas le processus de téléchargement. Correctif soumis par Vadim Malesh dans la demande de tirage 28898. GitHub-23638
- Le message d’exception que l’application affiche lorsqu’un acheteur tente de définir une adresse de livraison pour un produit téléchargeable a été amélioré. Correctif soumis par Michał Derlatka dans la demande de tirage 28904. GitHub-26107
- Les données
stock_itemd’un produit sont mises à jour et les liens et exemples de produits téléchargeables sont conservés comme prévu lorsque vous utilisez un appel REST PUT pour mettre à jour les valeursstock_item. Auparavant, après la mise à jour du produit, le produit ne contenait plus de liens pour télécharger du contenu. Correctif soumis par Vadim Malesh dans la demande de tirage 28799. GitHub-21811
- L’application affiche désormais un message plus informatif lorsqu’un client définit l’adresse de livraison d’une commande qui contient uniquement des produits téléchargeables.
Bloc dynamique (anciennement bannière)
- Le titre du tableau correspond désormais au tableau de données (comme prévu) lorsque vous créez un bloc dynamique et ajoutez une règle de prix de catalogue associée.
- L’application envoie désormais des notifications par e-mail concernant les modifications de commande au bon e-mail du client si l’e-mail du client a été modifié après la création de la commande.
- Les e-mails de mise à jour de commande envoyés aux clients incluent désormais le statut de commande correct. Auparavant, si le statut d’une commande passait de
processingà un autre état, l’e-mail de commande ne reflétait pas le changement de statut.
- L’application n’affiche plus de messages trompeurs sur les comptes existants lors du passage en caisse des invités. Auparavant, lorsqu’un invité accédait à la page de passage en caisse, puis revenait à la page d’expédition, l’application affichait cette erreur :
You already have an account with us. Sign in or continue as guest.
- Les modèles d’e-mail personnalisés chargent désormais les mêmes éléments que les modèles d’e-mail natifs par défaut. Auparavant, certains éléments étaient manquants, notamment les valeurs de variable.
- Vous pouvez désormais créer un modèle d’e-mail qui envoie un e-mail avec
Content-Type: "text/plain". Auparavant, l’application ignorait le type de contenu spécifié dans le modèle. Correctif envoyé par twoonesixdigital dans la demande de tirage 26474. GitHub-26471
- CSS inutile supprimé du modèle d’aperçu d’e-mail. Correctif soumis par Tu Nguyen dans la demande de tirage 27828. GitHub-27543
- Le texte du modèle d’e-mail qui duplique le texte déjà affiché par le pied de page a été supprimé. Correctif soumis par Paweł Tylek dans la demande de tirage 27356. GitHub-28433
- Les e-mails d’alerte de produit sont désormais envoyés à partir du magasin auquel l’alerte est abonnée. Auparavant, cet e-mail était toujours envoyé à partir du magasin par défaut. Correctif soumis par Maciej Pawłowski dans la demande de tirage 26534. GitHub-28968
- Une variable
customer.nameen double a été supprimée du modèle d’e-mail. Correctif soumis par Paweł Tylek dans la demande de tirage 29054. GitHub-29087
- Les e-mails de notification envoyés aux vendeurs affectés à une entreprise incluent désormais le logo attribué à l’entreprise. Auparavant, l’e-mail de notification incluait le logo LUMA par défaut, et non l’e-mail du logo de l’entreprise chargé.
Frameworks
- Le champ Heure de la journée à laquelle envoyer les données de la page Admin Magasins > Configuration > GÉNÉRAL > Rapports avancés s’affiche désormais correctement.
- Les acheteurs peuvent désormais modifier le nombre de commandes affichées par page lorsque la liste Commandes s’étend sur plusieurs pages. Auparavant, l’application affichait ce message lorsque vous accédiez à la dernière page de commandes et tentiez de modifier le nombre de commandes affichées par page :
You have placed no orders. Il s’agissait d’un problème connu dans la version 2.4.0.
- Vous pouvez désormais ajouter des produits à une catégorie lors de l’implémentation du cache de niveau 2.
- Les en-têtes
X-Magento-Tagsne dépassent plus la taille autorisée par la spécification HTTP. Auparavant, les pages de catégorie qui contiennent de nombreux produits renvoyaient un en-têteX-Magento-Tagqui entraînait une erreur 503.
sales_order_shipment_track_save_commit_afterest maintenant déclenché comme prévu lorsque vous avez utilisé l’API REST pour créer une expédition.
- L’application affiche désormais un message d’erreur informatif lorsqu’une
di compileéchoue en raison d’une dépendance inexistante. Auparavant, le message affiché n’identifiait pas la classe dans laquelle l’exception s’était produite.
- L’application ne renvoie plus l’erreur fatale suivante lorsque Redis utilise toute la mémoire autorisée :
report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'.
- Les acheteurs peuvent désormais ajouter plusieurs produits à leur panier lorsque le module
Persistentest désactivé. GitHub-14486
Correctifs généraux
- Le tri des produits dans l’administrateur (Magasins > Attributs > Produits) affiche désormais tous les produits qui répondent à vos critères de recherche. Auparavant, l’application n’affichait pas les enregistrements. Pour les trier, vous deviez accéder à la première page des résultats de recherche.
- Les guillemets inutiles et les caractères d’échappement autour d’une URL dans
tracking.phtmlont été supprimés.
- Le
var/log/system.logaffiche désormais un message plus précis lorsqu’un utilisateur tente d’accéder à un fichier de ressources non existant sous le répertoire statique et que SCD OnDemand et le mode de production sont activés. L’application consigne désormais une erreur 404. Auparavant, l’application consignait le même message que celui consigné lorsque l’erreur se produisait en mode Développeur.
- La minimisation de JavaScript fonctionne désormais correctement. Le résolveur de fichiers de minimisation ne fait plus fuiter les variables vers la portée globale. Auparavant, les variables
ctx,origNameToUrletbaseUrlsous la fenêtre étaient divulguées. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27622. GitHub-28110
- Lorsque vous déboguez une erreur qui empêche la création d’objet, l’application imprime et consigne désormais le message d’exception d’origine. Auparavant, le message n’était consigné que dans le journal. Correctif soumis par Marvin Hinz dans la demande de tirage 26572. GitHub-26550
- L’exécution du rappel après validation des modifications de la base de données a été améliorée. Auparavant, si un rappel échouait avec une exception, tous les rappels échouaient. Correctif envoyé par Alok Patel dans la demande de tirage 27134. GitHub-28167
- Les mixins des modules sans dépendance définie ne renvoient plus cette erreur :
TypeError: Cannot read property 'map' of null. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27690. GitHub-28340
- Le polyfill de stockage est désormais chargé et appliqué uniquement lorsque
localStorageousessionStoragene sont pas disponibles. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27619. GitHub-28381
- Les listes de commandes de storefront multi-pages se comportent désormais comme prévu lorsqu’un acheteur modifie le nombre de résultats affichés par page à partir de la deuxième page de résultats ou de la page de résultats suivante. Auparavant, l’application affichait cette erreur lorsqu’un acheteur modifiait le nombre de résultats de recherche affichés dans la liste Mon compte > Mes commandes :
You have placed no orders. Correctif soumis par Vadim Malesh dans la demande de tirage 28417. GitHub-28488
- La méthode
addWarningobsolète a été remplacée par la méthodeaddWarningMessagedans le module de sécurité . Correctif soumis par kishorekumarkesavan dans la demande de tirage 28264. GitHub-28308
- Le code généré à l’aide des commandes de ligne de commande
bin/magentoest désormais conforme aux exigences et aux normes de codage. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 28351. GitHub-28376
- L’application n’affiche plus une page CMS plusieurs fois dans la hiérarchie du site si la page est affectée à plusieurs vues de magasin.
- L’enregistrement d’un attribut avec
backend_type = staticne supprime plus le contenu du champfrontend_class. Correctif envoyé par jiten-patel dans la demande de tirage 27369. GitHub-27051
- Le code et les
responsive.jsinutiles ont été supprimés des fichiers chargés par les thèmes. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27617. GitHub-28811
- La validation a été ajoutée au champ Nombre de symboles sur la page de configuration Admin CAPTCHA. Correctif soumis par Eden Duong dans la demande de tirage 29199. GitHub-29198
- Le flux RSS se charge désormais correctement. Auparavant, le flux ne se chargeait pas la première fois, mais il se chargeait comme prévu lorsque la page était actualisée. Correctif soumis par Vadim Malesh dans la demande de tirage 29455. GitHub-25211
- Une session persistante expirée est maintenant renouvelée comme prévu lorsque l’acheteur se reconnecte.
- La durée de vie du mot de passe définie dans Magasins > Configuration > Avancé > Admin est désormais respectée. Auparavant, si vous cliquiez sur Mot de passe oublié ? lorsque vous êtes invité à réinitialiser votre mot de passe, vous pouvez ignorer cette opération.
- Les codes promotionnels sont désormais appliqués uniquement au produit spécifié. Auparavant, l’application appliquait le code de coupon à tous les produits du panier. GitHub-28246
- Les paramètres d’expiration du panier ne sont plus réinitialisés lorsqu’une mise à jour de stock ou de prix se produit. Auparavant, lorsqu’un panier était configuré pour expirer dans 24 heures et qu’une mise à jour de l’inventaire ou une mise à jour des prix se produisait, les indexeurs renseignaient les
updated_at table, ce qui réinitialisait l’heure d’expiration.
- L’application ne renvoie plus d’erreur fatale lorsqu’un administrateur affecte un client qui a un panier actif à un groupe de clients.
- Lorsque vous sélectionnez une option de barre d’outils dans Outils de développement > Réseau sur une page de produit lors de l’exécution du navigateur Chrome,
toolbar.jsn’est plus initialisé deux fois. Correctif soumis par Paweł Tylek dans la demande de tirage 28838. GitHub-25934
- L’application ajoute désormais un ID de rôle ACL d’utilisateur administrateur à l’ID de cache de l’arborescence de produits. Cela limite les arborescences de catégories qu’un administrateur à la portée limitée peut voir comme prévu. Correction envoyée par quangdo-aligent dans la demande de tirage 27429. GitHub-28306
Cartes cadeaux
- Les comptes de carte cadeau capturent désormais les numéros de commande comme prévu. Auparavant, le champ Informations supplémentaires de l'onglet Historique du compte cadeau sélectionné n'affichait pas les ID de commande.
- L’utilisation d’une virgule comme séparateur décimal fonctionne désormais comme prévu. Auparavant, le séparateur de virgules ignorait les valeurs décimales.
- Les cartes-cadeaux sont maintenant affichées comme prévu dans le mini panier. Auparavant, l’application rendait les objets HTML sous forme de texte.
- Les avoirs reflètent désormais correctement le total général des commandes impliquant des produits à prix réduit et qui ont été payées par une combinaison de carte cadeau et de crédit de magasin.
Google Tag Manager
- L’application ne renvoie plus d’erreur JavaScript lors de l’extraction lorsque le paramètre Mode de restriction des cookies et le gestionnaire de balises Google sont activés.
GraphQL
- Les acheteurs peuvent sélectionner des options de message cadeau et d’emballage lors du passage en caisse. GraphQL couvre désormais les options de message cadeau pour différents types d’articles de panier. Voir
setGiftOptionsOnCartmutation etupdateCartItemsmutation. Correctif envoyé par Oleh Usik dans les demandes d’extraction 28519, 27956, 28072, 28072 et 246 dans les partenaires de référentiel privés-magento2ee. GitHub-253
- Les clients et les invités peuvent écrire des critiques de produits. Les clients peuvent également récupérer leurs historiques d’examen des produits. Voir Création d’une révision de produit et requête productReviewRatingsMetadata pour plus d’informations sur la récupération des informations sur l’infrastructure des révisions. Correctif soumis par Eduard Chitoraga dans la demande de tirage 27882. GitHub-28523
- Les clients peuvent appliquer ou supprimer des points de récompense à leurs paniers. Ils peuvent également consulter l’historique de leurs points de récompense. Voir
applyRewardPointsToCartetremoveRewardPointsFromCartpour une discussion sur la gestion des points de récompense dans un panier. Correctif soumis par Petkovski Marjan dans la demande de tirage 285 dans private repo partners-magento2ee et Dmitriy Gallyamov dans les demandes de tirage 284 et 281 dans private repo partners-magento2ee. GitHub-28835, GitHub-28833
- La mutation
addProductsToCartvous permet d’ajouter n’importe quel type de produit au panier actif. Nous recommandons d’utiliser cette mutation au lieu de mutations à usage unique telles queaddSimpleProductsToCart. Correctif soumis par Yaroslav Rogoza dans la demande de tirage 27914. GitHub-28524
- Les requêtes GraphQL relatives aux produits associés renvoient désormais des valeurs pour les produits associés qui ont été créés à partir de règles target. Auparavant, les requêtes relatives aux produits associés (vente incitative et vente croisée) ne renvoyaient des valeurs que si les produits associés étaient ajoutés à partir des paramètres du produit. Correctif soumis par Ulzii dans la demande de tirage 288 dans private repo partners-magento2ee. GitHub-28566
- La nouvelle requête
availableStoresrenvoie une liste d’attributs de configuration pour plusieurs magasins disponibles sous le même site web (en fonction du magasin actuel). Elle n’expose pas la liste des sites web. VoiravailableStoresrequête. Correctif soumis par Dmitriy Gallyamov dans la demande de tirage 28794. GitHub-28569
- GraphQL utilise désormais uniquement un jeton d’autorisation pour récupérer un type d’utilisateur et son identifiant. Auparavant, GraphQL utilisait les cookies d’un client actif pour récupérer ces informations lorsque le jeton d’autorisation était vide. Correctif soumis par Alexander Taranovsky dans la demande de tirage 27373. GitHub-28040
- Nous avons ajouté les mutations
createCustomerV2etupdateCustomerV2pour gérer les comptes clients. Ces nouvelles mutations nécessitent des objets d’entrée différents des mutationscreateCustomeretupdateCustomer. Pour modifier l’adresse e-mail d’un client, utilisez la nouvelle mutationupdateCustomerEmail. Correctif soumis par Michał Derlatka dans la demande de tirage 28888. GitHub-28570
updateCustomerne vous permet plus de définir une valeur deINTnon valide dans l’argumentgender. Correctif soumis par Alexander Taranovsky dans la demande de tirage 28487. GitHub-28481
- Vous pouvez utiliser la mutation
subscribeEmailToNewsletterpour abonner les clients à une newsletter. VoirsubscribeEmailToNewslettermutation. Correctif soumis par Alexander Taranovsky dans la demande de tirage 27586. GitHub-27337
- Suppression de la logique redondante dans le résolveur de mutation
setShippingMethodsOnCart. Correctif soumis par Alexander Taranovsky dans la demande de tirage 27349. GitHub-28262
- Ajout de la couverture du test pour l’erreur de
Please provide Email of senderassociée à la mutationsendEmailToFriend. Correctif soumis par Alexander Taranovsky dans la demande de tirage 28034. GitHub-28138
- La requête
productsrenvoie désormais les libellés d’option d’attribut de produit pour la vue de magasin par défaut comme prévu. Auparavant, cette requête renvoyait les libellés d’option d’attribut de produit définis pour l’administrateur. Correctif soumis par Dmitriy Gallyamov dans la demande de tirage 28647. GitHub-28568
- Les agrégations d’attributs personnalisés renvoient désormais des valeurs d’option spécifiques au magasin. Correctif soumis par Dmitriy Gallyamov dans la demande de tirage 28647. GitHub-28572
- Les intervalles de prix renvoyés dans une agrégation de produits peuvent désormais être uniquement numériques (aucun caractère générique n’est autorisé). Correctif soumis par Dmitriy Gallyamov dans la demande de tirage 28745. GitHub-28628
- La requête
categoryListrenvoie désormais la réponse correcte lors de l’utilisation de fragments. Correctif envoyé par Ulzii dans la demande de tirage 28710. GitHub-28584
- La recherche de produit GraphQL prend désormais en compte les autorisations de catégorie configurées. Auparavant, la recherche de produits ignorait le paramètre Activer (Magasins > Configuration > Catalogue > Catalogue > Autorisations de catégorie). Correctif soumis par Petkovski Marjan dans la demande de tirage 28757 et la demande de tirage 271 dans le référentiel privé
partners-magento2ee. GitHub-28563
-
Vous pouvez désormais ajouter un produit à un panier à l’aide de
addSimpleProductToCartlorsque d’autres articles du panier sont en rupture de stock. Auparavant, l’application renvoyait cette erreur :Some of the products are out of stock. GitHub-26683 -
La méthode de
CategoryGraphQL par défaut trie désormais les données par position de catégorie comme prévu. Correctif soumis par Derrik Nyomo dans la demande de tirage 29301. GitHub-104 -
Ajout de la prise en charge des listes de souhaits dans Magento Open Source. Vous pouvez ajouter des éléments, mettre à jour des éléments et supprimer des éléments d’une liste de souhaits. Correctif soumis par Eduard Chitoraga dans les demandes d'extraction 28205 et 264 dans private repo partners-magento2ee. GitHub-28551
-
La mutation
addProductsToCartvous permet d’ajouter n’importe quel type de produit au panier actif. Nous recommandons d’utiliser cette mutation au lieu de mutations à usage unique telles queaddSimpleProductsToCart. Correctif soumis par Yaroslav Rogoza dans la demande de tirage 27914. GitHub-28524 -
Ajout de la prise en charge de GraphQL Vault pour le mode de paiement Payflow Pro Vault. Correctif soumis par Oleh Usik dans la demande de tirage 28821. GitHub-28520
-
Mise à jour de la requête
storeConfigGraphQL afin d’inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande de tirage 27876. GitHub-28521 -
Ajout de la mutation
resetPassword. Correctif soumis par Oleh Usik dans la demande de tirage 27876. GitHub-28521 -
Ajout de la mutation
requestPasswordResetEmail, qui déclenche l’e-mail de réinitialisation du mot de passe pour l’adresse e-mail fournie. Correctif soumis par Oleh Usik dans la demande de tirage 27876. GitHub-28521 -
Ajout d'une discussion sur Klarna GraphQL dans le mode de paiement de Klarna et
createKlarnaPaymentsSession
Images
- Le balisage HTML des images miniatures a été amélioré. Correctif soumis par Tu Nguyen dans la demande de tirage 28642. GitHub-29468
Importer/exporter
- Le fichier
error_report.csvse télécharge désormais avec le contenu et est disponible dans le répertoirevar/import_history/comme prévu. Auparavant, ce fichier n’était pas généré après l’importation.
- L’importation d’un produit à l’aide d’un fichier CSV génère désormais un fichier
error_report.csvcomme prévu. Auparavant, l’application générait le fichier, mais l’a supprimé une fois l’importation terminée. Correctif soumis par Vadim Malesh dans la demande de tirage 28460. GitHub-28420
- Suppression des importations de classe redondantes dans toute la base de code. Correctif soumis par Oleh Usik dans la demande de tirage 28696. GitHub-29012
- L’application importe désormais avec succès les adresses client contenant une région pour un pays qui n’a pas de régions définies. Auparavant, l’application générait cette erreur :
Please enter a valid region.
- L’application charge désormais le jeu d’attributs d’entité correct lorsqu’un commerçant sélectionne un type d’entité lors de la planification d’une nouvelle exportation.
- La position des produits dans le tableau
catalog_category_productest désormais mise à jour comme prévu lorsqu’un administrateur crée un produit dans l’Administration et l’affecte à une catégorie. Auparavant, la position des nouveaux produits se voyait toujours attribuer une valeur 0.
- Les données client sont désormais correctement exportées depuis l’administration et la grille de données d’exportation affiche les données client comme prévu. Auparavant, une erreur liée à l’allocation de mémoire se produisait lors de l’exportation.
- Les fichiers CSV importés capturent désormais les informations relatives aux produits comme prévu. Auparavant, les informations relatives aux produits n’étaient pas chargées de manière cohérente la première fois que le fichier CSV était importé.
- Suppression des paramètres de construction inutilisés dans
AdvancedPricing.php. GitHub-29531
Index
Magento_CacheInvalidategère désormais correctement les modèles de balises volumineux lors de l’exécution d’unePURGE.sendPurgeRequesta été refactorisé pour gérer un tableau de balises au lieu d’exiger que l’appelant utilise desimplode(). Correctif soumis par Matthew O'Loughlin dans la demande de tirage 26256. GitHub-26255
- Les indexeurs partagés affichent désormais un statut valide après l’exécution du
bin/magento indexer:statusaprès la réindexation. Auparavant, les indexeurs partagés affichaient un statut non valide après une réindexation complète.
Infrastructure
- Les problèmes de chargement des pages de catalogues et de produits sur les déploiements exécutant PHP 7.4.9 ne se produisent plus. Auparavant, l’application générait cette erreur lorsque vous tentiez de charger le catalogue et les pages de produits :
There has been an error processing your request. Exception printing is disabled by default for security reasons. GitHub-29502
- Toutes les exceptions qui se produisent lorsque les dispositions sont rendues en mode production sont désormais consignées dans le fichier journal des exceptions (
var/report). Auparavant, l’application consignait ces messages dans le journal système en tant que problèmes critiques.
- Les expressions régulières fonctionnent désormais correctement pour les pages volumineuses suite à une augmentation de
ipcre.backtrack_limit etpcre.recursion_limità environ 1000000. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27270. GitHub-26026
- La génération des intercepteurs a été améliorée.
} else {instructions ont été supprimées des intercepteurs etarray_mapa remplacéforeach. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27902. GitHub-28383
- La création de tableau est désormais cohérente dans toute la classe (
app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php). Correctif soumis par Nathan de Graaf dans la demande de tirage 28515. GitHub-28795
- Les modules externes ont été migrés hors du framework afin de suivre la bonne pratique qui consiste à interdire les modules externes dans l’espace de noms du framework. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27965. GitHub-27962
- L’application ne renvoie plus d’erreur
Undefined class constantlorsqu’un intercepteur est généré. Correctif soumis par Vova Yatsyuk dans la demande de tirage 28797. GitHub-28981
- Les données de formulaire sont désormais conservées lorsque l’application renvoie une exception d’intégration lorsque vous enregistrez une intégration à l’aide d’un nom déjà utilisé. Correctif soumis par Aditya Yadav dans la demande de tirage 26660. GitHub-28143
- L’application ne tronque plus les en-têtes
X-Forwarded-Forà 32 caractères. Correctif soumis par Ihor Sviziev dans la demande de tirage 27221. GitHub-28693
- La logique qui vérifie si une redirection est interne fonctionne désormais correctement dans Admin lors de l’utilisation d’un domaine d’administration personnalisé. Auparavant, les problèmes liés à cette logique entraînaient de nombreuses redirections d’administration vers la page d’accueil du magasin par défaut. Correctif soumis par Vadim Malesh dans la demande de tirage 29066. GitHub-28943
- Les problèmes avec le fichier
styles-old.lessont été éliminés, et linting n'identifie plus les erreurs. Correctif soumis par Tu Nguyen dans la demande de tirage 28895. GitHub-24004
NonComposerComponentRegistration.phpa été refactorisé. Correctif soumis par Vitaliy Ryaboy dans la demande de tirage 28975. GitHub-29308
ResourceConnection.phpa été refactorisé pour améliorer la lisibilité de la classe. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 29341. GitHub-29389
- Le fichier LISEZ-MOI du serveur web intégré a été mis à jour afin d’inclure tous les paramètres Elasticsearch. Correctif soumis par Yevhenii Dumskyi dans la demande de tirage 29300. GitHub-29299
- Le plug-in
Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSaverenvoie désormais une valeur comme prévu. Auparavant, ce plug-in ne renvoyait pas de valeur. Par conséquent, l’enregistrement d’une vue de magasin entraînait une erreur. Correctif soumis par Pieter Hoste dans la demande de tirage 29035. GitHub-29034
-
Ajout de la prise en charge suivante des méthodes magiques pour
DataObject:- nouvelle extension pour prendre en charge
get/set/has/unsméthodes magiques (avec utilisation de__call) - Prise en charge de SessionManager, qui transfère tous les appels vers le conteneur DataObject
- couverture de test pour les extensions
- tests mis à jour pour la vérification des erreurs filtrées
- niveau de contrôle PHPStan augmenté de 0 à 1. Correctif soumis par Oleksandr Kravchuk dans la demande de tirage 27905. GitHub-28303
- nouvelle extension pour prendre en charge
ScopeConfigInterfacepeut désormais être plus qu’une chaîne. La restriction demagentoConfigFixtureà string uniquement était le résultat involontaire d’une requête d’extraction précédente et a été rétablie. Correctif soumis par Kristof, Fooman dans la demande de tirage 29305. GitHub-29345
- La méthode
convertConfigTimeToUtcne renvoie plus d’erreur fatale en raison de l’envoi de paramètres incorrects au constructeurPhrase. Correctif soumis par Kos Rafał dans la demande de tirage 29483. GitHub-29525
- Les filtres de prix fonctionnent désormais comme prévu sur les données de grille lorsque
Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getConditionetMagento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue()renvoient un tableau avec des index contenant des données de chaînefromouto. Auparavant, l’application générait cette erreur :Notice: A non well formed numeric value encountered in vendor/magento/module-backend/Block/Widget/Grid/Column/Filter/Price.php on line 197. Correctif soumis par Nikita Sarychev dans la demande de tirage 29214. GitHub-29213
- Ajout d’un point d’extension pour prendre en charge l’ajout d’HTML à la page de catégorie. Cette opération corrige un bug qui avait été introduit par une requête de tirage précédente. Correctif soumis par iGerchak dans la demande de tirage 29291. GitHub-29286
Inventaire
- Des commentaires de code inutiles ont été supprimés de
app/code/Magento/CatalogInventory/Model/StockState.php. Correctif soumis par Vitaliy Prokopov dans la demande de tirage 27758. GitHub-26702
Navigation superposée
- La barre latérale de navigation superposée affiche désormais les attributs booléens avec les deux options (oui/non) et les nombres de produits correspondants. Auparavant, la navigation par couches ne renvoyait pas d’option no pour les attributs booléens dans les déploiements utilisant Elasticsearch.
- Le filtre de navigation en calques d’échantillon est désormais cohérent avec les filtres standard utilisés dans Adobe Commerce. Correctif soumis par Bartłomiej Szubert dans la demande de tirage 28015. GitHub-28011
Journalisation
- Toutes les erreurs de référence rompues sont désormais consignées lorsque les déploiements sont en mode Développeur uniquement. Auparavant, une erreur était également consignée pour les déploiements en mode de production, ce qui gonflait les journaux d’erreurs. Correctif soumis par Bartłomiej Szubert dans la demande de tirage 28735. GitHub-26504
Galerie de médias
- L’interface utilisateur de configuration de la Galerie de médias (Admin Magasins > Configuration > Avancé > Système) a été réorganisé. Correctif soumis par Shankar Konar dans la demande de tirage 29433. GitHub-28011
- Ajout de tests pour couvrir les liens Utilisé dans pour une image dans la galerie de médias. Correctif soumis par Nazar Klovanych dans la demande de tirage 29392. GitHub-1963
- L’application ne renvoie plus d’exception lorsqu’un commerçant tente d’enregistrer un produit avec son image associée lorsque la Galerie de médias est désactivée. Correctif soumis par Nazar Klovanych dans la demande de tirage 29492. GitHub-1750
MFTF
- Les
AdminSubmitAdvancedInventoryFormActionGroup,AdminClickOnAdvancedInventoryLinkActionGroupetAdminSetStockStatusConfigActionGroupgroupes d’actions sont désormais utilisés dans les tests, conformément aux bonnes pratiques. Correctif soumis par Oleh USIA dans la demande de tirage 29386. GitHub-29420
SearchProductGridByKeywordActionGroupest désormais utilisé pour la recherche dans la grille de produits. Correctif soumis par Oleh Usik dans la demande de tirage 29385. GitHub-29434
AdminCategoriesClickDoneButtonOnPopupActionGroupest maintenant utilisé pour cliquer sur Terminé dans la fenêtre contextuelle Rechercher des catégories. Correctif soumis par Oleh Usik dans la demande de tirage 28989. GitHub-29380
LoginToStorefrontActionGroupest désormais utilisé pour remplacer une séquence d’actions utilisée pour la connexion du client store front. Correctif soumis par Sathish Subramanian dans la demande de tirage 28113. GitHub-28165
AdminUpdateCustomURLRewritesPermanentTesta été restructuré pour répondre aux meilleures pratiques du MFTF. Correctif soumis par Kate Kyzyma dans la demande de tirage 28361. GitHub-28393
- Les noms des tests ont été modifiés pour respecter les conventions MFTF. Correctif soumis par Evgeny Levinsky dans la demande de tirage 27839. GitHub-28305
Nouveaux groupes d’action
StorefrontCheckoutClickNextButtonActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 29472. GitHub-29539
AdminProductFormSaveActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 29142. GitHub-29292
AdminSaveCategoryActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 28993. GitHub-29388
AdminProductGridSectionClickFirstRowActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 29000. GitHub-29295
AdminProductFormCategoryExistInCategoryListActionGroupetAdminProductFormCategoryNotExistInCategoryListActionGroupCorrectif soumis par Alexander Steshuk dans la demande de tirage 28287. GitHub-28392
AdminExpandCategoryTreeActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 29133. GitHub-29289
AdminTaxRateGridOpenPageActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 29007. GitHub-29281
AdminNavigateNewCustomerActionGroupCorrectif soumis par Oleh Usik dans la demande de tirage 29134. GitHub-29287
Nouveaux tests
-
Ajout d’un test pour la suppression d’une page CMS en tant qu’utilisateur administrateur. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28112. GitHub-28202
-
Ajout du test
StorefrontShareCustomerWishlistActionGrouppour le partage de listes de souhaits de clients avec des adresses e-mail non valides. Le test existant pour le partage de liste de souhaits (StorefrontShareWishlistEntityTest) a été restructuré.StorefrontCustomerShareWishlistActionGroupa été abandonné.
- Ajout d’un test pour vérifier l’implémentation du paramètre de configuration Seuil gauche X uniquement. Correctif soumis par Oleh Usik dans la demande de tirage 27549. GitHub-28755
Newsletter
- L’exportation de la liste des abonnés à la newsletter à l’aide de l’option
Excel XMLentraîne désormais l’exportation de toutes les lignes comme prévu. Auparavant, les données exportées incluaient uniquement la valeur de pagination de la page, et non toutes les lignes.
- Les e-mails d’abonnement à une newsletter utilisent désormais les mêmes balises HTML que les autres e-mails liés à la newsletter. Correctif soumis par Paweł Tylek dans la demande de tirage 27357. GitHub-28166
- Ajoute un test pour supprimer un abonné à la newsletter en tant qu’utilisateur administrateur. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28972. GitHub-29032
- Ajout de tests pour l’abonnement à la newsletter des invités avec une option non autorisée dans les instructions de configuration. Ce test remplace les
VerifyRegistredLinkDisplayedForGuestSubscriptionNoTestetStorefrontCreateNewSubscriberActionGroupobsolètes. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28872. GitHub-29039
Commandes
- Le
GetAssetIdByContentFieldInterfaceet son implémentation sur les modulesMediaContentpermettent désormais à l’intégration d’Adobe Stock d’étendreMediaGalleryfonctionnalité de filtrage. Correctif soumis par Gabriel da Gama dans la demande de tirage 29058. GitHub-1464
- Les valeurs
CustomerAddressId’un nouveau client sont désormais validées entre guillemets. Correctif soumis par Andrii Kalinich dans la demande de tirage 29139. GitHub-28793
- Le statut de commande d'un avoir dont le total est nul est désormais
Closed. Auparavant, l’application indiquait que son statut de commande étaitComplete. Correctif soumis par Andrii Kalinich dans la demande de tirage 29023. GitHub-22762
Page Builder
- Les attributs de produit
descriptionetshort_descriptionont été réorganisés afin de mieux s’adapter aux modifications planifiées de l’évaluation du contenu de Page Builder. Correctif soumis par Matt Walters dans la demande de tirage 29238. GitHub-543
Modes de paiement
- L’application affiche désormais un message qui vous invite à saisir les données de carte de crédit obligatoires lorsque vous cliquez sur Soumettre pour une commande Admin sans saisir d’informations de paiement valides. Auparavant, le programme de validation de carte Braintree ne générait pas d’erreur lorsque les champs d’entrée de paiement n’étaient pas valides et que la page devenait inactive.
- Vous pouvez désormais modifier la méthode d’expédition d’une commande que vous créez à partir de l’administrateur pour un client dont le compte dispose d’une carte de crédit stockée (Braintree). Auparavant, lorsque vous sélectionniez un autre mode d’expédition, la carte stockée n’était pas sélectionnée et l’application ne passait pas de commande.
PayPal
- La page de révision des commandes du workflow de passage en caisse affiche désormais le montant d’expédition correct pour PayPal via les commandes Braintree pour lesquelles le mode d’expédition a été modifié lors du passage en caisse. Auparavant, lorsqu’un client modifiait la méthode d’expédition sur la page de Vérification des commandes PayPal du workflow de passage en caisse, l’application ne mettait pas à jour le total de la commande avec la méthode appropriée.
- Les commerçants peuvent désormais annuler avec succès les commandes autorisées à l'aide de PayPal. Auparavant, l’application n’annulait pas la commande et affichait cette erreur :
Declined: 10601-Authorization has expired.
- L'application ne vide plus votre panier lorsque vous annulez une commande en fermant la fenêtre contextuelle de paiement PayPal après avoir d'abord effectué une autre commande.
Performances
- Trois nouveaux paramètres de configuration prennent en charge une diminution de la consommation de CPU des files d’attente des consommateurs. Ces paramètres facultatifs permettent de mieux contrôler les consommateurs et d’économiser les ressources du serveur. Voir Configurer des files d’attente de messages pour une description des paramètres
maxIdleTime,sleepetonlySpawnWhenMessageAvailable.
-
La configuration de la liste de plug-ins est maintenant générée lors de l’exécution de la commande
di:compile. Ces informations de configuration sont écrites dans des dossiers de métadonnées générés en fonction de la portée. Auparavant, ces informations étaient stockées dans le cache. Les améliorations de performances obtenues sont les suivantes :- La taille du cache réseau a diminué
- Le temps d’exécution de nombreux scénarios a été amélioré.
- L’application charge désormais le widget de curseur approprié à la demande, ce qui a amélioré le chargement de la page. La personnalisation du widget du curseur tactile a été déplacée vers un fichier distinct afin qu’il ne puisse être chargé que sur les appareils compatibles. Le type de widget de curseur approprié n’est désormais chargé que lorsque la liaison de plage est réellement utilisée sur la page. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27616. GitHub-28807
- Les performances de passage en caisse avec plusieurs commandes simultanées ont été améliorées.
- Les blocages ne se produisent plus lorsque le processus d'importation exécute une insertion en bloc et que le processus de réindexation exécute simultanément une insertion volumineuse à partir de la sélection. Auparavant, l’application affichait cette erreur :
PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock. GitHub-8933
Autorisations de retour de marchandises (RMA)
- La page Retours fonctionne désormais comme prévu après la création d’une étiquette d’expédition pour une autorisation de retour de marchandise (RMA). Auparavant, les commerçants ne pouvaient pas interagir avec les éléments de page sur la page Retours après avoir créé une étiquette d'expédition pour un retour client. Il s’agissait d’un problème connu dans la version 2.4.0, que
MC-35984-2.4.0-CE-composer.patchavez résolu dans la version 2.4.0.
- L’application affiche désormais soit un message d’erreur informatif, soit tous les produits disponibles lorsqu’un administrateur disposant d’autorisations limitées tente de créer un retour pour les produits qui ne se trouvent plus dans la portée affectée au site web. Auparavant, l’application affichait une page vierge.
Examens
- Une clé unique pour
entity_pk_value-entity_type-store_ida été ajoutée au tableaureview_entity_summary, ce qui empêche la création de lignes en double pour le même ID de produit (entity_pk_value). Auparavant, cette absence de clé unique entraînait des lignes en double pour le même ID de produit et des erreurs SQL.
Ventes
- L'application n'affecte plus le statut
Completeaprès la facturation à une commande qui ne nécessite aucun paiement.
- Le nouvel e-mail d’expédition généré par l’API REST contient désormais les mêmes informations d’expédition et de client que les expéditions créées manuellement à partir de l’administration. Auparavant, cet e-mail ne contenait pas le nom du client, les informations de suivi, les produits commandés et d’autres informations sur la commande.
- Les noms d’utilisateurs invités sont désormais visibles comme prévu dans les e-mails relatifs à la facture et à l’expédition lorsque les e-mails sont chargés ou personnalisés à partir de l’administration.
- La facture PDF est maintenant traduite dans la langue de la vue du magasin où la commande a été passée. Auparavant, la facture PDF était traduite dans la langue de l’administrateur.
- Vous pouvez maintenant émettre un remboursement comme prévu à partir de la page avoir. GitHub-29014
- Les noms de zones localisées qui s’affichent sur la page Commande du storefront sont désormais correctement traduits. Auparavant, le nom de la région n’était pas basé sur le paramètre régional spécifié, sauf s’il était modifié dans l’administration.
- Les expéditions créées via le point d’entrée POST
/rest/V1/shipmentmettent désormais correctement à jour les commandes. Auparavant, l'application créait une expédition, mais le statut de l'expédition restait à l'état Traitement.
- Les avoirs affichent désormais le mode de paiement dérivé de l'étendue du magasin dans lequel la commande a été effectuée. Auparavant, les avoirs affichaient le nom tel que défini dans la portée de magasin par défaut. Correctif soumis par Ledian Hymetllari dans la demande de tirage 27582. GitHub-27570
Rechercher search-heading
- Vous pouvez désormais rechercher des produits par attribut à partir de l’aperçu client Admin à l’aide de la recherche rapide. Auparavant, une exception s’était produite sur la page des résultats de la recherche catalogue.
- L’application affiche désormais les produits configurables sur la page de catégorie comme prévu après l’ajout d’un attribut de produit.
- Les résultats Elasticsearch incluent désormais les valeurs correctes pour les options d’attribut de chaque vue de magasin. Si un attribut de liste déroulante ou de sélection multiple a une valeur d’option différente dans l’affichage de la boutique autre que par défaut de celle dans l’affichage de la boutique par défaut, Elasticsearch indexe désormais cette valeur ou renvoie le produit avec cette valeur dans les résultats. Auparavant, Elasticsearch n’indexait pas cette valeur ou ne renvoyait pas le produit avec cette valeur dans les résultats.
- La recherche par SKU fonctionne désormais comme prévu dans la recherche avancée avec Elasticsearch. Auparavant, lorsque vous tentiez d’effectuer une recherche par SKU, l’application affichait le message d’erreur suivant :
We can't find any items matching these search criteria. Modify your search.
- La recherche avancée ne permet plus aux acheteurs de filtrer les prix négatifs. Correctif soumis par Rohan Hapani dans la demande de tirage 27359. GitHub-27358
- Les valeurs d’étendue sont maintenant réinitialisées comme prévu sur le formulaire Nouveau groupe de synonymes . Correctif soumis par Sathish Subramanian dans la demande de tirage 29206. GitHub-28947
Expédition
- L’application calcule désormais correctement les tarifs de la table d’expédition après la mise à niveau. Auparavant, les tarifs de la table d’expédition étaient calculés sur la base du prix net, qui excluait la TVA.
- Les clients peuvent désormais supprimer des points de récompense sur la page de révision de commande du workflow de passage en caisse lors de la caisse avec plusieurs adresses. Auparavant, l’application générait une erreur
404 Not Foundlorsqu’un client cliquait sur le bouton Supprimer pour supprimer des points pour une adresse. Il s’agissait d’un problème connu dans la version 2.4.0.
- L’application affiche désormais les taux d’expédition dans la devise appropriée dans le workflow de passage en caisse pour les commandes spécifiant FedEx comme méthode d’expédition.
- Les PDF de plusieurs pages d'étiquettes d'expédition pour les commandes expédiées par UPS affichent désormais le nombre correct.
- Les problèmes liés aux composants JavaScript de la page Créer des packages ont été résolus. Auparavant, l'application n'affichait pas la case à cocher Créer une étiquette d'expédition sur cette page et vous ne pouviez pas créer d'étiquette d'expédition pour une commande existante.
Plan du site
- Le plan du site dans
robots.txtest désormais spécifique au magasin . Correctif soumis par Vadim Malesh dans la demande de tirage 29331. GitHub-28901
- Les valeurs codées sont désormais correctement placées dans une séquence d’échappement dans le fichier
sitemap.xml. Auparavant, lorsque vous incluiez des caractères codés dans le nom d’un produit ou le titre d’une image, le plan de site généré n’était pas valide.
Évaluation
- Le libellé d’attribut Définir le produit comme nouveau s’affiche désormais comme prévu sur les pages de détails d’un produit et de mise à jour planifiée.
- Vous pouvez maintenant prévisualiser le planning d’évaluation d’un bloc CMS. Auparavant, l’application générait une erreur fatale.
- Vous pouvez désormais accéder à la page Aperçu de CMS lors de la modification d’une page CMS avec une mise à jour planifiée et de sa réaffectation du magasin par défaut à un autre magasin. Auparavant, l’application générait une erreur 404 lorsque vous cliquiez sur le lien d’aperçu.
- Vous pouvez désormais utiliser les
/V1/products/special-pricePOST pour mettre à jour le prix spécial d’un produit sans spécifier de valeur de paramètreprice_to. Auparavant, les tentatives de définition de la mise à jour du prix sans le paramètreprice_tospécifié étaient infructueuses.
Stocker
- La suppression d’une vue de magasin créée précédemment n’entraîne plus d’erreur dans les déploiements avec une configuration de base de données fractionnée. Auparavant, l’application générait une exception.
- Vous pouvez désormais exporter le code de site web
config.phpet par défaut d’un site web pour installer et configurer l’application sur un second site web dans un déploiement multisite. Auparavant, le magasin et la vue par défaut disparaissaient après l’exportation et des erreurs se produisaient sur le storefront.
Swagger
- Vous pouvez désormais générer un jeton client avec Swagger. Auparavant, Swagger ne générait pas de code de réponse lorsque des informations d’accès client valides étaient saisies, et l’application affichait cette erreur :
The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later. Correctif soumis par Vadim Malesh dans la demande de tirage 28822. GitHub-27098
Nuanciers
- Les produits configurables avec des échantillons affichent désormais la tarification de niveau lorsqu’un acheteur clique sur Modifier dans le panier. Auparavant, l’application n’affichait pas les prix de niveau dans le panier avant le passage en caisse. Correctif soumis par Sathish Subramanian dans la demande de tirage 29137. GitHub-28270
- L’application affiche désormais les prix de niveau comme prévu pour les variations de produit configurables.
TargetRule
-
Les performances de la page produit se sont améliorées dans les conditions suivantes :
- Le module de règle cible est installé
- Mise en œuvre de la fonctionnalité de produit lié (produits associés, de montée en gamme et de vente croisée)
Taxe
- L’application n’affiche plus un attribut de taxe de produit fixe sur le storefront pour un produit après qu’un commerçant l’a annulé de l’ensemble d’attributs du produit.
Test
- Les erreurs PHPUnit 9 ont été corrigées dans les tests unitaires. Correctif soumis par Anton Evers dans la demande de tirage 29244. GitHub-29329
- Des tests unitaires ajoutés pour approuver une commande fournisseur qui a été effectuée avec une remise qui a expiré depuis placeront une commande au montant total et ne mettront pas à jour le total de la commande fournisseur. Correctif soumis par Joan He dans la demande de tirage 18. GitHub-204
SynchronizeFilesInterfaceest désormais couvert par les tests d’intégration. Correctif envoyé par jmonteros422 dans la demande de tirage 29493. GitHub-1742
- Une fonction a été ajoutée à
\Magento\TestFramework\TestCase\WebapiAbstractqui permet la comparaison de grands tableaux imbriqués de résultats attendus et réels dans les tests et permet aux testeurs d’ignorer les clés non pertinentes dans le résultat réel. Correctif envoyé par Jekabs dans la demande de tirage 29458. GitHub-29498
- Correction de l'inversion de la valeur attendue avec la valeur réelle en
app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 29271. GitHub-29283
- L’utilisation de
ObjectManagerpour instancier des classes pendant le test a été remplacée par le nouveau mot-clé dans les tests unitaires. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 29272. GitHub-29346
- Une couverture de test a été ajoutée pour ces cas de mutation
updateCustomer: date de naissance non valide, adresse e-mail non valide et nom de client vide. Correctif soumis par Alexander Taranovsky dans la demande de tirage 28304. GitHub-28394
- Le client GraphQL
ApiFunctional TestFrameworkanalyse désormais correctement les en-têtes. GitHub-26425
Thème
- Les thèmes ajoutés dans les règles de l’agent utilisateur sont désormais affectés comme prévu lorsque vous exécutez
bin/magento catalog:images:resize. Auparavant, seuls les thèmes affectés aux magasins étaient affectés lorsquebin/magento catalog:images:resizeétait exécuté.
Traduction et paramètres régionaux
- L’application ne renvoie plus d’erreur lorsqu’un administrateur modifie le champ Date lors de la création du produit d’administration ou l’enregistre lorsque les paramètres régionaux d’administration sont chinois ou japonais. GitHub-24696
- L’application vérifie désormais la zone (front-end ou
adminhtml) avant d’effectuer le rendu des balises de traduction intégrées. Auparavant, l’exécution d’un appel API vers/rest/V1/integration/admin/tokenavec des informations d’identification incorrectes alors que la traduction en ligne était activée entraînait l’inclusion d’un balisage de traduction en ligne autour du message d’erreur dans la réponse API. Correctif soumis par Zach Nanninga dans la demande de tirage 28856. GitHub-28656
- Les régions bulgares ont été ajoutées au tableau
directory_country_region. Correctif soumis par Nikola Lardev dans la demande de tirage 27957. GitHub-28215
- Les titres et boutons des modèles Admin Clients > Ajouter une nouvelle adresse et Modifier le produit > Inventaire avancé peuvent désormais être traduits. Correctif soumis par Sathish Subramanian dans la demande de tirage 28174. GitHub-28201
- Le terme FPT peut désormais être traduit dans Admin Magasins > Configuration > Ventes > Taxes > Taxes sur les produits fixes. Correctif soumis par Vadim Malesh dans la demande de tirage 28108. GitHub-5477
- Le libellé du bouton Expédier ici sur la fenêtre modale d’adresse d’expédition du workflow de passage en caisse a été modifié pour correspondre à la casse mixte utilisée pour d’autres boutons. Cette casse correspond désormais à la casse utilisée dans les fichiers de traduction. Auparavant, en raison de l’incohérence de la casse, ce libellé n’était pas traduit. Correction envoyée par WK dans la demande de tirage 28547. GitHub-28685
Interface utilisateur
- Le lien de la politique de confidentialité et des cookies dans le pied de page s’affiche désormais en tant que lien actif lorsque la page Politique de confidentialité et de cookies s’affiche. Correctif soumis par Sathish Subramanian dans la demande de tirage 28004. GitHub-27985
- Correction d'un mauvais alignement du curseur dans la zone de texte Commentaires sur la facture associée à une commande que vous avez sélectionnée dans Admin Ventes > Commandes.
- La page Créer une commande affiche désormais les boutons Ajouter des produits par SKU et Ajouter des produits comme prévu.
- L’application affiche désormais correctement la page Modifier la révision lorsqu’une évaluation de produit est disponible pour le produit sélectionné.
- L’application affiche désormais correctement la page de modification du client administrateur sur un iPhone exécutant Safari.
- Correction du défilement inutile de la page Créer une commande .
- Cliquer directement sur le bouton Exporter les taux de taxe de la page Ajouter une nouvelle règle de taxe (Magasins > Règles de taxe) télécharge désormais le fichier
tax_rates.csvcomme prévu. Auparavant, les commerçants devaient cliquer sur le bord du bouton Taux de taxe à l'exportation. Il s’agissait d’un problème connu dans la version 2.4.0.
- Le bouton Ajouter des sélections à mon panier situé en bas du panier fonctionne désormais comme prévu. Il s’agissait d’un problème connu dans la version 2.4.0.
- Le bouton Actualiser de la section Produits récemment consultés de la page Activités du client fonctionne désormais comme prévu. Auparavant, lorsque vous cliquiez sur Actualiser, la liste des produits n’était pas actualisée et la page défilait.
- L’application affiche désormais correctement l’icône de calendrier utilisée pour sélectionner la date de naissance d’un client ou d’une cliente dans l’onglet Conditions de Clients > Segments > Ajouter un segment.
- La section de résumé du passage en caisse du workflow de passage en caisse ne scintille plus lorsqu’un acheteur fait défiler cette page dans Internet Explorer 11.x.
- L’application affiche désormais correctement le widget Trier par SKU sur la page Catégorie de storefront. Auparavant, le code HTML de ce widget n’était pas rendu et le lien Charger une liste de SKU n’était pas affiché dans l’application.
- Les composants de l’interface utilisateur qui ont été désactivés à l’aide de
this.disabled(true)n’apparaissent plus sur le storefront. GitHub-29098
- L’application affiche désormais correctement le widget de produits récemment consultés dans la vue mobile. Correctif soumis par Tu Nguyen dans la demande de tirage 27572. GitHub-27058
- La modification de la position d’un produit à partir de l’administration se reflète désormais dans la position du produit sur le storefront. Correctif soumis par Oleg Aleksin dans la demande de tirage 28150. GitHub-28149
- Le style du formulaire de connexion est désormais cohérent avec le style des autres formulaires du thème Vide . Les styles inutiles qui définissent la largeur des champs d'entrée de retour à la ligne de contrôle conteneur ont été supprimés. Correctif soumis par Tu Nguyen dans la demande de tirage 28084. GitHub-28059
- Le bouton OK sur le pop-up de confirmation de suppression de produit du mini panier se comporte désormais comme prévu. Correctif soumis par Tu Nguyen dans la demande de tirage 28083. GitHub-27095
- Les éléments de la galerie de produits ne clignotent plus lors du chargement de la page. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 27871. GitHub-28339
- La classe CSS qui contrôle la largeur des champs est désormais appliquée comme prévu pour l’élément Start Time dans l’ensemble de l’administration. Correctif soumis par Shankar Konar dans la demande de tirage 29511. GitHub-29496
- Le libellé de texte des termes et conditions peut désormais afficher correctement des chaînes de texte plus longues. Correctif soumis par Bartłomiej Szubert dans la demande de tirage 29413. GitHub-24060
- Le titre de la page d’échec de commande a été réécrit pour plus de précision. Auparavant, lorsqu’un acheteur annulait une commande, l’application affichait une page avec le titre suivant :
We received your order!. Correctif soumis par Angelo Romano dans la demande de tirage 29410. GitHub-29416
- Le nombre total d'articles annulés sur la page d'affichage des commandes annulées est maintenant correctement identifié sur la page d'affichage des commandes annulées. Auparavant, ce champ était intitulé Total dû. Correctif soumis par Madhu Rajawat dans la demande de tirage 27516. GitHub-26191
- Le bouton bascule de la page Créer un produit configurable fonctionne désormais comme prévu. Correctif soumis par Tu Nguyen dans la demande de tirage 28032. GitHub-22702
- L’icône de bloc des propriétés d’attribut avancées de la page Propriétés d’attribut avancées se comporte désormais comme prévu. Correctif soumis par Tu Nguyen dans la demande de tirage 28032. GitHub-26022
- La section Admin de la page de configuration du système se développe désormais pour afficher les champs requis comme prévu lorsque vous essayez d’enregistrer les paramètres de configuration pour un nouveau module. Correctif soumis par Bartłomiej Szubert dans la demande de tirage 28285. GitHub-26427
- Correction du comportement de la loupe lorsque le mode est défini sur
inside. Correctif soumis par Sean van Zuidam dans la demande de tirage 29077. GitHub-29076
- Correction de la largeur distrayante du champ d’entrée qui se produisait lorsqu’un acheteur saisissait une adresse e-mail non valide dans le champ s’abonner du pied de page. Correctif soumis par Dipesh Rangani dans la demande de tirage 27106. GitHub-27099
- Une erreur
Uncaught ReferenceErrorne s’affiche plus dans la console de développement lorsque vous ajoutez une nouvelle balise et que vous placez le curseur de la souris dessus. Correctif soumis par Nazar Klovanych dans la demande de tirage 29392. GitHub-1700
- Suppression d’un test de
AdminAnalyticsinutilisé (TrackingScriptTest). Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 28605. GitHub-28850
- Les problèmes de sérialisation et de désérialisation des propriétés statiques lors de l’exécution de tests consécutifs ont été résolus. Correctif soumis par Pavel Bystritsky dans la demande de tirage 26175. GitHub-28319, GitHub-29313
Réécritures d’URL
-
Le déplacement d’une vue de boutique vers un autre site web ne réinitialise plus les URL. Auparavant, l’application régénérait incorrectement le CMS et les réécritures d’URL de produit.
-
Vous pouvez maintenant prévisualiser le planning d’évaluation d’un bloc CMS. Auparavant, l’application générait une erreur fatale.
- L’application conserve désormais les réécritures d’URL de catalogue existantes comme prévu lorsqu’une vue de magasin est affectée à un autre magasin. Auparavant, l’application supprimait les réécritures d’URL spécifiques au magasin.
Vernis
- Le redémarrage du vernis n’entraîne plus d’erreurs 503. Correctif soumis par Ihor Sviziev dans la demande de tirage 28137. GitHub-24353
Coffre
- L’application n’enregistre plus les numéros de carte de crédit lorsque la case Enregistrer pour une utilisation ultérieure située dans la section Paiement du workflow de passage en caisse n’est pas sélectionnée.
Marchandiseur visuel
- L’application affiche désormais le stock source au lieu du stock de produits par défaut lorsque vous triez des produits dans Visual Merchandiser et que l’option Stock est activée.
Framework d’API web
- Les factures créées à l’aide de REST incluent désormais des informations de carte cadeau similaires aux factures créées dans l’administrateur. Auparavant, l'utilisation des
/V1/order/:id/invoicePOST pour facturer la commande n'affichait pas le code carte cadeau ou le montant de carte cadeau appliqué.
- Les commerçants disposant de plusieurs sites web peuvent désormais utiliser l’API REST pour créer et mettre à jour des produits tout en préservant l’héritage des rôles d’image et d’image. Auparavant, lorsqu’un commerçant utilisait l’API REST pour créer et mettre à jour des produits et qu’un produit était mis à jour pour la vue du magasin, les rôles d’image par défaut étaient chargés et enregistrés pour cette vue du magasin. Par conséquent, les rôles d’image store-view ont cessé d’hériter de l’étendue par défaut après la mise à jour.
- Un compte utilisateur d’intégration sans portée peut désormais accéder à une ressource via l’API REST lorsque les autorisations de ressource l’autorisent.
- Les filtres de critères de recherche fonctionnent désormais comme prévu pour les attributs de produit utilisés lors de la création d’un produit configurable. GitHub-29126
- L’ID de groupe client est désormais validé pour les requêtes de
/rest/V1/customersPOST. Auparavant, l’application n’affichait pas de message d’erreur lorsque vous utilisiez ungroup_idnon valide dans ces requêtes. Correctif soumis par Vadim Malesh dans la demande de tirage 28903. GitHub-28064
- Les sessions PHP ne sont pas créées par défaut pour les appels REST anonymes. Auparavant, les sessions démarraient même lorsqu’elles étaient inutiles. Correctif soumis par Maciej Pawłowski dans la demande de tirage 26032. GitHub-7213
- L’utilisation de divers points d’entrée REST pour mettre à jour des commandes contenant une option personnalisée ne supprime plus les informations de l’option personnalisée. Auparavant, les valeurs dans
info_buyRequestétaient supprimées. Correctif soumis par Vadim Malesh dans la demande de tirage 28483. GitHub-22431
- L’utilisation de GET
V1/customers/merespecte désormais le paramètre Partager les comptes client (Admin Magasins > Configuration > Clients > Configuration client > Options de partage de compte) lors de la récupération des informations utilisateur. Correctif soumis par Pavel Bystritsky dans la demande de tirage 28213. GitHub-26089
- Les attributs d’extension liés aux adresses peuvent être définis sous la forme de tableaux de données. Auparavant, l’application générait une erreur lorsqu’une requête POST contenant
extension_attributesa été envoyé àestimate-shipping-methods. Ce bug, qui a été introduit par une validation précédente, affectait tout attribut d’extension défini sur desMagento\Quote\Api\Data\AddressInterfacequi n’étaient pas des objets . Correctif soumis par Alexander Menk dans la demande de tirage 27338. GitHub-26682
- Vous pouvez désormais spécifier un champ unique lors de la mise à jour d’un client avec le point d’entrée de
V1/customers/:idPUT. Auparavant, le point d’entrée vous obligeait à spécifier l’e-mail du client et d’autres champs requis pour créer un client. Correctif soumis par Vadim Malesh dans la demande de tirage 28332. GitHub-21237
Restrictions de site web
- L’activation de la restriction de site web ne bloque plus les requêtes ESI Varnish pour les clients connectés en tant qu’invités. Auparavant, ces invités ne pouvaient pas accéder au menu principal de la page d’accueil.
- L’application charge désormais la page d’accueil du produit comme prévu lorsque les restrictions du site web sont activées.
Liste de souhaits
- Vous pouvez désormais utiliser la fonction de recherche de listes de souhaits pour trouver un produit dans une liste de souhaits publique dans les déploiements où la prise en charge de plusieurs listes de souhaits est activée. Auparavant, lorsqu’un client ou une cliente utilisait la recherche de liste de souhaits pour trouver un produit, le sélectionnait et cliquait sur Ajouter au panier, l’application n’ajoutait pas le produit au panier et affichait cette erreur :
Invalid Form Key. Please refresh the page.
- Les clients peuvent désormais modifier la quantité d’un produit dans une liste de souhaits à partir de la liste de souhaits elle-même. Auparavant, l’application ne mettait pas à jour la quantité de produit et n’affichait pas de message.
- Les clients peuvent désormais modifier la quantité d’un produit regroupé dans une liste de souhaits à partir de la liste de souhaits elle-même. Auparavant, l’application ne mettait pas à jour la quantité de produit et n’affichait pas de message.
- La page Catégorie de storefront affiche désormais le widget de recherche de liste de souhaits comme prévu.
- Les polyremplissages pour
Map,WeakMap,FormDataetMutationObserverne sont désormais chargés que si nécessaire. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28330 et Mateusz Krzeszowiak dans la demande de tirage 27618. GitHub-28377, GitHub-28382
- Le processus de mise à jour de liste de souhaits prend désormais en charge la mise à jour simultanée d'un élément de liste de souhaits et de sa description. Correctif soumis par Eduard Chitoraga dans la demande de tirage 28222. GitHub-28261
- L’application valide désormais correctement le nombre maximal autorisé de listes de souhaits qu’un acheteur peut créer. Correctif soumis par Eduard Chitoraga dans la demande de tirage 247 dans private repo partners-magento2ee.
- Les administrateurs peuvent désormais configurer un produit configurable qui a été ajouté par un client à une liste de souhaits à partir d’un magasin autre que celui par défaut. Auparavant, lorsque le client avait également ajouté le produit configurable à partir d’un magasin autre que celui par défaut, l’application générait une erreur.
- Ajout d’un test permettant de partager la liste de souhaits d’un client avec un nombre d’e-mails supérieur au nombre autorisé. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28641. GitHub-28720
- Ajout d’un test pour la suppression d’éléments de la liste de souhaits d’un client en tant qu’utilisateur administrateur. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28632. GitHub-28721
- Ajout d’un test pour la désactivation de la fonctionnalité de liste de souhaits. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28635. GitHub-28744
- Ajout d’un test pour l’utilisation d’adresses e-mail non valides lors du partage des listes de souhaits des clients.
StorefrontShareWishlistEntityTesta été refactorisé.StorefrontCustomerShareWishlistActionGroupa été abandonné. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28330. GitHub-28377
- Ajout d’un test pour le partage de la liste de souhaits d’un client qui dépasse la limite de longueur de texte autorisée. Correctif soumis par Dmitry Tsymbal dans la demande de tirage 28812. GitHub-28969
Problèmes connus
Problème : la nouvelle fonctionnalité CAPTCHA pour le passage en caisse ne fonctionne pas comme prévu sur la page Passer une commande lors de l’utilisation de fournisseurs de paiement tiers. Les commerçants exécutant la version 2.3.6 ou 2.4.1 qui ont activé la protection CAPTCHA sur la page de storefront Place Order verront cette erreur lors du passage en caisse avec un fournisseur de paiement tiers tel que PayPal : Please provide CAPTCHA code and try again. Solution : un correctif pour ce problème est désormais disponible. Consultez l’article de la base de connaissances Adobe Commerce v2.3.6/2.4.1 CAPTCHA dans la de passage en caisse qui ne fonctionne pas. Un correctif sera également inclus dans notre prochain correctif trimestriel (Q12021).
Problème : les utilisateurs sans privilèges d’administrateur ne peuvent actuellement pas configurer leur accès 2FA personnel. 2FA comprend deux rôles ACL. Un rôle affecte la configuration globale du système et n'est nécessaire que lors de la configuration du système. Le deuxième rôle ACL affecte les comptes 2FA des utilisateurs individuels. Un utilisateur administrateur doit configurer ce second type de liste de contrôle d’accès 2FA. Solution : une fois la connexion établie et l’écran Accès refusé affiché, l’utilisateur peut se rendre sur https://<magento store>/<admin_path>/tfa/tfa/requestconfig/ pour forcer la configuration. Remarque : il est déconseillé de désactiver les paramètres de sécurité. Cependant, cette solution n’est efficace que lorsque les clés secrètes d’URL d’administration sont désactivées.
Problème : le bouton Créer un compte de la page Créer un compte reste désactivé si un acheteur a saisi des données non valides. Cela empêche les acheteurs de tenter à nouveau de créer un compte après avoir généré une erreur. Solution : appliquez des MC-38509 correctifs. Un correctif sera également inclus dans nos prochaines versions trimestrielles (2.4.2, 2.4.1-p1 et 2.3.6-p1), dont la publication est prévue pour le 1er trimestre 2021. Consultez l’article Correctif désactivé pour le bouton de création de compte 2.4.1 et 2.3.6 de la base de connaissances . GitHub-30513
Problème : les commerçants ne peuvent pas se connecter à dotdigital à partir de l’administrateur dans Safari lorsque dotdigital est activé. Consultez l’article Il est impossible de se connecter à dotdigital via le panneau d’administration lorsque le compte dotdigital est activé de la base de connaissances .
Problème : la validation de l’adresse de sommet ne fonctionne pas lors du paiement lorsque l’acheteur sélectionne une adresse de livraison différente de l’adresse de facturation. Le problème sera résolu dans la version 2.4.2. Consultez l’article de la base de connaissances 2.4.1 concernant le problème connu : le message de validation de l’adresse du sommet ne disparaît pas après la mise à jour de l’adresse
Problème : l’application affiche une page vide lorsqu’un commerçant enregistre un formulaire Page Builder numérique sur le navigateur Safari. Solution : rechargez la page pour appliquer vos modifications. Consultez l’article de la base de connaissances sur le problème connu 2.4.1 : vider la page après avoir enregistré le formulaire de générateur de page numérique .
Problème : sous certaines conditions, l’application connecte automatiquement les clients aux comptes Amazon précédemment utilisés plutôt que de les inviter à se connecter lors du passage en caisse avec Amazon Pay. Consultez l’article de la base de connaissances 2.4.1 concernant le problème connu : impossible de modifier le compte Amazon dans Google Chrome .
Problème : l’application affiche brièvement un message d’erreur sur la page de facturation du workflow de passage en caisse lorsque le paiement PayPal Braintree et l’expédition de plusieurs adresses sont sélectionnés. Consultez le problème connu de la version 2.4.1 : une erreur apparaît dans l’article Passage en caisse avec PayPal Braintree de la base de connaissances .
Problème : l’application affiche un message d’erreur non informatif lorsqu’un client invité tente de passer une commande avec PayPal via Braintree lorsque le passage en caisse des invités est désactivé. Consultez l’article sur le problème connu de la version 2.4.1 : message d’erreur non informatif lors du passage en caisse des invités à l’aide de Paypal via Braintree de la base de connaissances .
Contributions de la Communauté
Nous sommes reconnaissants envers l’ensemble de la communauté Magento Open Source et souhaitons saluer leurs contributions à cette version. Découvrez les méthodes suivantes pour 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 l’identifions dans la section Problème résolu de ces notes avec l’expression « Correctif fourni par le membre de la communauté ».
-
L’équipe d’ingénierie de communauté Magento Contributors tient à jour une liste des principaux contributeurs individuels et partenaires par mois, trimestre et année. Depuis 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 identifie les contributions des membres de notre communauté. Ce tableau répertorie les demandes d’extraction externes, le numéro de problème GitHub qui lui est associé (le cas échéant) et le membre de la communauté qui a contribué à la demande d’extraction.
Configuration requise
Notre pile technologique est construite sur PHP et MySQL. Pour plus d'informations, voir Configuration requise.
Instructions d’installation et de mise à niveau
Vous pouvez installer Adobe Commerce 2.4.1 à l’aide du compositeur.
Kits d’outils de migration
L’outil de migration de données permet de transférer les données de stockage Magento 1.x vers Magento 2.x. Cette interface de ligne de commande comprend des fonctions de vérification, de suivi de la progression, de journalisation et de test. Pour obtenir des instructions d’installation, voir Installation de l’outil de migration des données. Envisagez d’explorer le référentiel de migration de données ou d’y contribuer.
Le kit de migration du 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 permettant de convertir des modules et des mises en page Magento 1.x.