Notes de mise à jour d’Adobe Commerce 2.4.1
Adobe Commerce 2.4.1 introduit des améliorations des performances et de la sécurité ainsi que des ajouts significatifs à l’ensemble de 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 de terminaison API liés aux paiements et aux commandes et de la page de storefront Passer des commandes. Les améliorations B2B portent principalement sur le processus d’approbation des commandes, les méthodes d’expédition B2B, la journalisation étendue des actions d’administration et une sécurité renforcée sur le storefront.
Cette version de inclut toutes les améliorations de la qualité de base incluses dans la version 2.4.0, plus de 150 nouveaux correctifs du code principal et plus de 15 améliorations de la sécurité. Elle comprend la résolution de presque 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 opérateur de transport
DHL a introduit la version 6.2 du schéma et va abandonner la version 6.0 dans un avenir proche. Adobe Commerce 2.4.4 et les versions antérieures qui prennent en charge l’intégration DHL ne prennent en charge que la version 6.0. Les commerçants qui déploient ces versions doivent appliquer AC-3022.patch
dès que possible pour continuer à proposer DHL en tant qu'opérateur de transport. Pour plus d’informations sur le téléchargement et l’installation du correctif, reportez-vous à l’article Appliquer un correctif pour continuer à proposer DHL comme opérateur de transport de la base de connaissances.
Correctif de sécurité disponible
Les vendeurs peuvent désormais installer des correctifs de sécurité sensibles au temps sans appliquer les centaines de correctifs fonctionnels et d’améliorations apportés par une version trimestrielle complète (par exemple, 2.4.0-p1). Le correctif 2.4.0.1 (paquet Composer 2.4.0-p1) est un correctif de sécurité qui fournit des correctifs pour les vulnérabilités identifiées dans notre version trimestrielle précédente, 2.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 bogue spécifique.)
Pour obtenir des informations générales sur les correctifs de sécurité, consultez Présentation de la nouvelle version du correctif de sécurité. Pour obtenir des instructions sur le téléchargement et l’application des correctifs de sécurité (y compris le correctif 2.3.5-p2), voir Installation rapide sur site. Les correctifs de sécurité incluent uniquement des correctifs de bogues de sécurité, et non les améliorations de sécurité supplémentaires incluses dans le correctif complet.
Autres informations sur les versions
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 Application (PWA) Studio) sont également publiés indépendamment. Les correctifs de bogues pour ces projets sont documentés dans les informations de version distinctes spécifiques au projet qui sont disponibles dans la documentation de chaque projet.
Tons clairs
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 aux versions 2.4.0-p1 et 2.3.6.
Plus de 15 améliorations de sécurité qui aident à fermer les vulnérabilités d’exécution de code à distance (RCE) et de cross-site scripting (XSS)
Aucune attaque confirmée liée à ces problèmes n'a été survenue à ce jour. Cependant, certaines vulnérabilités peuvent potentiellement être exploitées pour accéder aux informations client ou prendre le contrôle des sessions d’administrateur. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. En conséquence, nous vous rappelons de prendre toutes les mesures nécessaires pour protéger votre administrateur, y compris, mais sans s’y limiter, ces efforts : liste d’autorisation IP, authentification à deux facteurs, utilisation d’un VPN, l’utilisation d’un emplacement unique plutôt que /admin
, et une bonne hygiène du mot de passe. Consultez Mises à jour de sécurité disponibles pour Magento pour une discussion sur ces problèmes résolus.
Autres améliorations de la sécurité
Les améliorations de sécurité pour cette version sont les suivantes :
-
La protection CAPTCHA a été ajoutée aux zones de produit suivantes :
- Placer la page storefront de commande et les points d'entrée REST et GraphQL
- Points d’entrée REST et GraphQL liés aux paiements.
La protection CAPTCHA de ces pages supplémentaires est désactivée par défaut. Elle peut être activée 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 de carding. 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 surLax
par défaut, mais peut être explicitement remplacé. -
Outil d’analyse de sécurité amélioré. Adobe s'est associé à Sanguine Security, un leader dans la prévention de la écrémage numérique, pour intégrer sa base de données de plus de 8 700 signatures de menaces dans l'outil d'analyse de sécurité. Ce partenariat permettra aux commerçants d’obtenir des informations en temps réel sur l’état de sécurité de leur site grâce à une détection proactive des logiciels malveillants et une réduction des faux positifs. Les marchands peuvent s'inscrire à l'outil en visitant
https://account.magento.com/scanner
. Pour plus d’informations, consultez la publication de blog Sécuriser votre vitrine avec l’outil d’analyse de sécurité amélioré .
Améliorations des infrastructures
Cette version contient des améliorations de la qualité de base, 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 Aperçu.
- Intégration de l’outil d’analyse à l’échelle du site avec Admin. L’ outil fournit des insights et de l’instrumentation du système pour l’Adobe sur les installations d’infrastructure cloud avec 24/7 surveillance des performances, rapports et recommandations en libre-service en temps réel. Les vendeurs peuvent utiliser la nouvelle ressource de rôle de l’administrateur pour accéder en toute sécurité à leurs pages de détails du client par l’intermédiaire de l’administrateur. Pour obtenir un aperçu, consultez la FAQ .
Amélioration des performances
-
Réduction de la taille des transferts réseau entre Redis et Magento. La configuration de la liste des modules externes 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 résultantes 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 du consommateur en file d’attente de messages. Trois nouveaux paramètres de configuration prennent en charge une diminution de la consommation du processeur de la file d’attente des consommateurs. Ces paramètres facultatifs permettent d’exercer un contrôle accru sur les consommateurs et d’économiser les ressources du serveur. Voir Configuration des files d’attente de messages pour obtenir une description du et
sleep
onlySpawnWhenMessageAvailable
desmaxIdleTime
paramètres. -
Amélioration du temps d’exécution des
bin/magento
commandes.
Intégration Adobe Stock
Cette version inclut l’intégration Adobe Stock v2.1.0.
New Media Gallery
La nouvelle galerie de médias est désormais activée par défaut dans l’Admin. Les vendeurs peuvent désormais effectuer ces actions sur les images de la galerie de médias :
-
Suppression d’images en bloc
-
Optimisez le stockage des supports en identifiant les images en double et les images qui ne sont pas utilisées sur la vitrine
-
Filtrez les images en fonction de la zone de vitrine dans laquelle elles sont utilisées, y compris le contenu des produits et des catégories et les blocs CMS
-
Utilisation de métadonnées d’image
- Afficher les métadonnées des images téléchargées dans Media Gallery
- Modifier les métadonnées de l’image (titre, description et mots-clés)
- Recherche d’images selon leurs métadonnées
Page Builder
Le créateur de pages prend désormais en charge le mode Plein écran, qui permet de modifier plus facilement le contenu et offre une expérience cohérente de la modification du contenu dans l’ensemble de l’administrateur. Voir Workspace.
GrapheQL
Cette version ajoute la couverture GraphQL pour les fonctionnalités suivantes :
-
Études de produits. Les clients et les invités peuvent écrire des critiques de produits. Les clients peuvent récupérer leurs historiques de révision de produit. Voir Création d’une révision de produitet requête productReviewREvaluationsMetadata pour plus d’informations sur la récupération des informations sur l’infrastructure de 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 un emballage cadeau, des reçus de cadeaux et des cartes imprimées à la commande. Voir
setGiftOptionsOnCart
mutation etupdateCartItems
mutation -
Points de récompense. Les clients peuvent appliquer ou supprimer des points de récompense sur leurs paniers. Ils peuvent également consulter l’historique de leurs points de récompense. Voir
applyRewardPointsToCart
etremoveRewardPointsFromCart
pour une discussion sur la gestion des points de récompense dans un panier. -
Historique des commandes. Tous les clients peuvent afficher les détails de l’historique de leurs commandes, y compris les factures, l’expédition et les remboursements.
-
Ajouter au panier. La
addProductsToCart
mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous vous recommandons d’utiliser cette mutation plutôt que des mutations à usage unique telles queaddSimpleProductsToCart
. Correctif soumis par Yaroslav Rogoza dans la demande d'extraction 27914. GitHub-28524 -
Modes de paiement enregistrés. Les clients connectés peuvent désormais stocker les détails de paiement (y compris Braintree carte de crédit et Braintree avec PayPal) dans Mon compte.
-
Prise en charge des listes de souhaits dans Magento Open Source. Vous pouvez ajouter des articles , les mettre à jour et les supprimer d’une liste de souhaits.
-
Amélioration de la gestion des comptes clients. Nous avons ajouté les mutations et
updateCustomerV2
pour gérer lescreateCustomerV2
comptes clients. Ces nouvelles mutations nécessitent des objets d’entrée différents des mutations etcreateCustomer
updateCustomer
. Pour modifier l’adresse électronique d’un client, utilisez la nouvelle mutationupdateCustomerEmail
. -
Prise en charge de 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 d'extraction 28821. GitHub-28520
-
Mise à jour de la requête
storeConfig
de GraphQLpour inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521 -
Ajout de la
requestPasswordResetEmail
mutation, 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 d'extraction 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 GraphQL pour plus de détails sur ces améliorations.
PWA Studio
PWA Studio v8.0.0 comprend 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 du mini-chariot Venia
-
Prise en charge initiale de plusieurs paramètres régionaux et de contenu localisé sur le storefront Venia
-
Nombreuses améliorations de l’expérience MyAccount du storefront Venia
Voir compatibilité pour obtenir la liste des versions de PWA Studio et de leurs versions compatibles. Pour plus d’informations sur les améliorations et les correctifs, voir Versions de PWA Studio.
B2B
La version 2.4.1 introduit B2B v1.3.0. Cette version comprend des améliorations concernant les approbations de commandes, les méthodes d’expédition, le panier et la journalisation des actions d’administration.
Améliorations des approbations de commandes
Les approbations de commandes B2B ont été améliorées pour améliorer la convivialité et permettre des actions en bloc sur les bons de commande.
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 droits 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 sur l’onglet Exiger mon approbation. L’onglet Requiert mon approbation de la vue Mes bons de commande affiche désormais un compteur qui indique le nombre d’actions d’approbation en attente.
-
Approbations et rejets de commandes groupées. Les responsables B2B et les administrateurs d’entreprise peuvent désormais effectuer le rejet et l’approbation en bloc des bons de commande. Ces modifications permettent aux approbateurs d’approuver ou de rejeter plusieurs bons de commande en une seule action.
-
Les marchands peuvent désormais effectuer des recherches dans les champs S’applique et Nécessite une approbation à partir de la vue Mes bons de commande et peuvent sélectionner plusieurs rôles utilisateur lors de la création de règles.
-
Vous trouverez des exemples de configuration des règles d’approbation de commande sur la page Configuration de règle .
Voir Règles d’approbation
Améliorations des méthodes de livraison B2B
Les marchands B2B peuvent désormais contrôler les méthodes d’expédition proposées à chaque entreprise. Les vendeurs peuvent configurer les éléments suivants à partir de l’administrateur :
- Un ensemble spécifique de méthodes d’expédition pour les comptes d’entreprise B2B
- Utilisation de toutes les méthodes de livraison ou de méthodes spécifiques B2B pour chaque compte d’entreprise
- Liste spécifique des méthodes de livraison B2B pour chaque compte d’entreprise
Améliorations du panier
-
Les marchands 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 éléments individuels ou tout le contenu de leur panier directement à une liste de demandes.
Nouvelles fonctionnalités d’administration
- Les marchands B2B peuvent créer des commandes à partir de l’administrateur au nom des clients en utilisant le paiement sur facture comme mode de paiement.
- Les vendeurs peuvent désormais afficher directement tous les guillemets associés à un utilisateur à partir de la page des détails du client.
- Les vendeurs peuvent désormais filtrer la grille Clients maintenant en ligne par société.
- Les administrateurs peuvent désormais filtrer les clients dans l'administrateur par représentant commercial.
Voir Fonctionnalités B2B.
Amélioration de la sécurité sur le storefront
Pour réduire la création de comptes frauduleux ou indésirables, les marchands peuvent désormais activer Google reCAPTCHA sur le formulaire de demande de nouvelle entreprise sur le storefront. Voir reCAPTCHA.
Journalisation étendue des actions d’administration
Les actions administratives effectuées 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 de bogues. Voir Notes de mise à jour B2B.
Cadre de test fonctionnel (MFTF)
MFTF 3.1.0 est maintenant disponible. Voir Changement de structure de test fonctionnel.
Extensions développées par le fournisseur
Consultez les articles suivants pour connaître les mises à jour des fonctionnalités et des modifications de cette version :
Problèmes résolus
Nous avons corrigé des centaines de problèmes dans le code principal de la version 2.4.1.
Installation, mise à niveau, déploiement
- L’installation avec des extensions tierces qui dépendent d’API pour le module Store dans les commandes de l’interface de ligne de commande n’échoue plus. Auparavant, l’application affichait ce message d’erreur :
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:compile
ne renvoie plus d’erreur fatale. Auparavant, l’application entraînait une erreur la première fois que vous exécutiez cette commande, mais la deuxième exécution générait une compilation réussie.
- La mise à niveau n’échoue plus lorsqu’un module externe est déclaré le
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, une fois le déploiement terminé avec succès mais que tous les modules n’étaient pas déployés, l’application n’affichait pas d’erreur. Lorsque cette commande est exécutée avec un traitement parallèle activé et que chaque thème nécessite plus de temps pour être déployé, puis le temps d’exécution maximal spécifié, cette commande peut se terminer avec succès, bien que les thèmes ne soient pas déployés.
- La case à cocher Utiliser la valeur par défaut pour les paiements en larna (Magasins > Configuration > Ventes > Méthodes de paiement > Klarna) reste désormais cochée comme prévu lorsque la portée du site web change.
- L’exécution de
/bin/magento config:show vendor_module/general/value
renvoie désormais0
ou une chaîne vide comme prévu. Auparavant, il renvoyaitConfiguration for path: "vendor_module/general/value" doesn't exist
. Correctif soumis par Vadim Malesh dans la demande d'extraction 28549. GitHub-23290
- La mise à niveau n’entraîne plus l’échec soudain de la grappe Galera. Auparavant, la grappe Galera se quittait brusquement après 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 tables est devenu désynchronisé entre les noeuds de la grappe 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 de produit disparaissaient lorsque le module était désactivé et l’application affichait une page vierge.
- Vous pouvez désormais utiliser
bin/magento sampledata:deploy
pour 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 d'extraction 27481. GitHub-19481
- Les performances de Storefront ont été améliorées en éliminant le chargement inutile du composant
Datepicker
. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27860. GitHub-28823
- L’exécution
bin/magento setup:upgrade
se termine comme prévu. Auparavant, l’application affichait le contenu imprimé du tableau pour les caches. Correctif soumis par Sathish Subramanian dans la demande d'extraction 27567. GitHub-27091
bin/magento setup:static-content:deploy --language=all
dé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_US
est toujours déployé par défaut.) Correctif soumis par Anton Evers dans la demande d'extraction 28922. 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 d'extraction 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 soumis par jmonteros422 dans la demande d’extraction 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 d'extraction 28752. GitHub-24922
AdminGWS
- L’application n’affiche plus le bouton Ajouter un attribut (Magasins > Attributs ou Ajouter un jeu d’attributs ) (Magasins > Attributs > Client) 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 Attribute Set ou Customer.
- L’application ne renvoie plus d’erreur lorsqu’un administrateur avec des rôles restreints pour des sites web spécifiques tente de créer une sous-catégorie à partir de l’administrateur.
Intégration Adobe Stock
- Les images de la grille Adobe Stock images sont désormais correctement alignées une fois les filtres effacés. Correctif envoyé par Nazar Klovanych dans la demande de tirage 28366. GitHub-824, GitHub-972
- La section Utilisée dans de la page de détails des images de la galerie Adobe Stock identifie désormais précisément si l’image est associée à un produit. Correctif soumis par Nazar Klovanych dans la demande d'extraction 28798. GitHub-1474
\Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute
supprime désormais les liens vers les mots-clés qui ne sont pas spécifiés dans les paramètres et ajoute les nouveaux liens lors de la suppression des balises de mots-clés lors de la modification des détails de l’image. Correctif soumis par jmonteros422 dans la demande d’extraction 29207. GitHub-1391
- Le message
Login failed
qui s’affiche lorsqu’un commerçant clique sur Licence pour une image Adobe Stock précédemment enregistrée et sans licence ne contient plus de balises d’HTML. Correctif soumis par les yolouis dans la demande d'extraction 29398. GitHub-1684
- Cliquer sur les liens de la section Utilisé(e) dans de la page Détails de l’image affiche désormais une grille qui affiche toutes les entités qui sont filtrées par l’image. Le filtre de ressource est également défini et affiché correctement. Auparavant, l’application n’affichait pas le titre du fichier dans la section Filtres appliqués . Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1694
- L’application n’affiche plus la section Utilisé dans de la page Détails de l’image lorsque l’image n’est pas utilisée. Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1699
- Correction de 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 d'extraction 29367. GitHub-1702
- Assets peut maintenant être vérifiée comme prévu à l’aide du filtre des ressources dans la section Détails de l’image Utilisé dans . Correctif envoyé 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,
page
etcategory
) sont maintenant répertoriées corrigées dans la page Détails de l’image. Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1747
- Vous pouvez désormais utiliser le nouveau
UrlFilterApplier
composant pour appliquer des filtres sur les produitscms_page
etcms_block
les grilles à l’aide du paramètre d’URL GET. Correctif envoyé par Gabriel da Gama dans la demande de tirage 28932. GitHub-1501
- Cliquer sur les liens de la section Utilisé(e) dans pour une image dans la galerie multimédia ouvre désormais la grille des entités qui sont filtrées par l’image comme prévu. Auparavant, le titre de l’image ne s’affichait pas dans la section des filtres appliqués de la grille. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29429. GitHub-1694
- L’application ajoute désormais correctement des balises lorsque vous modifiez plusieurs images successivement dans la galerie de médias. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29429. GitHub-1755
- L’application supprime désormais les balises des images Adobe Stock lorsqu’un commerçant supprime les balises et enregistre 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 d'extraction 29400. GitHub-1703
Amazon Pay
-
Amazon Pay vérifie maintenant si un utilisateur est déjà connecté avant de rendre les options de paiement.
-
Les problèmes liés à l’authentification multifacteur et aux paniers abandonnés ont été résolus.
-
Amazon Pay remplit désormais correctement les dans les
store name
e-mails et autres emplacements affichés.Si le champ Nom du magasin dans Amazon configuration 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’administration). -
Les problèmes de localisation/traduction pour les scénarios de déclin 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 de segments et de création de rapports avancés.
- Adobe Commerce génère correctement des fichiers de données de rapport avancés et les envoie comme prévu à l’option Inventaire sur les déploiements avec bases de données partagées. Auparavant, l’application ne générait pas ou n’envoyait pas le fichier
quotes.csv
à Inventory, ce qui faisait que Inventory ne générait pas les rapports attendus.
Braintree
-
Braintree envoie désormais le montant correct à PayPal lorsqu’un code promotionnel est appliqué sur la page de paiement.
-
Le paiement Apple 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 pendant l’extraction sur les ordinateurs de bureau lorsque Venmo est activé à partir de l’administrateur.
-
L’extraction 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 3DS du Braintree ne prenait pas en charge les caractères non-ASCII.
-
L’application affiche désormais le nom de destinataire correct dans la section d’expédition du workflow de passage en caisse lors du placement d’une commande à l’aide de PayPal.
-
L’application met désormais à jour la page de vérification des commandes comme prévu lorsqu’un acheteur modifie plusieurs fois la méthode d’expédition au cours du passage en caisse.
Produits groupés
- L’application ne lève plus d’exception lorsque vous essayez de créer un produit dans un déploiement dans lequel Inventory est installé mais le
Magento_InventoryBundleProduct
module est 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 des produits simples. GitHub-22807
- Les vendeurs peuvent désormais créer une note de crédit pour les produits groupés qui offrent un remboursement sans exiger le retour du produit. Auparavant, l’application entraînait une erreur. Correctif soumis par Dzung Nguyen dans la demande d'extraction 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 d'extraction 27455. GitHub-23440
- GraphQL prend désormais en charge le placement d’une commande pour un produit groupé avec le type d’option
radio
etdropdown
avec plusieurs choix. Auparavant, l’application affichait un message concernant une entrée non valide pourBundleItem.type: radio/dropdown
. Correctif soumis par Michał Derlatka dans la demande d'extraction 29256. GitHub-26110
Cache
- Le stockage du cache local est maintenant conservé pendant la période définie dans Magasins > Configuration > Général > Web > Paramètres du cookie par défaut. Auparavant, la date d’expiration des cookies était codée en dur sur un jour, ce qui la désynchronisait de ce paramètre. Par conséquent, les messages de bienvenue ne conservaient pas les informations sur les clients renvoyés pendant la durée attendue.
- Le nombre d’appels au cache
config
de page a été réduit. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 28992. GitHub-29159
- Le vernis ne renvoie plus d’erreur
Connection reset by peer
lorsqu’un catalogue volumineux est réindexé selon le calendrier. Correctif soumis par Matthew O'Loughlin dans la demande d'extraction 26256. GitHub-26255
- Le cache de la page entière n’est plus effacé pour les produits non liés lorsqu’un produit a été modifié dans l’administration. GitHub-25670
Panier et passage 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 d'extraction 29376. GitHub-29453
- Les listes Produits dans la comparaison et Produits récemment comparés fonctionnent désormais comme prévu. Auparavant, lorsque la liste de comparaison était élargie, 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’achat 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 entrez correspondent à un SKU valide, mais la casse de ces chiffres diffère. Auparavant, lorsque vous saisissiez un SKU sur Mon compte > commande 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 lors du paiement lorsque l’adresse est située dans le pays identifié dans la liste 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 ce message d’erreur :
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 l’option Remise à montant fixe pour le panier entier est appliquée. GitHub-24422
- L’application ne renvoie plus d’exception lorsqu’un acheteur tente de dédéfinir le cookie de persistance après le début du passage en caisse, puis lorsqu’il accède à la page d’accueil du storefront. Auparavant, lorsque l’acheteur cliquait sur le bouton Pas vous ? sur la page d’accueil, l’application a généré cette exception :
The shipping address is missing. Set the address and try again
. GitHub-24218
- L’application affiche désormais un message de réussite de ajouts 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 maintenant inclus comme prévu dans le formulaire qui s’affiche pour l’étape de paiement dans le processus de paiement.
- La zone de saisie État/Province/Région est maintenant activée, comme prévu, sur Mon compte > Carnet d’adresses > Ajouter une nouvelle adresse.
- Des remises sont maintenant appliquées comme prévu aux frais d’expédition lorsque Appliquer au montant d’expédition est activé. Correctif soumis par Andrii Kalinich dans la demande d'extraction 28839. GitHub-26723
- Le code qui prend en charge la fermeture du mini-panier a été refactorisé pour supprimer la
closeSidebar
fonction. La liaison de clic appropriée a été ajoutée à l’élément[data-action="close"]
. Correctif envoyé par lumnn dans la demande de tirage 28906. GitHub-29161
- Le nouveau bouton Afficher « Effacer le panier » sur le paramètre de configuration de 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 envoyé par Pavlo Sydorenko dans la demande de tirage 27917. GitHub-28705
- La validation a été ajoutée au champ de téléphone dans le processus de passage en caisse. Correctif envoyé par Oleh Usik dans la demande de tirage 27537. GitHub-28800
- Le passage en caisse invité est désormais désactivé comme prévu lorsqu’un panier contient des produits téléchargeables lorsque les paramètres Paiement partageable et Désactiver le paiement invité si le panier contient des éléments téléchargeables sont désactivés. Correctif envoyé 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. Correctif envoyé par Ajith dans la demande de tirage 27977. GitHub-29097
- L’application sélectionne désormais par défaut une valeur vide pour le menu des options de liste déroulante des préfixes dans le workflow de passage en caisse. Correctif soumis par Vadim Malesh dans la demande d'extraction 28238. GitHub-18823
- Le message contextuel qui s’affiche lorsque vous supprimez plusieurs articles d’un panier décrit désormais précisément le nombre et le type d’entités que vous avez sélectionnées pour suppression. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29490. GitHub-1749
- L’application affiche désormais un formulaire d’enregistrement du client lorsqu’un utilisateur invité termine le passage en caisse.
- Les champs d’attributs d’adresse client personnalisés s’affichent désormais comme prévu dans le workflow de passage en caisse du 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 actif lors de l’ajout initial du produit au panier. Si ce groupe était supprimé avant le passage en caisse, l’application générait une erreur. Correctif soumis par Konstantin dans la demande d'extraction 28902. GitHub-29327
Catalogue
- L’application supprime désormais les produits désactivés du panier d’un acheteur avant le paiement. Auparavant, lorsqu’un acheteur ajoutait un produit à son panier qui était désactivé avant la fin du passage en caisse, l’application supprimait le produit désactivé du panier, mais le produit restait dans la citation et l’acheteur ne pouvait pas l’extraire. GitHub-26680
- L’application trie désormais les produits à succès 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 le nom du produit dans la barre latérale de comparaison des produits. Correctif soumis par Eduard Chitoraga dans la demande d'extraction 27451. GitHub-21101
- Les valeurs
children_count
restent désormais positives lorsqu’un administrateur supprime des catégories. Auparavant, lorsqu’un administrateur supprimait des catégories, lechildren_count
des catégories restantes était négatif. Correctif soumis par Vitali Prokopov dans la demande d'extraction 28044. GitHub-27969
- L’application utilise désormais l’option par défaut (Configuration > Web > Disposition par défaut > Disposition de produit par défaut) que vous avez sélectionnée pour l’attribut
page_layout
lors 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 de masse avec succès sur le stock de produits d’inventaire. Auparavant, lorsque vous tentiez d’effectuer une action de masse sur le stock de produits en stock, l’application affichait une page blanche. Si vous avez effectué cette action avec l’application en mode développeur, l’application a généré cette erreur :
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.value
affichait des prix spéciaux dans la devise de base. Correctif soumis par Petkovski Marjan dans la demande d'extraction 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 désalignement de la case de la grille Commande client d’administration. Correctif soumis par Tu Nguyen dans la demande d'extraction 27642. GitHub-27633
- Correction d’une faute d’orthographe dans le gestionnaire d’enregistrement de l’adresse de livraison dans le getter d’ID d’adresse de livraison. Correctif soumis par Konstantin dans la demande d'extraction 28810. GitHub-28982
- Correction du nom de la méthode
getRegionNameExpresion
surgetRegionNameExpression
. Correctif soumis par Pierre Grimaud dans la demande d'extraction 28832. GitHub-28829
- Une méthode
init
redondante a été supprimée deapp/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.php
etapp/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php
. Correctif envoyé par Oleh Usik dans la demande de tirage 28650. GitHub-29009
localStorage
polyfill a été déplacé debase
àfrontend
. Correctif envoyé par Ihor Sviziev dans la demande de tirage 28749. GitHub-28900
- Mise à jour du logo Adobe Commerce et suppression des espaces superflus du fichier README. Correctif soumis par Rafael Corr̻ êa Gomes dans la demande d'extraction 28891. GitHub-29056
- La classe
overflowed
inutile a été supprimée du widget de la barre latérale du mini panier. Correctif soumis par lumnn dans la demande d’extraction 28963. GitHub-29160
- Un sélecteur CSS incorrect dans la page Expédition a été corrigé. Correctif soumis par Tu Nguyen dans la demande d'extraction 28639. GitHub-29261
- Le fichier
lib/internal/Magento/Framework/App/Request/Http.php
a été simplifié en optimisant la logique et en supprimant les affectations de variables redondantes et la surutilisation des retours dans une fonction. Correctif envoyé par Chris Snedaker dans la demande de tirage 28608. GitHub-29381
- La commande
bin/magento module:status
accepte désormais plusieurs noms de module en tant qu’arguments. Correctif envoyé par Chandru Rajendran dans la demande d’extraction 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 d’extraction 29451. GitHub-29470
- La classe
TierPriceManagement
a été restructurée pour supprimer le code redondant. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 29202. GitHub-29477
autoload.php
a été remanié afin d’améliorer la lisibilité et la vitesse de renvoi. Correctif envoyé 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 magasin lorsque la nouvelle vue de magasin contient une page CMS avec la même clé d’URL qu’une page dans une autre vue de magasin. Correctif soumis par Vadim Malesh dans la demande d'extraction 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 avec la liste des variations actuelles de modification de produit configurables ont été corrigés.
- L’application ne met plus à jour la case de 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 pour les produits configurables avec des options personnalisables sur la page Admin Créer une commande . Comme prévu, le prix affiché est la 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
- Le récapitulatif de la commande 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 d’expédition.
- Les comptes d’utilisateurs administrateurs créés à partir d’un compte administrateur avec une portée limitée 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 POST
/V1/products
pour un produit configurable avec une valeurint
de 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 d’extraction 29001. GitHub-13210
- L’attribut des options de configuration d’un produit parent n’est plus affecté à un nouvel attribut
size
d’un produit configurable. Correctif soumis par Abel Truong dans la demande d'extraction 27339. GitHub-26449
Cookies
- L’application crée désormais un maximum d’un
mage-translation-file-version
cookie parmage-translation-storage
session. Correctif envoyé par Ihor Sviziev dans la demande de tirage 27364. GitHub-27355
cron
- La configuration des consommateurs de la file d’attente des messages a été étendue avec de nouveaux paramètres qui aident à contrôler les consommateurs et à économiser les ressources du serveur, ce qui peut réduire la consommation du processeur de la file d’attente des consommateurs. Voir Configuration des files d’attente de messages pour obtenir une description des paramètres
maxIdleTime
,sleep
etonlySpawnWhenMessageAvailable
.
- Expressions
cron
telles que3/10 * * * *
sont désormais planifiés comme prévu. Correctif soumis par Anton Evers dans la demande d’extraction 28930. GitHub-29240
sales_clean_quotes
ne charge plus tous les guillemets expirés à la fois. 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 CSS lorsque CSS critique est activé. Correctif soumis par Tu Nguyen dans la demande d'extraction 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 client personnalisés
- Correction de problèmes d’alignement du texte explicatif sur les mots de passe et du champ Titre du poste 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 des clients de la vitrine. Auparavant, l’application ne créait pas le compte client et affichait une erreur lorsque le client cliquait sur le bouton.
- Le processus de paiement n’affiche plus les valeurs d’attribut d’adresse client personnalisées lorsque le client n’a saisi aucune donnée.
Client
- Les noms de région figurant dans les adresses des clients administrateurs sont maintenant traduits comme prévu.
- Les champs État/Province sont maintenant remplis 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 de la vitrine pour lesquels 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
.
- L’enregistrement d’un client supprimé auprès de l’administrateur génère désormais un message d’erreur uniquement. Auparavant, l’application affichait une page vierge et générait un rapport contenant cette chaîne :
"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 boîte de message vide.
- Les étiquettes des champs d’adresse dans le processus de paiement et le carnet d’adresses ont été modifiées pour plus de cohérence.
- Les libellés front-end reviennent désormais aux libellés de magasin si leurs valeurs ne sont pas nulles. Auparavant, les attributs du client utilisaient les étiquettes frontales par défaut. Correctif soumis par Toan Nguyen dans la demande d'extraction 27064. GitHub-27063
- Le nombre
sortOrder
de liens dans le XML de mise en page a été corrigé. Auparavant, cet ordre était inversé et l’ordre décroissant était utilisé. Correctif soumis par Tu Nguyen dans la demande d'extraction 27340. GitHub-27162
Segment de clients
- Les opérations en bloc ont été restructurées pour enregistrer et 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 (supérieurs à 3 000 000).
- Les conditions de segment du client fonctionnent désormais comme prévu dans un déploiement de base de données partagée. Auparavant, l’application générait une erreur lorsque vous tentiez de modifier un segment de clients en ajoutant une condition :
SQLSTATE[42S02]: Base table or view not found
.
Répertoire
- Le format du menu déroulant État/Province est maintenant 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 statistiques web.
-
Le suivi du comportement web fonctionne désormais pour les marchands avec certaines configurations de thème. Un nouveau sélecteur de secours résout ce problème.
-
Le champ de données d’état des abonnés n’inclut plus de valeurs vides lorsque la synchronisation du client a été exécutée à l’aide de cron. (L’émulation d’application résout ce problème.)
-
Le mappage du carnet d’adresses fonctionne désormais comme prévu lorsqu’un compte dotdigital est activé au niveau 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éinscrits lorsque leur
last_subscribed_at
valeur est nulle. -
Les erreurs de mise à jour (datant de 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 groupé comme prévu.
- Cliquer sur le bouton Sample d’un produit téléchargeable sur la page Admin product télécharge télécharge désormais un exemple comme prévu. Auparavant, lorsque vous cliquiez sur Sample, 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 exemples de produits téléchargeables en rupture de stock. Auparavant, lorsqu’un acheteur tentait de télécharger un exemple, l’application ouvrait un nouvel onglet, sans afficher de message informatif ni lancer le processus de téléchargement. Correctif soumis par Vadim Malesh dans la demande d'extraction 28898. GitHub-23638
- Le message d’exception affiché par l’application 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 d'extraction 28904. GitHub-26107
- Les données d’un
stock_item
produit sont mises à jour et les liens et échantillons de produits téléchargeables sont conservés comme prévu lorsque vous utilisez un appel de PUT REST pour mettre à jourstock_item
les valeurs. 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 d'extraction 28799. GitHub-21811
- L’application affiche désormais un message plus informatif lorsqu’un client définit l’adresse de livraison pour une commande contenant 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 sur les modifications de commande au message client approprié si le message électronique du client a été modifié après la création de la commande.
- Les emails de mise à jour de commande envoyés aux clients incluent désormais le bon état de commande. Auparavant, si l’état d’une commande passait de
processing
à un autre état, l’email de commande ne reflétait pas le changement d’état.
- L’application n’affiche plus de messages trompeurs concernant 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 de courrier électronique personnalisés chargent désormais les mêmes éléments que les modèles de courrier électronique natifs par défaut. Auparavant, certains éléments étaient manquants, y compris les valeurs de variable.
- Vous pouvez maintenant créer un modèle de courrier électronique qui envoie du courrier électronique avec
Content-Type: "text/plain"
. Auparavant, l’application ignorait le type de contenu spécifié dans le modèle. Correctif soumis par twoonesixdigital dans la demande d’extraction 26474. GitHub-26471
- Une page CSS superflue a été supprimée du modèle Email Preview. Correctif soumis par Tu Nguyen dans la demande d'extraction 27828. GitHub-27543
- Le texte du modèle d'email qui duplique le texte déjà affiché par le pied de page a été supprimé. Correctif soumis par Paweł Tylek dans la demande d'extraction 27356. GitHub-28433
- Les emails d’alerte de produit sont désormais envoyés à partir du magasin auquel l’alerte est abonnée. Auparavant, cet email était toujours envoyé à partir du magasin par défaut. Correctif soumis par Maciej Pawłowski dans la demande d'extraction 26534. GitHub-28968
- Une variable
customer.name
en double a été supprimée du modèle de courrier électronique. Correctif soumis par Paweł Tylek dans la demande d'extraction 29054. GitHub-29087
- Les e-mails de notification envoyés aux représentants commerciaux affectés à une entreprise incluent désormais le logo d’entreprise affecté. Auparavant, l’e-mail de notification incluait le logo LUMA par défaut, et non l’e-mail du logo d’entreprise chargé.
Frameworks
- Le champ Heure de la journée pour envoyer des données de la page Admin Magasins > Configuration > GÉNÉRAL > Création de rapports avancés est désormais correctement rendu.
- 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 des commandes et que vous tentiez de modifier le nombre de commandes affichées par page :
You have placed no orders
. Il s’agissait d’un problème connu pour 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-Tags
ne dépassent plus la taille autorisée par la spécification HTTP. Auparavant, les pages de catégorie contenant de nombreux produits renvoyaient un en-têteX-Magento-Tag
qui générait une erreur 503.
sales_order_shipment_track_save_commit_after
est maintenant déclenché comme prévu lorsque vous avez utilisé l’API REST pour créer une envoi.
- L’application affiche désormais un message d’erreur informatif lorsqu’un
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
Persistent
module est désactivé. GitHub-14486
Correctifs généraux
- Le tri des produits sur l’administrateur (Magasins > Attributs > Produits) affiche désormais tous les produits qui répondent aux critères de recherche. Auparavant, l’application n’affichait pas les enregistrements, et pour trier les enregistrements, vous deviez naviguer jusqu’à la première page des résultats de recherche.
- Les guillemets inutiles et l’échappement autour d’une URL dans
tracking.phtml
ont été supprimés.
- Le
var/log/system.log
affiche 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 que le mode de production sont activés. L’application consigne désormais une erreur 404. Auparavant, l’application consignait le même message consigné lorsque l’erreur se produisait en mode développeur.
- JavaScript la minimisation fonctionne désormais correctement. Le résolveur de fichier de minification ne perd plus de variables dans la portée globale. Auparavant,
ctx
,origNameToUrl
etbaseUrl
les variables sous window étaient divulguées. Correctif envoyé par Mateusz Krzeszowiak dans la demande de tirage 27622. GitHub-28110
- Lorsque vous déboguez une erreur qui empêche la création de l’objet, l’application imprime désormais et consigne le message d’exception d’origine. Auparavant, le message était uniquement consigné. Correctif soumis par Marvin Hinz dans la demande d'extraction 26572. GitHub-26550
- L’exécution des rappels 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 soumis par Alok Patel dans la demande d’extraction 27134. GitHub-28167
- Les mixins pour les modules sans dépendances définies ne renvoient plus cette erreur :
TypeError: Cannot read property 'map' of null
. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27690. GitHub-28340
- Le polyfill de stockage est désormais chargé et appliqué uniquement lorsque
localStorage
ousessionStorage
ne sont pas disponibles. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27619. GitHub-28381
- Les listes de commandes de storefront de plusieurs 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 d'extraction 28417. GitHub-28488
- La méthode
addWarning
obsolète a été remplacée par la méthodeaddWarningMessage
dans le module de sécurité. Correctif soumis par kishorekumarkesavan dans la demande d'extraction 28264. GitHub-28308
- Le code généré à l’aide des commandes de ligne de commande
bin/magento
est désormais conforme aux exigences et aux normes de codage. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 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 = static
ne supprime plus lefrontend_class
contenu du champ. Correctif soumis par jiten-patel dans la demande d’extraction 27369. GitHub-27051
- Code inutile et
responsive.js
ont été supprimés des fichiers chargés par thèmes. Correctif envoyé 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 d’Admin CAPTCHA. Correctif envoyé 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, bien qu’il se chargeait comme prévu lors de l’actualisation de la page. Correctif soumis par Vadim Malesh dans la demande d'extraction 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 comme défini 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 la réinitialisation du mot de passe.
- Les codes de coupon ne s’appliquent plus qu’à un produit spécifique. Auparavant, l’application appliquait le code promo à 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 devait expirer dans 24 heures et qu’une mise à jour de stock ou de prix se produisait, les indexeurs remplissaient la
updated_at table
variable , qui réinitialisait l’heure d’expiration.
- L’application ne renvoie plus d’erreur fatale lorsqu’un administrateur affecte un client disposant d’un panier actif à un groupe de clients.
- La sélection d’une option de barre d’outils à partir de Outils de développement > Réseau sur une page de produit lors de l’exécution du navigateur Chrome n’initialise plus
toolbar.js
deux fois. Correctif soumis par Paweł Tylek dans la demande d'extraction 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 catégorie de produits. Cela limite les arborescences de catégorie qu’un administrateur avec une portée limitée peut voir comme prévu. Correctif soumis par quangdo-aligent dans la requête de tirage 27429. GitHub-28306
Cartes-cadeaux
- Les comptes de cartes-cadeaux saisissent désormais les numéros de commande comme prévu. Auparavant, le champ Plus d’informations de l’onglet Historique pour le compte cadeau sélectionné n’affichait pas les ID de commande.
- L’utilisation d’une virgule comme séparateur décimal fonctionne maintenant 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, les objets HTML rendus par l’application étaient du texte.
- Les notes de crédit reflètent maintenant correctement le total général des commandes qui impliquaient des produits à prix réduit et qui ont été payées par une combinaison de cartes-cadeaux et de crédit en magasin.
Gestionnaire de balises de Google
- L’application ne renvoie plus d’erreur JavaScript lors du passage en caisse lorsque le paramètre Mode de restriction des cookies et Google Tag Manager sont activés.
GrapheQL
- Les acheteurs peuvent sélectionner les options de message cadeau et d’emballage lors du paiement. GraphQL couvre maintenant les options de messages cadeaux pour différents types d’articles de panier. Voir
setGiftOptionsOnCart
mutation etupdateCartItems
mutation. Correctif envoyé par Oleh Usik dans les requêtes de tirage 28519, 27956, 28072, 28072 et 246 dans private repo partners-magento2ee. GitHub-253
- Les clients et les invités peuvent écrire des critiques de produits. Les clients peuvent également récupérer leurs historiques de révision de produits. Pour plus d’informations sur la récupération des informations sur l’infrastructure de révisions, voir Création d’une révision de produit et requête productReviewREvaluatesMetadata . Correctif soumis par Eduard Chitoraga dans la demande d’extraction 27882. GitHub-28523
- Les clients peuvent appliquer ou supprimer des points de récompense à leur panier. Ils peuvent également consulter leur historique des points de récompense. Voir
applyRewardPointsToCart
etremoveRewardPointsFromCart
pour une discussion sur la gestion des points de récompense dans un panier. Correctif soumis par Petkovski Marjan dans la demande d’extraction 285 dans repo Partners-magento2ee et Dmitriy Gallyamov dans les demandes d’extraction 284 et 281 dans private repo Partners-magento2ee. GitHub-28835, GitHub-28833
- La
addProductsToCart
mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous vous recommandons d’utiliser cette mutation plutôt que des mutations à usage unique telles queaddSimpleProductsToCart
. Correctif soumis par Yaroslav Rogoza dans la demande d'extraction 27914. GitHub-28524
- Les requêtes GraphQL pour les produits associés renvoient désormais des valeurs pour les produits associés créés à partir de règles cibles. Auparavant, les requêtes relatives aux produits associés (ventes incitatives et ventes croisées) renvoyaient des valeurs uniquement si les produits associés étaient ajoutés à partir des paramètres du produit. Correctif soumis par Ulzii dans la demande d’extraction 288 dans le référentiel privé partenaire-magento2ee. GitHub-28566
- La nouvelle requête
availableStores
renvoie une liste d’attributs de configuration pour plusieurs magasins disponibles sur le même site web (en fonction du magasin actuel). Elle n’expose pas la liste des sites web. VoiravailableStores
query. Correctif soumis par Dmitriy Gallyamov dans la demande d'extraction 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 d’extraction 27373. GitHub-28040
- Nous avons ajouté les mutations et
updateCustomerV2
pour gérer lescreateCustomerV2
comptes clients. Ces nouvelles mutations nécessitent des objets d’entrée différents des mutations etcreateCustomer
updateCustomer
. Pour modifier l’adresse email d’un client, utilisez la nouvelleupdateCustomerEmail
mutation. Correctif soumis par Michał Derlatka dans la demande d'extraction 2888. GitHub-28570
updateCustomer
ne vous permet plus de définir une valeurINT
non valide dans l’argumentgender
. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 28487. GitHub-28481
- Vous pouvez utiliser la mutation
subscribeEmailToNewsletter
pour abonner des clients à une newsletter. VoirsubscribeEmailToNewsletter
mutation. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 27586. GitHub-27337
- Suppression de la logique redondante dans le résolveur de mutation
setShippingMethodsOnCart
. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 27349. GitHub-28262
- Ajout d’une couverture de test pour l’erreur
Please provide Email of sender
associée à lasendEmailToFriend
mutation. Correctif envoyé par Alexander Taranovsky dans la demande de tirage 28034. GitHub-28138
- La requête
products
renvoie désormais les libellés des options d’attribut de produit pour la vue de magasin par défaut, comme prévu. Auparavant, cette requête renvoyait les étiquettes d’option d’attribut de produit qui étaient définies pour l’administrateur. Correctif soumis par Dmitriy Gallyamov dans la demande d'extraction 28647. GitHub-28568
- Les agrégations d’attributs personnalisées renvoient désormais des valeurs d’options spécifiques au magasin. Correctif envoyé par Dmitriy Gallyamov dans la demande d’extraction 28647. GitHub-28572
- Les intervalles de prix renvoyés dans une agrégation de produits peuvent désormais être numériques uniquement (aucun caractère générique n’est autorisé). Correctif soumis par Dmitriy Gallyamov dans la demande d'extraction 28745. GitHub-28628
- La requête
categoryList
renvoie désormais la réponse correcte lors de l’utilisation de fragments. Correctif soumis par Ulzii dans la demande d'extraction 28710. GitHub-28584
- La recherche de produits 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 d'extraction 28757 et la demande d'extraction 271 dans le référentiel privé
partners-magento2ee
. GitHub-28563
-
Vous pouvez désormais ajouter un produit à un panier à l’aide de
addSimpleProductToCart
lorsque 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 par défaut GraphQL
Category
trie désormais par position de catégorie, comme prévu. Correctif envoyé 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 dans et supprimer des éléments d’une liste de souhaits. Correctif soumis par Eduard Chitoraga dans les demandes d'extraction 28205 et 264 dans les partenaires de repo privés-magento2ee. GitHub-28551
-
La
addProductsToCart
mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous vous recommandons d’utiliser cette mutation plutôt que des mutations à usage unique telles queaddSimpleProductsToCart
. Correctif soumis par Yaroslav Rogoza dans la demande d'extraction 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 d'extraction 28821. GitHub-28520
-
Mise à jour de la requête
storeConfig
de GraphQLpour inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521 -
Ajout de la mutation
resetPassword
. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521 -
Ajout de la mutation
requestPasswordResetEmail
, qui déclenche le courrier électronique de réinitialisation de mot de passe pour l’adresse électronique fournie. Correctif envoyé 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 pour les images miniatures a été amélioré. Correctif soumis par Tu Nguyen dans la demande d'extraction 28642. GitHub-29468
Import/export
- Le fichier
error_report.csv
est désormais téléchargé avec du 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.csv
comme prévu. Auparavant, l’application générait le fichier, mais le supprimait une fois l’importation terminée. Correctif soumis par Vadim Malesh dans la demande d'extraction 28460. GitHub-28420
- Suppression des imports de classe redondants dans toute la base de code. Correctif envoyé par Oleh Usik dans la demande de tirage 28696. GitHub-29012
- L’application importe désormais avec succès les adresses client qui contiennent 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
catalog_category_product
tableau est désormais mise à jour comme prévu lorsqu’un administrateur crée un produit dans l’administrateur et l’affecte à une catégorie. Auparavant, la position des nouveaux produits se voyait toujours attribuer une valeur 0.
- L’exportation des données client à partir de l’administrateur s’effectue désormais correctement, 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 sur les produits associés comme prévu. Auparavant, les informations sur les produits associés n’étaient pas toujours chargées la première fois que le fichier CSV était importé.
- Suppression des paramètres de concept inutilisés dans
AdvancedPricing.php
. GitHub-29531
Index
Magento_CacheInvalidate
gère désormais correctement les modèles de balises volumineuses lors de l’exécution d’unPURGE
.sendPurgeRequest
a été restructuré pour gérer un tableau de balises au lieu d’exiger que l’appelant utiliseimplode()
. Correctif soumis par Matthew O'Loughlin dans la demande d'extraction 26256. GitHub-26255
- Les indexeurs partagés affichent désormais l’état valid après l’exécution de
bin/magento indexer:status
après la réindexation. Auparavant, les indexeurs partagés avaient un état 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 des mises en page sont rendues en mode de production sont désormais consignées dans le fichier journal des exceptions (
var/report
). Auparavant, l’application consignait ces messages dans le journal du 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_limi
t etpcre.recursion_limit
à environ 1000000. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27270. GitHub-26026
- La génération des intercepteurs a été améliorée.
} else {
instructions ont été supprimées des intercepteurs, etarray_map
a remplacéforeach
. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 27902. GitHub-28383
- La création de tableaux est désormais cohérente dans l’ensemble de la classe (
app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
). Correctif envoyé par Nathan de Graaf dans la demande de tirage 28515. GitHub-28795
- Les modules externes ont été migrés hors du framework pour suivre la meilleure pratique consistant à interdire les plug-ins dans l’espace de noms Framework. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 27965. GitHub-27962
- L’application ne renvoie plus d’erreur
Undefined class constant
lorsqu’un intercepteur est généré. Correctif soumis par Vova Yatsyuk dans la demande d'extraction 28797. GitHub-28981
- Les données de formulaire persistent maintenant 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 d'extraction 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 d'extraction 27221. GitHub-28693
- La logique qui vérifie si une redirection est interne fonctionne désormais correctement dans l’administrateur lors de l’utilisation d’un domaine d’administrateur personnalisé. Auparavant, des problèmes avec cette logique entraînaient de nombreuses redirections Admin vers la page d’accueil du magasin par défaut. Correctif envoyé par Vadim Malesh dans la demande de tirage 29066. GitHub-28943
- Les problèmes avec le fichier ont été éliminés et le
styles-old.less
linting n’identifie plus les erreurs. Correctif envoyé par Tu Nguyen dans la demande de tirage 28895. GitHub-24004
NonComposerComponentRegistration.php
a été restructuré. Correctif soumis par Vitali Ryaboy dans la demande d'extraction 28975. GitHub-29308
ResourceConnection.php
a été remanié afin d’améliorer la lisibilité de classe. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 29341. GitHub-29389
- Le fichier README du serveur Web intégré a été mis à jour pour inclure tous les paramètres Elasticsearch. Correctif envoyé par Yevhenii Dumskyi dans la demande de tirage 29300. GitHub-29299
- Le
Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSave
plugin renvoie à présent une valeur comme prévu. Auparavant, ce plug-in ne retournait pas de valeur et, par conséquent, l’enregistrement d’une vue de magasin entraînait une erreur. Correctif envoyé 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 les méthodes magiques
get/set/has/uns
(avec l’utilisation de__call
) - Prise en charge de SessionManager, qui transfère tous les appels au conteneur DataObject
- Couverture de test pour les extensions
- tests mis à jour pour le contrôle des erreurs filtrées
- augmentation du niveau de contrôle PHPStan de 0 à 1. Correctif envoyé par Oleksandr Kravchuk dans la demande de tirage 27905. GitHub-28303
- nouvelle extension pour prendre en charge les méthodes magiques
ScopeConfigInterface
peut désormais être supérieur à une chaîne. La restriction demagentoConfigFixture
à la chaîne uniquement était le résultat involontaire d’une demande d’extraction précédente et a été annulée. Correctif envoyé par Kristof, Fooman dans la demande de tirage 29305. GitHub-29345
- La
convertConfigTimeToUtc
méthode ne renvoie plus d’erreur fatale en raison de l’envoi de paramètres incorrectsPhrase
au constructeur. Correctif envoyé 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::getCondition
Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue()
et renvoient un tableau avec des index contenant outo
des données defrom
chaîne. 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 envoyé par Nikita Sarychev dans la demande de tirage 29214. GitHub-29213
- Ajout d’un point d’extension pour prendre en charge l’ajout d’un HTML à la page de catégorie. Ceci corrige un bogue qui a été introduit par une requête de tirage précédente. Correctif soumis par iGerchak dans la demande d’extraction 29291. GitHub-29286
Inventaire
- Les commentaires de code inutiles ont été supprimés de
app/code/Magento/CatalogInventory/Model/StockState.php
. Correctif soumis par Vitali Prokopov dans la demande d'extraction 27758. GitHub-26702
Navigation en couches
- La barre latérale de navigation en couches affiche désormais les attributs booléens avec les deux options (oui/non) et le nombre de produits correspondant. Auparavant, la navigation en couches ne renvoyait pas une option non pour les attributs booléens dans les déploiements utilisant Elasticsearch.
- Le filtre de navigation en couches d’échantillons est désormais cohérent avec les filtres standard utilisés dans Adobe Commerce. Correctif envoyé par Bartłomiej Szubert dans la demande de tirage 28015. GitHub-28011
Exploitation forestière
- 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 enregistrée pour les déploiements en mode production, ce qui gonflait les journaux d’erreurs. Correctif envoyé par Bartłomiej Szubert dans la demande de tirage 28735. GitHub-26504
Galerie multimédia
- Interface utilisateur de configuration de la galerie de médias (Admin Magasins > Configuration > Advanced > System) a été réorganisé. Correctif soumis par Shankar Konar dans la demande d'extraction 29433. GitHub-28011
- Ajout de tests pour couvrir les liens Utilisé(e) dans pour une image dans la galerie multimédia. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29392. GitHub-1963
- L’application ne lève plus d’exception lorsqu’un marchand tente d’enregistrer un produit avec son image associée lorsque la Galerie multimédia est désactivée. Correctif envoyé par Nazar Klovanych dans la demande de tirage 29492. GitHub-1750
MFTF
AdminSubmitAdvancedInventoryFormActionGroup
,AdminClickOnAdvancedInventoryLinkActionGroup
et Les groupes d’actionsAdminSetStockStatusConfigActionGroup
sont désormais utilisés dans les tests conformément aux bonnes pratiques. Correctif soumis par Oleh USIA dans la demande d'extraction 29386. GitHub-29420
SearchProductGridByKeywordActionGroup
est désormais utilisé pour la recherche dans la grille de produits. Correctif envoyé par Oleh Usik dans la demande de tirage 29385. GitHub-29434
AdminCategoriesClickDoneButtonOnPopupActionGroup
est désormais utilisé pour cliquer sur Terminé dans le menu contextuel Search Catégories. Correctif envoyé par Oleh Usik dans la demande de tirage 28989. GitHub-29380
LoginToStorefrontActionGroup
est désormais utilisé pour remplacer une séquence d’actions utilisée pour la connexion du client front-end du magasin. Correctif soumis par Sathish Subramanian dans la demande d'extraction 28113. GitHub-28165
AdminUpdateCustomURLRewritesPermanentTest
a été restructuré pour répondre aux bonnes pratiques MFTF. Correctif soumis par Kate Kyzyma dans la demande d'extraction 28361. GitHub-28393
- Les noms des tests ont été modifiés pour respecter les conventions MFTF. Correctif soumis par Evgeny Levinsky dans la demande d'extraction 27839. GitHub-28305
Nouveaux groupes d’actions
StorefrontCheckoutClickNextButtonActionGroup
Correctif envoyé par Oleh Usik dans la demande de tirage 29472. GitHub-29539
AdminProductFormSaveActionGroup
Correctif envoyé par Oleh Usik dans la demande de tirage 29142. GitHub-29292
AdminSaveCategoryActionGroup
Correctif envoyé par Oleh Usik dans la demande de tirage 28993. GitHub-29388
AdminProductGridSectionClickFirstRowActionGroup
Correctif envoyé par Oleh Usik dans la demande de tirage 29000. GitHub-29295
AdminProductFormCategoryExistInCategoryListActionGroup
etAdminProductFormCategoryNotExistInCategoryListActionGroup
Correctif soumis par Alexander Steshuk dans la demande d’extraction 28287. GitHub-28392
AdminExpandCategoryTreeActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 29133. GitHub-29289
AdminTaxRateGridOpenPageActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 29007. GitHub-29281
AdminNavigateNewCustomerActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 29134. GitHub-29287
Nouveaux tests
-
Ajout d’un test pour la suppression d’une page CMS en tant qu’utilisateur administrateur. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28112. GitHub-28202
-
Ajout du test pour le
StorefrontShareCustomerWishlistActionGroup
partage de la liste de souhaits des clients avec des adresses électroniques non valides. Le test existant pour le partage de liste de souhaits (StorefrontShareWishlistEntityTest
) a été restructuré.StorefrontCustomerShareWishlistActionGroup
est désapprouvé.
- Ajout d’un test pour vérifier l’implémentation du paramètre de configuration Seuil gauche seulement X . Correctif envoyé par Oleh Usik dans la demande de tirage 27549. GitHub-28755
Newsletter
- L’exportation de la liste Abonnés à la newsletter à l’aide de l’option
Excel XML
entraî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 page, et non toutes les lignes.
- Les emails d’abonnement à la newsletter utilisent désormais les mêmes balises d’HTML que les autres emails liés à la newsletter. Correctif soumis par Paweł Tylek dans la demande d'extraction 27357. GitHub-28166
- Ajoute un test de suppression des abonnés à la newsletter en tant qu’utilisateur administrateur. Correctif envoyé par Dmitry Tsymbal dans la demande de tirage 28972. GitHub-29032
- Ajout de tests pour l’abonnement aux newsletters pour les invités avec une option interdite dans les instructions de configuration. Ce test remplace les
VerifyRegistredLinkDisplayedForGuestSubscriptionNoTest
propriétés obsolètes etStorefrontCreateNewSubscriberActionGroup
. Correctif soumis par Dmitri Tsymbal dans la demande d'extraction 28872. GitHub-29039
Ordres
- Le
GetAssetIdByContentFieldInterface
et son implémentation surMediaContent
les modules permet désormais Adobe Stock intégration pour étendreMediaGallery
les fonctionnalités de filtrage. Correctif soumis par Gabriel da Gama dans la demande d'extraction 29058. GitHub-1464
- Les valeurs
CustomerAddressI
d’un client nouvellement créé sont désormais validées entre guillemets. Correctif soumis par Andrii Kalinich dans la demande d'extraction 29139. GitHub-28793
- L’état de la commande d’une note de crédit avec zéro total est désormais
Closed
. Auparavant, l’application signalait l’état de sa commande commeComplete
. Correctif soumis par Andrii Kalinich dans la demande d’extraction 29023. GitHub-22762
Page Builder
- Les attributs de produit
description
etshort_description
ont été réorganisés afin de mieux s’adapter aux modifications planifiées de l’évaluation du contenu du générateur de pages. Correctif soumis par Matt Walters dans la requête de tirage 29238. GitHub-543
Modes de paiement
- L’application affiche désormais un message vous invitant à saisir les données de carte de crédit obligatoires lorsque vous cliquez sur Envoyer pour une commande d’administrateur sans saisir d’informations de paiement valides. Auparavant, le programme de validation des cartes du Braintree ne renvoyait pas d’erreur lorsque les champs d’entrée de paiement étaient invalides et que la page devenait inactive.
- Vous pouvez désormais modifier le mode de livraison d’une commande que vous créez à partir de l’administrateur d’un client dont le compte comporte une carte de crédit stockée (Braintree). Auparavant, lorsque vous sélectionniez un autre mode de livraison, la carte stockée n’était pas sélectionnée et l’application ne passait pas la commande.
PayPal
- La page 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 la méthode d’expédition a été modifiée lors du passage en caisse. Auparavant, lorsqu’un client modifiait la méthode d’expédition sur la page de révision des commandes PayPal du processus de passage en caisse, l’application ne mettait pas à jour le total de la commande avec la méthode correcte.
- Les vendeurs peuvent désormais annuler avec succès les commandes qui ont été 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 effectué une autre commande.
Performances
- Trois nouveaux paramètres de configuration prennent en charge une diminution de la consommation du processeur de la file d’attente des clients. Ces paramètres facultatifs offrent un contrôle accru sur les consommateurs et permettent d’économiser les ressources du serveur. Voir Configuration des files d’attente de messages pour obtenir une description du et
sleep
onlySpawnWhenMessageAvailable
desmaxIdleTime
paramètres.
-
La configuration de la liste des plugins est maintenant générée lors de l’exécution de la
di:compile
commande. Ces informations de configuration sont écrites dans les dossiers de métadonnées générés en fonction de l’étendue. Auparavant, ces informations étaient stockées dans le cache. Les améliorations de performances qui en résultent sont les suivantes :- La taille du cache réseau a diminué
- Le délai 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 des pages. 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é est désormais chargé uniquement lorsque la liaison de plage est réellement utilisée sur la page. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 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 marchandisage de retour (RMA)
- La page Renvoie fonctionne désormais comme prévu une fois que vous avez créé un libellé d’expédition pour une autorisation de marchandisage de retour (RMA). Auparavant, les marchands ne pouvaient pas interagir avec les éléments de page sur la page Renvoie après avoir créé un libellé d’expédition pour une RAM. Il s’agissait d’un problème connu pour la version 2.4.0, et
MC-35984-2.4.0-CE-composer.patch
a résolu ce problème pour la version 2.4.0.
- L’application affiche désormais un message d’erreur informatif ou tous les produits disponibles lorsqu’un administrateur avec des autorisations restreintes tente de créer un retour pour les produits qui ne se trouvent plus dans la portée du site web affecté. Auparavant, l’application affichait une page blanche.
Critiques
- Une clé unique pour
entity_pk_value-entity_type-store_id
a été ajoutée à la tablereview_entity_summary
, ce qui empêche la création de lignes dupliquées pour le même ID de produit (entity_pk_value
). Auparavant, cette absence de clé unique entraînait des lignes dupliquées pour le même ID de produit et des erreurs SQL.
Ventes
- L’application n’affecte plus l’état
Complete
après facturation à une commande qui ne nécessite aucun paiement.
- L’e-mail New Shipment généré par l’API REST contient désormais les mêmes informations d’expédition et de client que les envois créés manuellement à partir de l’administrateur. 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’utilisateur invités sont désormais visibles comme prévu dans les emails liés aux factures et à l’expédition lorsque les emails sont chargés ou personnalisés à partir de l’administrateur.
- La facture du PDF est maintenant traduite dans la langue de la vue du magasin où la commande a été passée. Auparavant, la facture du PDF était traduite dans la langue de l'administrateur.
- Vous pouvez maintenant émettre un remboursement comme prévu à partir de la page de note de crédit. GitHub-29014
- Les noms de régions localisés qui s’affichent sur la page de commande de vitrine sont désormais correctement traduits. Auparavant, le nom de la région n’était pas basé sur les paramètres régionaux spécifiés, sauf s’il était modifié dans l’administration.
- Les envois créés via le point de terminaison
/rest/V1/shipment
du POST mettent désormais à jour correctement les commandes. Auparavant, l’application créait une expédition, mais l’état de l’expédition restait à l’état de traitement.
- Les notes de crédit affichent désormais le mode de paiement dérivé de la portée du magasin dans lequel la commande a été passée. Auparavant, les notes de crédit affichaient le nom tel que défini dans la portée de magasin par défaut. Correctif soumis par Ledian Hymetllari dans la demande d'extraction 27582. GitHub-27570
Rechercher search-heading
- Vous pouvez désormais rechercher des produits par attribut à partir de la vue Client administrateur à l’aide de QuickSearch. Auparavant, une exception se produisait sur la page des résultats de recherche du 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.
- Elasticsearch résultats incluent désormais les valeurs correctes pour les options d’attributs de chaque vue de magasin. Si un attribut Liste déroulante ou Sélection multiple possède une valeur d’option différente dans la vue de magasin autre que dans la vue de magasin 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 et 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 de rechercher par SKU, l’application affichait ce message d’erreur :
We can't find any items matching these search criteria. Modify your search
.
- La recherche avancée ne permet plus aux acheteurs de filtrer selon des prix négatifs. Correctif soumis par Rohan Hapani dans la demande d’extraction 27359. GitHub-27358
- Les valeurs d’étendue sont désormais réinitialisées comme prévu sur le formulaire New Synonym Group. Correctif soumis par Sathish Subramanian dans la demande d’extraction 29206. GitHub-28947
Livraison
- L’application calcule désormais correctement les tarifs des tables 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 avec succès les points de récompense sur la page de révision des commandes du processus de paiement lorsqu’ils passent à la caisse avec plusieurs adresses. Auparavant, l’application générait une
404 Not Found
erreur lorsqu’un client cliquait sur le bouton Supprimer pour supprimer des points pour n’importe quelle adresse. Il s’agissait d’un problème connu dans la version 2.4.0.
- L’application affiche désormais les tarifs d’expédition dans la devise correcte dans le flux de paiement pour les commandes indiquant FedEx comme mode d’expédition.
- Les PDF de plusieurs pages des é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 une étiquette d’expédition pour une commande existante.
Plan du site
- Le plan du site dans
robots.txt
est désormais spécifique au magasin. Correctif soumis par Vadim Malesh dans la demande d'extraction 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 un nom de produit ou un titre d’image, le plan de site généré n’était pas valide.
Évaluation
- L’étiquette d’attribut Définir le produit comme nouveau apparaît désormais comme prévu sur les pages de mise à jour détaillée et planifiée d’un produit.
- Vous pouvez désormais prévisualiser le planning d’évaluation pour un bloc CMS. Auparavant, l’application entraînait 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 la réaffecter 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 POST
/V1/products/special-price
pour mettre à jour le prix spécial d’un produit sans spécifier de valeur de paramètreprice_to
. Auparavant, les tentatives de définir la mise à jour de prix sans leprice_to
paramètre spécifié étaient infructueuses.
Boutique
- La suppression d’une vue de magasin précédemment créée 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
config.php
et utiliser le code de site Web par défaut à partir d’un site Web pour installer et configurer l’application sur un deuxième site Web dans un déploiement multisite Web. Auparavant, le magasin et la vue par défaut disparaissaient après l’exportation et des erreurs se produisaient sur la vitrine.
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 lors de la saisie d’informations d’accès client valides, 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 d'extraction 28822. GitHub-27098
Nuancier
- Les produits configurables avec des échantillons affichent désormais le niveau de prix 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 d’extraction 29137. GitHub-28270
- L’application affiche désormais les prix des niveaux comme prévu pour les variations de produit configurables.
TargetRule
-
Les performances de la page de produits sous les conditions suivantes ont été améliorées :
- Le module de règles cible est installé
- La fonctionnalité liée aux produits (produits associés, de vente consécutive et de vente croisée) est implémentée.
Taxe
- L’application n’affiche plus d’attribut de taxe fixe sur les produits sur le storefront pour un produit après qu’un commerçant l’ait déaffecté du jeu 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 d'extraction 29244. GitHub-29329
- Ajout de tests unitaires pour approuver une commande qui a été effectuée avec une remise qui a expiré placera une commande au montant total et ne mettra pas à jour le total de la commande. Correctif soumis par Joan He dans la demande d'extraction 18. GitHub-204
SynchronizeFilesInterface
est désormais couverte par les tests d’intégration. Correctif envoyé par jmonteros422 dans la demande de tirage 29493. GitHub-1742
- Une fonction a été ajoutée qui
\Magento\TestFramework\TestCase\WebapiAbstract
permet de comparer 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 dans
app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php
. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 29271. GitHub-29283
- L’utilisation de
ObjectManager
pour 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 d'extraction 29272. GitHub-29346
- Une couverture de test a été ajoutée pour ces cas de mutation
updateCustomer
: date de naissance non valide, adresse email non valide et nom de famille du client vide. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 28304. GitHub-28394
- Le client GraphQL
ApiFunctional TestFramework
analyse 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 maintenant affectés comme prévu lors de l’exécution de
bin/magento catalog:images:resize
. Auparavant, seuls les thèmes affectés aux magasins étaient affectés lorsbin/magento catalog:images:resize
de l’exécution.
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 Admin ou enregistre lorsque les paramètres régionaux Admin sont chinois ou japonais. GitHub-24696
- L’application vérifie désormais la zone (frontale ou
adminhtml
) avant de générer le balisage de traduction intégré. Auparavant, l’appel d’API à/rest/V1/integration/admin/token
avec des informations d’identification erronées lorsque la traduction intégrée était activée incluait des balises de traduction intégrées autour du message d’erreur dans la réponse de l’API. Correctif soumis par Zach Nanninga dans la demande d'extraction 28856. GitHub-28656
- Les régions bulgares ont été ajoutées à la table
directory_country_region
. Correctif soumis par Nikola Lardev dans la demande d'extraction 27957. GitHub-28215
- Les titres et boutons de l’administrateur Customers > Add New Address et Edit Product > Advanced Inventory peuvent désormais être traduits. Correctif envoyé par Sathish Subramanian dans la demande de tirage 28174. GitHub-28201
- Le terme FPT peut maintenant être traduit sur les magasins d’administration > Configuration > taxe de > de vente > taxes fixes sur les produits . Correctif envoyé par Vadim Malesh dans la demande de tirage 28108. GitHub-5477
- L’étiquette du bouton Expédier ici sur le modèle d’adresse d’expédition du workflow de paiement a été modifiée pour correspondre à la casse Camel utilisée pour les autres boutons. Ce cas correspond désormais à celui utilisé dans les fichiers de traduction. Auparavant, en raison de l’incohérence au cas où ce libellé n’était pas traduit. Correctif soumis par WK dans la demande d’extraction 28547. GitHub-28685
Interface utilisateur
- Le lien de confidentialité et de stratégie de cookie dans le pied de page s’affiche désormais sous la forme d’un lien actif lors de l’affichage de la page Politique de confidentialité et de cookie. Correctif soumis par Sathish Subramanian dans la demande d'extraction 28004. GitHub-27985
- Correction d’un mauvais alignement du curseur dans la zone de texte des commentaires de facture de la facture associée à une commande que vous avez sélectionnée dans Admin Ventes > Commandes.
- La page Créer une nouvelle 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’un classement de produit est disponible pour le produit sélectionné.
- L’application affiche désormais correctement la page de modification du client administrateur sur une iPhone exécutant Safari.
- Correction du défilement inutile sur la page Créer une commande .
- Cliquez directement sur le bouton Exporter les taux de taxe de la page Ajouter une nouvelle règle fiscale (Magasins > Règles fiscales) pour télécharger désormais le fichier
tax_rates.csv
comme prévu. Auparavant, les marchands devaient cliquer sur le bord du bouton Exporter les taux d'imposition. Il s’agissait d’un problème connu dans la version 2.4.0.
- Le bouton Ajouter des sélections à mon panier situé au 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 de produits n’était pas actualisée et la page faisait défiler.
- L’application affiche désormais correctement l’icône de calendrier utilisée pour sélectionner la date de naissance d’un client dans l’onglet Conditions de Clients > Segments > Ajouter un segment.
- La section Résumé du passage en caisse du workflow de passage en caisse ne scintille plus lorsqu’un acheteur fait défiler cette page sur Internet Explorer 11.x.
- L’application affiche désormais correctement le widget Ordre par SKU sur la page Catégorie du storefront. Auparavant, le code d’HTML de ce widget n’était pas rendu et l’application n’affichait pas le lien Charger une liste de SKU .
- 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 affiché dans la vue mobile. Correctif envoyé par Tu Nguyen dans la demande de tirage 27572. GitHub-27058
- La modification de la position d’un produit à partir de l’administrateur se reflète désormais dans la position du produit sur le storefront. Correctif soumis par Oleg Aleksin dans la demande d'extraction 28150. GitHub-28149
- Le style du formulaire de connexion est maintenant cohérent avec le style des autres formulaires dans le thème vierge. Les styles superflus qui définissent la largeur des champs d’entrée de retour automatique à la ligne de contrôle de conteneur ont été supprimés. Correctif envoyé par Tu Nguyen dans la demande de tirage 28084. GitHub-28059
- Le bouton OK de la fenêtre contextuelle de confirmation de suppression de produit du mini panier se comporte maintenant comme prévu. Correctif soumis par Tu Nguyen dans la demande d'extraction 28083. GitHub-27095
- Les éléments de la galerie de produits ne clignotent plus pendant le chargement de la page. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27871. GitHub-28339
- La classe CSS qui contrôle la largeur du champ est désormais appliquée comme prévu à l’élément Heure de début dans l’ensemble de l’administrateur. Correctif soumis par Shankar Konar dans la demande d'extraction 29511. GitHub-29496
- Le libellé de texte Termes et conditions peut désormais afficher correctement des chaînes de texte plus longues. Correctif soumis par Bartłomiej Szubert dans la demande d'extraction 29413. GitHub-24060
- Le titre de la page d’échec de commande a été réécrit pour plus de précision. Auparavant, lorsqu’un client annulait une commande, l’application affichait une page avec ce titre :
We received your order!
. Correction envoyée par Angelo Romano dans la demande de tirage 29410. GitHub-29416
- Le nombre total d’articles annulés sur la page d’affichage de commande annulée est désormais correctement identifié sur la page d’affichage de commande annulée. Auparavant, ce champ était intitulé Total dû. Correctif soumis par Madhu Rajawat dans la demande d'extraction 27516. GitHub-26191
- Le bouton d’activation/désactivation de la page Créer un produit configurable fonctionne désormais comme prévu. Correctif soumis par Tu Nguyen dans la demande d'extraction 28032. GitHub-22702
- L’icône du bloc des propriétés d’attribut avancées de la page Propriétés avancées des attributs se comporte maintenant comme prévu. Correctif envoyé par Tu Nguyen dans la demande de tirage 28032. GitHub-26022
- La section Admin de la page de configuration du système s’étend désormais pour afficher les champs obligatoires comme prévu lorsque vous essayez d’enregistrer les paramètres de configuration d’un nouveau module. Correctif envoyé par Bartłomiej Szubert dans la demande de tirage 28285. GitHub-26427
- Comportement corrigé de la loupe lorsque le mode est défini sur
inside
. Correctif soumis par Sean van Zuidam dans la demande d'extraction 29077. GitHub-29076
- Correction de la largeur étonnamment longue du champ de saisie qui se produisait lorsqu’un acheteur saisissait une adresse électronique incorrecte dans le champ abonné du pied de page. Correctif soumis par Dipesh Rangani dans la demande d'extraction 27106. GitHub-27099
- Une
Uncaught ReferenceError
erreur n’apparaît plus dans la console de développement lorsque vous ajoutez une nouvelle balise et déplacez le curseur de la souris dessus. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29392. GitHub-1700
- Suppression d’un test inutilisé
AdminAnalytics
(TrackingScriptTest
). Correctif envoyé par Lukasz Bajsarowicz dans la demande d’extraction 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 envoyé par Pavel Bystritsky dans la demande de tirage 26175. GitHub-28319, GitHub-29313
URL rewrites
-
Le déplacement d’une vue de magasin vers un autre site web ne réinitialise plus les URL. Auparavant, l’application était incorrectement régénérée dans CMS et l’URL du produit était réécrite.
-
Vous pouvez désormais prévisualiser le planning d’évaluation pour un bloc CMS. Auparavant, l’application entraînait une erreur fatale.
- L’application conserve désormais les URL de catalogue existantes qui réécrivent 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.
Varnish
- Le redémarrage du vernis n’entraîne plus d’erreurs 503. Correctif soumis par Ihor Sviziev dans la demande d'extraction 28137. GitHub-24353
Vault
- L’application n’enregistre plus les numéros de carte de crédit lorsque la case Enregistrer pour une utilisation ultérieure n’est pas cochée dans la section paiement du flux de paiement.
Marchandisage visuel
- L’application affiche désormais le stock source au lieu du stock de produits par défaut lorsque vous triez les produits dans le marchandisage visuel et que l’option Inventaire est activée.
Structure de l’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 du POST
/V1/order/:id/invoice
pour facturer la commande n’affichait pas le code de carte-cadeau ou le montant de la carte-cadeau appliqué.
- Les vendeurs 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 image et image. Auparavant, lorsqu’un marchand utilisait l’API REST pour créer et mettre à jour des produits, et qu’un produit était mis à jour pour l’affichage en magasin, et que les rôles d’image par défaut étaient chargés et enregistrés pour cette vue de magasin. Par conséquent, les rôles d’image d’affichage de magasin ont cessé d’hériter de l’étendue par défaut après la mise à jour.
- Un compte d’utilisateur d’intégration non étendue peut désormais accéder à une ressource via l’API REST lorsque les autorisations de ressources autorisent l’accès.
- Search filtres de critères 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 demandes de POST
/rest/V1/customers
. Auparavant, l’application n’affichait pas de message d’erreur lorsque vous utilisiez ungroup_id
non valide dans ces requêtes. Correctif soumis par Vadim Malesh dans la demande d'extraction 28903. GitHub-28064
- Les sessions PHP ne sont pas créées par défaut pour les appels REST anonymes. Auparavant, les sessions étaient lancées même lorsqu’elles étaient inutiles. Correctif soumis par Maciej Pawłowski dans la demande d'extraction 26032. GitHub-7213
- L’utilisation de divers points de fin REST pour mettre à jour les commandes qui contiennent une option personnalisée ne supprime plus les informations sur les options personnalisées. Auparavant, les valeurs de
info_buyRequest
étaient supprimées. Correctif soumis par Vadim Malesh dans la demande d'extraction 28483. GitHub-22431
- L’utilisation de GET
V1/customers/me
honore désormais le paramètre Partager les comptes clients (Admin Magasins > Configuration > Clients > Configuration client > Options de partage de compte) lors de la récupération des informations sur les utilisateurs. Correctif soumis par Pavel Bystritsky dans la demande d’extraction 28213. GitHub-26089
- Les attributs d’extension liés aux adresses peuvent être définis sous forme de tableaux de données. Auparavant, l’application générait une erreur lors d’une demande de POST qui contenait
extension_attributes
a été envoyé àestimate-shipping-methods
.Ce bogue, qui a été introduit par un commit précédent, affectait tous les attributs d’extension définis surMagento\Quote\Api\Data\AddressInterface
qui n’étaient pas des objets. Correctif envoyé 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 de terminaison
V1/customers/:id
du PUT. Auparavant, le point de fin vous demandait de spécifier l’adresse électronique du client et d’autres champs requis pour créer un client. Correctif soumis par Vadim Malesh dans la demande d'extraction 28332. GitHub-21237
Restrictions de site web
- L’activation de la restriction de site web ne bloque plus les demandes de Varnish ESI 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 liste 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, après qu’un client utilisait la recherche dans la liste de souhaits pour rechercher un produit, en le sélectionnant et en cliquant 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 produits et n’affichait pas de message.
- Les clients peuvent désormais modifier la quantité d’un produit groupé 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 affiche maintenant le widget de recherche de liste de souhaits comme prévu.
- Les remplissages polyfills pour
Map
,WeakMap
,FormData
etMutationObserver
ne sont désormais chargés que si nécessaire. Correctif soumis par Dmitry Tsymbal dans la demande d’extraction 28330 et Mateusz Krzeszowiak dans la demande d’extraction 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 d’extraction 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 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 pour le partage de la liste de souhaits d’un client avec un nombre d’e-mails supérieur à celui autorisé. Correctif envoyé par Dmitry Tsymbal dans la demande de tirage 28641. GitHub-28720
- Ajout d’un test pour la suppression d’articles de la liste de souhaits d’un client en tant qu’utilisateur administrateur. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28632. GitHub-28721
- Ajout d’un test pour désactiver la fonctionnalité de liste de souhaits. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28635. GitHub-28744
- Ajout d’un test pour l’utilisation d’adresses électroniques non valides lors du partage des listes de souhaits de clients.
StorefrontShareWishlistEntityTest
a été refactorisé.StorefrontCustomerShareWishlistActionGroup
est désapprouvé. Correctif soumis par Dmitry Tsymbal dans la demande d’extraction 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 envoyé par Dmitry Tsymbal dans la demande d’extraction 28812. GitHub-28969
Problèmes connus
Problème : La nouvelle fonctionnalité CAPTCHA pour le paiement ne fonctionne pas comme prévu sur la page Passer une commande lors de l’utilisation de fournisseurs de paiement tiers. Les commerçants utilisant la version 2.3.6 ou 2.4.1 qui ont activé la protection CAPTCHA sur la page de stockage Passer une commande verront cette erreur lors de l’extraction à l’aide d’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 Adobe Commerce v2.3.6/2.4.1 CAPTCHA dans l’article Échec du passage en caisse de la base de connaissances. Un correctif sera également inclus dans notre prochain correctif trimestriel (Q12021).
Problème : les utilisateurs sans privilèges d’administrateur ne peuvent pas actuellement configurer leur accès personnel 2FA. 2FA comprend deux rôles ACL. Un rôle affecte la configuration globale du système et il n’est nécessaire que lors de la configuration du système. Le deuxième rôle de liste de contrôle d’accès affecte des comptes utilisateur individuels 2FA. Un utilisateur administrateur doit configurer ce deuxième type de liste de contrôle d’accès 2FA. Solution : une fois que l’utilisateur s’est connecté et a vu l’écran Accès refusé, il peut accéder à 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é. Toutefois, cette solution n’est efficace que si 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 entré des données non valides. Cela empêche les acheteurs de réessayer de créer un compte après avoir commis une erreur. Solution : appliquez le correctif MC-38509
. Un correctif sera également inclus dans nos prochaines versions trimestrielles (2.4.2, 2.4.1-p1 et 2.3.6-p1), qui doivent être publiées au 1er trimestre 2021. Reportez-vous à l'article 2.4.1 et 2.3.6 Création d'un bouton de compte désactivé correctif de la base de connaissances. GitHub-30513
Problème : les vendeurs ne peuvent pas se connecter au dotdigital à partir de l’administrateur dans Safari lorsque le dotdigital est activé. Voir l’article de la base de connaissances Il est impossible de se connecter à dotdigital via le panneau d’administration lorsque le compte dotdigital est activé .
Problème : la validation des adresses de sommet ne fonctionne pas pendant le paiement lorsque l’acheteur sélectionne une adresse de livraison différente de l’adresse de facturation. Le problème sera corrigé dans la version 2.4.2. Voir le problème connu 2.4.1 : le message Validation de l’adresse du sommet ne disparaît pas après la mise à jour de l’article address de la base de connaissances.
Problème : l’application affiche une page vide lorsqu’un commerçant enregistre un formulaire de générateur de pages dotdigital sur le navigateur Safari. Solution de contournement : rechargez la page pour appliquer vos modifications. Consultez l’article 2.4.1 Problème connu : page vide après l’enregistrement du formulaire de générateur de page numérique de la base de connaissances.
Problème : dans certaines conditions, l’application se connecte automatiquement aux clients qui utilisaient auparavant des comptes Amazon plutôt que de les inviter à se connecter lors de l’extraction avec Amazon Pay. Consultez l’article 2.4.1 Problème connu : impossible de modifier le compte Amazon dans Google Chrome de la base de connaissances.
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 par le Braintree PayPal et l’envoi de plusieurs adresses sont sélectionnés. Consultez l’article 2.4.1 Problème connu : erreur apparaissant lors du passage en caisse avec le Braintree PayPal 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 de l’invité est désactivé. Consultez l’article 2.4.1 Problème connu : 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 à l’ensemble de la communauté des Magento Open Sources et tenons à saluer leurs contributions à cette version. Découvrez les façons suivantes d’en savoir plus sur les contributions de la communauté à nos versions actuelles :
-
Si un membre de la communauté a fourni un correctif pour cette version, nous identifions le correctif dans la section Problème résolu de ces notes avec l’expression "Correctif fourni par le membre de la communauté".
-
L’équipe d’ingénierie de communauté contributeurs Magento conserve une liste des principaux contributeurs et partenaires par mois, trimestre et année. Sur cette page Contributeurs, vous pouvez suivre les liens vers leurs relations publiques fusionnées sur GitHub.
Contributions des partenaires
Le tableau suivant met en évidence les contributions des partenaires. Ce tableau répertorie le partenaire qui a contribué à la demande d’extraction, la demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).
Contributions des contributeurs individuels
Le tableau suivant répertorie les contributions des membres de notre communauté. Ce tableau répertorie les demandes d’extraction externes, le numéro de problème GitHub qui y est associé (le cas échéant) et le membre de la communauté qui a contribué à la demande d’extraction.
Configuration requise
Notre pile de technologie est basée sur PHP et MySQL. Pour plus d’informations, voir Configuration requise.
Instructions d’installation et de mise à niveau
Vous pouvez installer Adobe Commerce 2.4.1 à l’aide du compositeur.
Kits d’outils de migration
L’outil de migration des données permet de transférer les données de magasin Magento 1.x existantes vers Magento 2.x. Cette interface de ligne de commande comprend des fonctions de vérification, de suivi de progression, de journalisation et de test. Pour obtenir des instructions sur l’installation, voir Installation de l’outil de migration de données. Envisagez d’explorer le référentiel de migration de données ou d’y contribuer.
Code Migration Toolkit permet de transférer les extensions et personnalisations de magasin Magento 1.x existantes vers Magento 2.x. L’interface de ligne de commande inclut des scripts pour convertir Magento modules et mises en page 1.x.