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 la variable SameSite
pour les cookies et l’ajout de la protection CAPTCHA pour les points de terminaison de l’API liés aux paiements et aux commandes, ainsi que de la page de magasin Place Order. 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.
Appliquer AC-3022.patch
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 s’appliquer AC-3022.patch
dès leur première convenance de continuer à proposer DHL comme transporteur. Voir Appliquez un correctif pour continuer à proposer DHL comme opérateur de transport Article de la base de connaissances pour plus d’informations sur le téléchargement et l’installation du correctif.
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 (module du compositeur 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 qui ont été appliqués à la version 2.4.0 sont inclus dans ce correctif de sécurité. (A 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é, voir Présentation de la nouvelle version du correctif de sécurité. Pour plus d’informations sur le téléchargement et l’application de correctifs de sécurité (y compris le correctif 2.3.5-p2), voir Démarrage rapide de l’installation sur site. Les correctifs de sécurité incluent uniquement des correctifs de sécurité, et non les améliorations de sécurité supplémentaires incluses dans le correctif complet.
Autres informations de mise à jour
Bien que le code de ces fonctionnalités soit fourni avec des versions trimestrielles , plusieurs de ces projets (par exemple, B2B, Page Builder et Progressive Web Application (PWA) Studio) sont également publiés indépendamment. Les correctifs de bogues pour ces projets sont documentés dans les informations de mise à jour distinctes et spécifiques au projet disponibles dans la documentation de chaque projet.
Tons clairs
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 permettent de fermer des vulnérabilités d’exécution de code distant (RCE) et de script de site à site (XSS)
Aucune attaque confirmée liée à ces problèmes n'a été survenue à ce jour. Cependant, certaines vulnérabilités peuvent être exploitées pour accéder aux informations sur les clients ou prendre le contrôle des sessions d’administrateur. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. Par conséquent, nous vous rappelons de prendre toutes les mesures nécessaires pour protéger votre administrateur, y compris, mais sans s’y limiter, les efforts suivants : placé sur la liste autorisée IP, authentification à deux facteurs, l’utilisation d’un VPN, l’utilisation d’un emplacement unique plutôt que /admin
, et bonne hygiène des mots de passe. Voir Mises à jour de sécurité disponibles pour Magento pour une discussion sur ces problèmes résolus.
Améliorations supplémentaires de la sécurité
Les améliorations de sécurité pour cette version sont les suivantes :
-
CAPTCHA une protection a été ajoutée aux domaines de produit suivants :
- Placer la page de storefront des commandes et les points de terminaison REST et GraphQL
- Points de terminaison 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 la variable
SameSite
attribut de cookie. Cet attribut est défini surLax
par défaut, mais peut être remplacée explicitement. -
Outil d’analyse de sécurité amélioré. Adobe s’est associé à Sanguine Security, leader dans la prévention de la fraude numérique, pour intégrer leur base de données de plus de 8700 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, voir Sécurisation de votre storefront à l’aide de l’outil d’analyse de sécurité amélioré billet de blog.
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. La variable outil fournit des informations et de l’instrumentation du système pour 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 le nouvel administrateur. ressource de rôle pour accéder en toute sécurité à leurs pages Détails du client via l’administrateur. Voir FAQ pour une vue d’ensemble.
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 désormais générée lors de l’exécution de la fonction
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 en 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 des consommateurs de la file de messages. 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 de messages pour une description de la fonction
maxIdleTime
,sleep
, etonlySpawnWhenMessageAvailable
paramètres. -
Amélioration du temps d’exécution pour
bin/magento
des 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
-
Optimiser l’enregistrement multimédia en identifiant les images et les images en double qui ne sont pas utilisées sur le storefront
-
Filtrage des images par zone de storefront dans laquelle elles sont utilisées, y compris le contenu des produits et des catégories et les blocs CMS
-
Utilisation des métadonnées d’image
- Affichage des métadonnées à partir des images téléchargées dans la galerie de médias
- Modification des métadonnées d’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.
GraphQL
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 produit et Requête productReviewRtingsMetadata pour plus d’informations sur la récupération d’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 à 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. -
Historique des commandes. Tous les clients peuvent afficher des détails sur leur historique de commandes, notamment les factures, les frais d’expédition et les remboursements.
-
Ajouter au panier. La variable
addProductsToCart
mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous 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 -
Méthodes de paiement stockées. Les clients connectés peuvent désormais stocker les informations de paiement (y compris la carte de crédit du Braintree et le Braintree avec PayPal) dans Mon compte.
-
Prise en charge des listes de souhaits dans Magento Open Source. Vous pouvez ajouter des éléments à : mettre à jour des éléments dans et suppression d’éléments d'une liste de souhaits.
-
Amélioration de la gestion des comptes clients. Nous avons ajouté la variable
createCustomerV2
etupdateCustomerV2
mutations pour gérer les comptes clients ; Ces nouvelles mutations nécessitent des objets d’entrée différents de ceux du scénariocreateCustomer
etupdateCustomer
mutations. Pour modifier l’adresse électronique d’un client, utilisez la nouvelleupdateCustomerEmail
mutation. -
Prise en charge de Payflow Pro Vault. Ajout de la prise en charge de GraphQL Vault pour la variable Payflow Pro Vault mode de paiement. Correctif soumis par Oleh Usik dans la demande d’extraction 28821. GitHub-28520
-
Mise à jour de GraphQL
storeConfig
query pour 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 de mot de passe pour l’adresse électronique 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 Mode de paiement de la larna et
createKlarnaPaymentsSession
Voir Guide du développeur de GraphQL pour plus d’informations sur ces améliorations.
PWA Studio
PWA Studio v8.0.0 introduit de nouvelles fonctionnalités et améliorations :
-
Mises à jour du guide de style Venia qui s’appliquent aux jetons de conception, à la typographie, aux couleurs, aux composants principaux et aux mises en page
-
Améliorations de l’expérience de mini-panier Venia
-
Prise en charge initiale de plusieurs paramètres régionaux et 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 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 validations de commande
Les validations de commandes B2B ont été améliorées afin d’améliorer la convivialité et de permettre des actions en bloc sur les commandes.
Les améliorations apportées à la validation 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 dans l’onglet Exiger mon approbation. L’onglet Demande mon approbation dans la vue Mes commandes affiche désormais un compteur qui indique le nombre d’actions d’approbation en attente.
-
Approbation et rejet de commandes groupées. Les gestionnaires B2B et les administrateurs d’entreprise peuvent désormais effectuer le rejet et l’approbation en bloc des commandes d’achat. Ces modifications permettent aux approbateurs d’approuver ou de rejeter plusieurs commandes d’achat en une seule action.
-
Les vendeurs peuvent désormais rechercher la variable S’applique à et Nécessite l’approbation de des champs de la vue Mes commandes 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 de validation
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 commerçants B2B peuvent créer des commandes de l’administrateur pour le compte des clients en utilisant le mode de paiement Paiement sur compte .
- 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 d’administration effectuées dans les modules d’entreprise 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.
Structure de test fonctionnel (MFTF)
MFTF 3.1.0 est désormais disponible. Voir Modification de la structure de test fonctionnelle.
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 de base 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é sur
Magento\Framework\Encryption\Encryptor
.
- L’application affiche désormais un message d’erreur informatif lorsque certains thèmes ne sont pas déployés après l’exécution de
bin/magento setup:static-content:deploy
. Auparavant, 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 variable Utiliser la valeur par défaut case à cocher pour les paiements klarna (Magasins > Configuration > Ventes > Modes de paiement > Klarna) restent cochés comme prévu lorsque la portée du site web change.
- En cours
/bin/magento config:show vendor_module/general/value
now renvoie0
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 une 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 est remplacé par
MEMORY
toInnoDB
. À 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://devdocs.magento.com/guides/v2.3/install-gde/install/sample-data-after-clone.html for more information
. Correctif soumis par Andrii Beziazychnyi dans une demande de tirage 27481. GitHub-19481
- Les performances de Storefront ont été améliorées en éliminant le chargement inutile de la variable
Datepicker
composant. Correctif soumis par Mateusz Krzeszowiak dans une demande d’extraction 27860. GitHub-28823
- Exécution
bin/magento setup:upgrade
se termine maintenant comme prévu. Auparavant, l’application affichait le contenu imprimé du tableau pour les caches. Correctif soumis par Sathish Subramanian dans une 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 2922. 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 Durée de vie du jeton client (heures) (Admin) Magasins > Configurations > Services > OAuth > Expiration du jeton d’accès). GitHub-29502
- La variable 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 une demande d’extraction 28752. GitHub-24922
AdminGWS
- L’application n’affiche plus le Ajouter un attribut bouton (Magasins > Attributs ou Ajouter un jeu d’attributs bouton (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 une Jeu d’attributs ou Client attribut.
- 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 des images Adobe Stock sont désormais correctement alignées une fois les filtres effacés. Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 28 366. GitHub-824, GitHub-972
- La variable Utilisé 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 le cadre d'une demande d'extraction 28798. GitHub-1474
\Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute
supprime maintenant 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
- La variable
Login failed
message indiquant que l’application s’affiche lorsqu’un commerçant clique Licence pour une image Adobe Stock précédemment enregistrée, sans licence ne contient plus de balises HTML. Correctif soumis par les yolouiens dans la demande d’extraction 29398. GitHub-1684
- Cliquez sur les liens de la Utilisé dans de la page Détails de l’image affiche désormais une grille qui affiche toutes les entités filtrées par l’image. Le filtre de ressources est également défini et affiché correctement. Auparavant, l’application n’affichait pas le titre de la ressource dans le Filtres appliqués . Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 29367. GitHub-1694
- L’application n’affiche plus le Utilisé dans de la page Détails de l’image lorsque l’image n’est pas en cours d’utilisation. Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 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 le cadre d'une demande d'extraction 29367. GitHub-1702
- Les ressources peuvent désormais être vérifiées comme prévu à l’aide du filtre de ressources sur l’image Détails Utilisé dans . Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 29367. GitHub-1704
- Informations sur les images utilisées par différentes entités (par exemple,
page
etcategory
) est désormais répertorié comme corrigé dans la page Détails de l’image. Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 29367. GitHub-1747
- Vous pouvez désormais utiliser la nouvelle
UrlFilterApplier
pour appliquer des filtres sur le produit,cms_page
, etcms_block
grilles à l’aide du paramètre d’URL de GET. Correctif soumis par Gabriel da Gama dans une demande de tirage 28932. GitHub-1501
- Cliquez sur les liens de la Utilisé dans pour une image dans la galerie de médias, 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 le cadre d'une 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 le cadre d'une 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’avait pas été actualisée. Correctif soumis par Honeymay Louiese Ignacio dans la demande d’extraction 29400. GitHub-1703
Amazon Pay
-
Amazon Pay vérifie désormais si un utilisateur est déjà connecté avant d’effectuer le rendu des options de paiement.
-
Les problèmes liés à l’authentification multifacteur et aux paniers abandonnés ont été résolus.
-
Amazon Pay renseigne désormais correctement la variable
store name
dans les emails et autres emplacements affichés. Si la variable Nom de la boutique dans la configuration de paiement Amazon est vide, l’extension récupère le nom par défaut du magasin (c’est-à-dire le nom que vous donnez à votre boutique dans l’administrateur). -
Les problèmes de localisation/traduction des scénarios de refus ont été résolus. Le texte affiché n’est plus toujours en anglais.
Analytics
- Les administrateurs disposant des autorisations appropriées peuvent désormais accéder aux rapports 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
quotes.csv
dans le fichier Inventaire ; par conséquent, l’option Inventaire n’a pas généré les rapports attendus.
Braintree
-
Braintree envoie désormais à PayPal le montant correct lorsqu’un code de promotion est appliqué sur la page de passage en caisse.
-
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 ne échoue plus lorsque l’acheteur saisit des caractères spéciaux dans la variable Nom des champs 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.
Lot de produits
- L’application ne renvoie plus d’exception lorsque vous essayez de créer un produit dans un déploiement dans lequel Inventory est installé, mais que la variable
Magento_InventoryBundleProduct
est désactivé.
- L’application calcule désormais correctement les remboursements hors ligne pour les commandes contenant des produits en regroupement.
- Le mini-panier affiche désormais les prix corrects pour les produits groupés lorsque des prix de niveau sont également attribués pour les produits simples. GitHub-22807
- Les 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 une demande d'extraction 2745. 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 une demande d'extraction 2745. GitHub-23440
- GraphQL prend désormais en charge le placement d’une commande pour un produit en regroupement avec un type d’option.
radio
etdropdown
avec plusieurs choix. Auparavant, l’application affichait un message sur 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 des cookies 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 de la page
config
a été réduit. Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 28992. GitHub-29159
- Le vernis ne renvoie plus une
Connection reset by peer
lorsqu’un catalogue volumineux est réindexé selon le calendrier. Correctif soumis par Matthew O'Loughlin dans une demande de tirage 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 proposé 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 étendue, l’application n’affichait pas les produits, même si la section indiquait que la liste contenait des produits.
- La variable Supprimer sur le bouton Ajouter au panier par SKU section d’un client Gérer le panier 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 saisis 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 a généré une erreur.
- L’adresse de livraison d’un client est désormais sélectionnée par défaut lors de l’extraction, lorsque l’adresse se trouve dans le pays identifié dans la liste Autoriser les pays 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 vendeurs peuvent désormais activer Appliquer au montant d’expédition dans l’onglet Action de Marketing > Règles de prix du panier > Ajouter une nouvelle règle when Remise de 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 la variable 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 désormais inclus comme prévu dans le formulaire qui s’affiche pour l’étape de paiement dans le processus de passage en caisse.
- La variable Etat/province/région la zone de saisie est désormais activée comme prévu sur Mon compte > Carnet d’adresses > Ajouter une nouvelle adresse.
- Les remises sont désormais appliquées comme prévu aux frais d’expédition lorsque Appliquer au montant d’expédition est activée. Correctif soumis par Andrii Kalinich dans une demande d’extraction 28839. GitHub-26723
- Le code qui prend en charge la fermeture du mini-panier a été restructuré pour supprimer la variable
closeSidebar
de la fonction La liaison de clics appropriée a été ajoutée au[data-action="close"]
élément . Correctif soumis par lumnin dans la demande d’extraction 28906. GitHub-29161
- La nouvelle Afficher le bouton "Effacer le panier" sur la page du panier le paramètre de configuration permet de contrôler l’affichage d’une Effacer le panier sur la page d’affichage du panier. Par défaut, ce paramètre est désactivé. Correctif soumis par Pavlo Sydorenko dans une demande d'extraction 27917. GitHub-28705
- La validation a été ajoutée au champ téléphone dans le workflow de passage en caisse. Correctif soumis par Oleh Usik dans la demande d’extraction 27537. GitHub-28800
- Le passage en caisse des invités est désormais désactivé comme prévu lorsqu’un panier contient des produits téléchargeables lorsque la variable Partager et Désactiver le passage en caisse des invités si le panier contient des éléments téléchargeables sont désactivés. Correctif soumis par Rani Priya dans une demande d’extraction 23972. GitHub-23971
- Le message de réussite affiché par l’application 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 soumis par Ajith dans la demande d’extraction 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 une 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 le cadre d'une 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 proposé 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 passage en caisse. 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
children_count
les valeurs restent désormais positives lorsqu’un administrateur supprime des catégories. Auparavant, lorsqu’un administrateur supprimait des catégories, la variablechildren_count
pour les catégories restantes était négative. Correctif soumis par Vitali Prokopov dans une 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é pour l’événement
page_layout
lors de la création d’un 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 en masse sur le stock de produits d’inventaire, l’application affichait une page vierge. 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
- Nombre total d’enregistrements affichés lorsque vous cliquez sur Ajouter des produits sur 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 variable
{products(filter: {sku: {eq: "some sku"}}) {…}
La requête renvoie désormais les valeurs qui ont été converties dans la devise attendue. Auparavant,price_tiers.final_price.value
ont affiché des prix spéciaux dans la devise de base. Correctif soumis par Petkovski Marjan dans une demande de tirage 28890. GitHub-26121
Règle de catalogue
- L’application ne renvoie plus d’erreur fatale lorsque vous enregistrez une règle de catalogue avec les conditions suivantes :
If ALL of these conditions are FALSE:, If ALL of these conditions are TRUE:, Attribute set is default
Nettoyage
- Correction d’un désalignement de la case à cocher de la grille Commande de vente d’administrateur . Correctif soumis par Tu Nguyen dans une 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 proposé par Konstantin dans la demande d’extraction 28810. GitHub-28982
- Correction de la variable
getRegionNameExpresion
nom de la méthodegetRegionNameExpression
. Correctif proposé par Pierre Grimaud dans la demande d’extraction 28832. GitHub-28829
- Une
init
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 soumis par Oleh Usik dans la demande d’extraction 28650. GitHub-29009
localStorage
Le polyfill a été déplacé debase
tofrontend
. Correctif soumis par Ihor Sviziev dans la demande d’extraction 28749. GitHub-28900
- Mise à jour du logo Adobe Commerce et suppression des espaces superflus dans le fichier LISEZMOI. Correctif soumis par Rafael Corr̻ êa Gomes dans une demande de tirage 28891. GitHub-29056
- Inutile
overflowed
a été supprimée du widget de la barre latérale du mini-panier. Correctif soumis par lumnin 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 une demande d'extraction 28639. GitHub-29261
- La variable
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 au sein d’une fonction. Correctif soumis par Chris Snedaker dans une demande d’extraction 28608. GitHub-29381
- La variable
bin/magento module:status
accepte désormais plusieurs noms de module en tant qu’arguments. Correctif soumis par Chandru Rajendran dans une 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 une demande d’extraction 29451. GitHub-29470
- La variable
TierPriceManagement
a été restructurée afin de supprimer le code redondant. Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 29202. GitHub-29477
autoload.php
a été restructuré afin d’améliorer la lisibilité et la vitesse de retour. Correctif soumis par Vitaliy Ryaboy dans une demande d'extraction 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 une 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ésumé 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 génère plus d’erreur de validation lorsque vous utilisez POST.
/V1/products
à un produit configurable avec uneint
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 une demande d’extraction 29001. GitHub-13210
- L’attribut des options de configuration d’un produit parent n’est plus affecté à un nouveau produit configurable.
size
attribut. Correctif soumis par Abel Truong dans la demande d’extraction 27339. GitHub-26449
Cookies
- L’application crée désormais un maximum de 1
mage-translation-file-version
etmage-translation-storage
par session. Correctif soumis par Ihor Sviziev dans la demande d’extraction 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 de messages pour une description de la fonction
maxIdleTime
,sleep
, etonlySpawnWhenMessageAvailable
paramètres.
cron
des expressions telles que3/10 * * * *
sont désormais planifiées 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 lors de la CSS critique est activée. Correctif soumis par Tu Nguyen dans une demande d'extraction 28480. GitHub-26498
- Le compilateur LESS côté serveur importe désormais tous les fichiers CSS distants comme prévu lors de l’exécution.
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 du client personnalisés
- Correction des problèmes d’alignement du texte d’explication sur les mots de passe et la variable Job Title sur la page Informations du compte de modification du client.
- CAPTCHA fonctionne désormais comme prévu lorsqu’un nouveau client clique sur le bouton Création d’un compte sur la page d’enregistrement des clients storefront. Auparavant, l’application ne créait pas le compte client et affichait une erreur lorsque le client cliquait sur le bouton.
- Le workflow de passage en caisse n’affiche plus les valeurs d’attribut d’adresse client personnalisées lorsque le client n’a entré aucune donnée.
Client
- Les noms de région dans les adresses client d’administration sont désormais traduits comme prévu.
- La variable Etat/Province les champs sont maintenant renseignés comme prévu sur la page Modifier l’adresse (Mon compte > Carnet d'adresses).
- L’application ne renvoie plus d’erreur lorsqu’un client clique sur la variable Envoyer bouton plusieurs fois sur les formulaires du storefront pour lesquels l’invisible reCAPTCHA a été activé. Auparavant, 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 zone de message vide.
- Les libellés des champs d’adresse du workflow de passage en caisse et du carnet d’adresses ont été modifiés de manière cohérente.
- 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 une demande de tirage 27064. GitHub-27063
- La variable
sortOrder
Le nombre 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 une demande d'extraction 27340. GitHub-27162
Segment de client
- Les opérations en bloc ont été restructurées afin d’enregistrer et d’actualiser les segments de clients de manière asynchrone, ce qui a amélioré les performances de ces tâches pour les déploiements qui incluent de nombreux clients (plus de 3 000 000).
- Les conditions de segment 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 client en ajoutant une condition :
SQLSTATE[42S02]: Base table or view not found
.
Répertoire
- Le format du menu déroulant Etat/Province est désormais cohérent dans l’ensemble de l’administration.
dotdigital
-
La synchronisation des commandes ne é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 d’aperçu web.
-
Le suivi des comportements web fonctionne désormais pour les marchands avec certaines configurations de thème. Un nouveau sélecteur de secours répond à cette question.
-
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.
-
Les coupons sont désormais générés (à l’aide de l’URL de contenu dynamique externe pour la génération des coupons) pour les adresses email contenant des signes plus ('+').
-
Les contacts ne sont plus réabonnés lorsque leurs
last_subscribed_at
est nulle. -
Les erreurs de mise à niveau (datant de la version 4.5.2) qui affectaient les versions antérieures ont été résolues.
-
Correction d’un problème de régression introduit dans la version 4.5.3, qui affectait l’utilisation d’une méthode pour obtenir le statut d’abonné lors de la préparation de l’exportation d’abonnés.
-
Le chiffre total des abonnés synchronisés (présenté dans les journaux et à l’écran) est désormais correctement calculé.
Téléchargeable
- La zone Mes produits téléchargeables affiche désormais des liens vers les produits téléchargeables achetés qui font partie d’un produit groupé comme prévu.
- Cliquer sur un produit téléchargeable Exemple à partir de la page du produit Admin, télécharge désormais un exemple comme prévu. Auparavant, lorsque vous cliquiez Exemple, l'application affichait cette erreur :
The product that was requested doesn't exist. Verify the product and try again
.
- Les acheteurs peuvent désormais télécharger des 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 une 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
- Un produit
stock_item
les données sont mises à jour et les liens et exemples de produits téléchargeables sont conservés comme prévu lorsque vous utilisez un appel de PUT REST pour mettre à jour les données.stock_item
valeurs. Auparavant, après la mise à jour du produit, le produit ne contenait plus de liens pour télécharger le contenu. Correctif soumis par Vadim Malesh dans une 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 était différent de
processing
dans un autre état, l’e-mail 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 d’email qui envoie un email avec
Content-Type: "text/plain"
. Auparavant, l’application ignorait le type de contenu spécifié dans le modèle. Correctif envoyé par twoonesixdigital dans la demande d’extraction 26474. GitHub-26471
- Une page CSS superflue a été supprimée du modèle Email Preview. Correctif soumis par Tu Nguyen dans une 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 proposé 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 proposé par Maciej Pawłowski dans la demande d'extraction 26534. GitHub-28968
- Un doublon
customer.name
a été supprimée du modèle de courrier électronique. Correctif proposé 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
- La variable Heure d’envoi des données de la journée champ Administrateur Magasins > Configuration > GÉNÉRAL > Création de rapports avancés La page est désormais correctement rendue.
- 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.
X-Magento-Tags
Les en-têtes ne dépassent plus la taille autorisée par la spécification HTTP. Auparavant, les pages de catégorie contenant de nombreux produits renvoyaient uneX-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 expédition.
- L’application affiche désormais un message d’erreur informatif lorsqu’une
di compile
échoue en raison d’une dépendance inexistante. Auparavant, le message affiché n’identifiait pas la classe dans laquelle l’exception s’était produite.
- L’application ne renvoie plus l’erreur fatale suivante lorsque Redis utilise toute la mémoire autorisée :
report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'
.
- Les acheteurs peuvent désormais ajouter plusieurs produits à leur panier lorsque la variable
Persistent
est désactivé. GitHub-14486
Correctifs généraux
- 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 d’enregistrements. Pour trier les enregistrements, vous deviez accéder à la première page des résultats de la recherche.
- Guillemets et échappement inutiles autour d’une URL dans
tracking.phtml
ont été supprimés.
- La variable
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 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.
- La minification JavaScript fonctionne désormais correctement. Le résolveur de fichiers de minimisation ne laisse plus les variables à la portée globale. Auparavant,
ctx
,origNameToUrl
, etbaseUrl
des variables sous la fenêtre ont été divulguées. Correctif soumis par Mateusz Krzeszowiak dans une demande d’extraction 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 une 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 une 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 variable Mon compte > Mes commandes list :
You have placed no orders
. Correctif soumis par Vadim Malesh dans une demande d’extraction 28417. GitHub-28488
- La version obsolète
addWarning
a été remplacée par la méthodeaddWarningMessage
dans le module de sécurité. Correctif soumis par kishorekumarkesavan dans une demande d’extraction 28264. GitHub-28308
- Code généré à l’aide de la variable
bin/magento
Les commandes de ligne de commande sont désormais conformes aux exigences et aux normes de codage. Correctif proposé 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.
- Enregistrement d’un attribut avec
backend_type = static
ne supprime plus le contenu de lafrontend_class
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 les thèmes. Correctif soumis par Mateusz Krzeszowiak dans une demande d’extraction 27617. GitHub-28811
- La validation a été ajoutée à la fonction Nombre de symboles sur la page de configuration Admin CAPTCHA . Correctif soumis par Eden Duong dans la demande d’extraction 2919. 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 une demande d’extraction 29455. GitHub-25211
- Une session persistante expirée est maintenant renouvelée comme prévu lorsque l’acheteur se reconnecte.
- Durée de vie du mot de passe définie dans Magasins > Configuration > Avancé > Administration est désormais honorée. Auparavant, si vous cliquiez Mot de passe oublié ? lorsque vous êtes invité à réinitialiser votre mot de passe, vous pouvez contourner la réinitialisation du mot de passe.
- Les codes coupon sont désormais appliqués uniquement au produit spécifié. Auparavant, l’application appliquait le code de bon à tous les produits du panier. GitHub-28246
- Les paramètres d’expiration du panier ne sont plus rédéfinis lorsqu’une mise à jour de stock ou de prix se produit. Auparavant, lorsqu’un panier était défini pour expirer dans 24 heures et qu’une mise à jour de stock ou de prix s’était produite, les indexeurs renseignaient la variable
updated_at table
, qui redéfinissent le délai d’expiration.
- L’application ne génère plus d’erreur fatale lorsqu’un administrateur affecte un client disposant d’un panier actif à un groupe de clients.
- Sélection d’une option de barre d’outils dans Outils de développement > Réseau sur une page de produit lors de l’exécution du navigateur Chrome ne s’initialise plus
toolbar.js
deux fois. Correctif proposé 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 demande d’extraction 27429. GitHub-28306
Cartes cadeau
- Les comptes de carte cadeau capturent désormais les numéros de commande comme prévu. Auparavant, la variable Informations supplémentaires dans l’onglet Historique du compte-cadeau sélectionné, les identifiants de commande n’étaient pas affichés.
- L’utilisation d’une virgule comme séparateur décimal fonctionne désormais comme prévu. Auparavant, le séparateur de virgules ignorait les valeurs décimales.
- Les cartes cadeau s’affichent désormais comme prévu dans le mini panier. Auparavant, les objets de HTML rendus par l’application étaient du texte.
- Les notes de crédit reflètent désormais correctement le total général des commandes qui impliquent des produits à prix réduit et qui ont été payées par une combinaison de carte-cadeau et de crédit de magasin.
Gestionnaire de balises de Google
- L’application ne renvoie plus d’erreur JavaScript lors de l’extraction lorsque la variable Mode de restriction des cookies et Gestionnaire de balises de Google sont activés.
GraphQL
- Les acheteurs peuvent sélectionner un message cadeau et des options d’emballage lors du passage en caisse. GraphQL couvre désormais les options de message cadeau pour différents types d’articles de panier. Voir
setGiftOptionsOnCart
mutation etupdateCartItems
mutation. Correctif soumis par Oleh Usik dans les demandes d’extraction 28519, 27956, 28072, 28072et 246 dans repo partner-magento2ee privé. 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. Voir Création d’une révision de produit et Requête productReviewRtingsMetadata pour plus d’informations sur la récupération d’informations sur l’infrastructure de révisions. 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 de tirage 285 dans les partenaires de repo privés magento2ee et Dmitriy Gallyamov dans les demandes de tirage 284 et 281 dans les partenaires de repo privés magento2ee. GitHub-28835, GitHub-28833
- La variable
addProductsToCart
mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous 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 repo Partners-magento2ee privé. GitHub-28566
- La nouvelle
availableStores
query 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 une 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 une demande d’extraction 27373. GitHub-28040
- Nous avons ajouté la variable
createCustomerV2
etupdateCustomerV2
mutations pour gérer les comptes clients ; Ces nouvelles mutations nécessitent des objets d’entrée différents de ceux du scénariocreateCustomer
etupdateCustomer
mutations. Pour modifier l’adresse électronique 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 valeur non valideINT
dans la variablegender
argument . Correctif soumis par Alexander Taranovsky dans une demande d’extraction 28487. GitHub-28481
- Vous pouvez utiliser la variable
subscribeEmailToNewsletter
mutation pour abonner les clients à une newsletter. VoirsubscribeEmailToNewsletter
mutation. Correctif soumis par Alexander Taranovsky dans une demande d’extraction 27586. GitHub-27337
- Suppression de la logique redondante dans la fonction
setShippingMethodsOnCart
résolveur de mutation. Correctif soumis par Alexander Taranovsky dans une demande d’extraction 27349. GitHub-28262
- Ajout d’une couverture de test pour le
Please provide Email of sender
erreur associée à la variablesendEmailToFriend
mutation. Correctif soumis par Alexander Taranovsky dans une demande d’extraction 28034. GitHub-28138
- La variable
products
la requête renvoie désormais les libellés d’option d’attribut de produit pour la vue de magasin par défaut, comme prévu. Auparavant, cette requête renvoyait les étiquettes d’option d’attribut de produit qui étaient définies pour l’administrateur. Correctif soumis par Dmitriy Gallyamov dans une demande d’extraction 28647. GitHub-28568
- Les agrégations d’attributs personnalisés renvoient désormais des valeurs d’option spécifiques au magasin. Correctif soumis par Dmitriy Gallyamov dans une 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 une demande d’extraction 28745. GitHub-28628
- La variable
categoryList
La requête 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 la variable Activer paramètre (Magasins > Configuration > Catalogue > Catalogue > Autorisations de catégorie). Correctif soumis par Petkovski Marjan dans une demande de tirage 28757 et extraire la requête 271 dans un référentiel privé
partners-magento2ee
. GitHub-28563
-
Vous pouvez désormais ajouter un produit à un panier à l’aide de la fonction
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 -
GraphQL par défaut
Category
trie désormais par position de catégorie, comme prévu. Correctif soumis par Derrik Nyomo dans une demande d’extraction 29301. GitHub-104 -
Ajout de la prise en charge des listes de souhaits en Magento Open Source. Vous pouvez ajouter des éléments à : mettre à jour des éléments dans et suppression d’éléments d'une liste de souhaits. Correctif soumis par Eduard Chitoraga dans les demandes d’extraction 28205 et 264 dans les partenaires repo privés-magento2ee. GitHub-28551
-
La variable
addProductsToCart
mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous 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 la variable Payflow Pro Vault mode de paiement. Correctif soumis par Oleh Usik dans la demande d’extraction 28821. GitHub-28520
-
Mise à jour de GraphQL
storeConfig
query pour inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande d’extraction 27876. GitHub-28521 -
Ajout de la
resetPassword
mutation. 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 de mot de passe pour l’adresse électronique fournie. Correctif soumis par Oleh Usik dans la demande d’extraction 27876. GitHub-28521 -
Ajout d’une discussion sur Klarna GraphQL dans Mode de paiement de la larna et
createKlarnaPaymentsSession
Images
- Le balisage de HTML des images miniatures a été amélioré. Correctif soumis par Tu Nguyen dans une demande d'extraction 28642. GitHub-29468
Import/export
- La variable
error_report.csv
se télécharge désormais avec du contenu et est disponible dans la fonctionvar/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 une
error_report.csv
fichier , 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 une demande d’extraction 28460. GitHub-28420
- Suppression des imports de classe redondants dans toute la base de code. Correctif soumis par Oleh Usik dans la demande d’extraction 28696. GitHub-29012
- L’application importe désormais correctement les adresses client contenant une région pour un pays qui n’a pas défini de régions. Auparavant, l’application générait cette erreur :
Please enter a valid region
.
- L’application charge désormais l’ensemble 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 la variable
catalog_category_product
le tableau se met maintenant à jour comme prévu lorsqu’un administrateur crée un produit dans l’Admin 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’unePURGE
.sendPurgeRequest
a été restructuré afin de gérer un tableau de balises au lieu d’exiger que l’appelant utiliseimplode()
. Correctif soumis par Matthew O'Loughlin dans une demande de tirage 26256. GitHub-26255
- Les indexeurs partagés affichent désormais l’état de valide après avoir exécuté
bin/magento indexer:status
après réindexation. Auparavant, les indexeurs partagés comportaient une 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 survenant 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 en raison d’une augmentation du nombre de
ipcre.backtrack_limi
t etpcre.recursion_limit
à environ 1000000. Correctif soumis par Mateusz Krzeszowiak dans une demande d’extraction 27270. GitHub-26026
- La génération des intercepteurs a été améliorée.
} else {
ont été retirées des intercepteurs;array_map
a remplacéforeach
. Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 27902. GitHub-28383
- La création de tableaux est désormais cohérente dans toute la classe (
app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
). Correctif soumis par Nathan de Graaf dans la demande d’extraction 28515. GitHub-28795
- Les modules externes ont été migrés hors de la structure pour suivre la bonne pratique consistant à interdire les modules externes dans l’espace de noms Framework. Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 27965. GitHub-27962
- L’application ne lance plus une
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
X-Forwarded-For
en-tête à 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’administration personnalisé. Auparavant, les problèmes liés à cette logique entraînaient de nombreuses redirections d’administrateur vers la page d’accueil du magasin par défaut. Correctif soumis par Vadim Malesh dans une demande d’extraction 29066. GitHub-28943
- Problèmes liés à la
styles-old.less
ont été supprimés, et le linting n’identifie plus les erreurs. Correctif soumis par Tu Nguyen dans une demande d'extraction 28895. GitHub-24004
NonComposerComponentRegistration.php
a été restructuré. Correctif soumis par Vitaliy Ryaboy dans une demande d'extraction 28975. GitHub-29308
ResourceConnection.php
a été restructuré afin d’améliorer la lisibilité des classes. Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 29341. GitHub-29389
- Le fichier LISEZMOI pour le serveur web intégré a été mis à jour afin d’inclure tous les paramètres Elasticsearch. Correctif soumis par Yevhenii Dumskyi dans une demande de tirage 29300. GitHub-29299
- La variable
Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSave
plug-in renvoie désormais une valeur comme prévu. Auparavant, ce module externe ne renvoyait aucune valeur. Par conséquent, l’enregistrement d’une vue de magasin entraînait une erreur. Correctif envoyé par Pieter Hoste dans la demande d’extraction 29035. GitHub-29034
-
Ajout de la prise en charge suivante des méthodes magiques pour
DataObject
:- nouvelle extension prise en charge
get/set/has/uns
méthodes magiques (avec 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 la vérification des erreurs filtrées
- augmentation du niveau de contrôle PHPStan de 0 à 1. Correctif soumis par Oleksandr Kravchuk dans une demande d’extraction 27905. GitHub-28303
- nouvelle extension prise en charge
ScopeConfigInterface
peut maintenant être plus qu’une chaîne. La restriction demagentoConfigFixture
la chaîne uniquement a été le résultat involontaire d’une demande d’extraction précédente et a été rétablie. Correctif soumis par Kristof, Fooman in pull request 29305. GitHub-29345
- La variable
convertConfigTimeToUtc
ne renvoie plus d’erreur fatale en raison de l’envoi de paramètres incorrects à la variablePhrase
constructeur. Correctif soumis par Kos Rafał dans une demande de tirage 29483. GitHub-29525
- Les filtres de prix fonctionnent désormais comme prévu sur les données de la grille lorsque
Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getCondition
etMagento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue()
renvoyer un tableau contenant des index ;from
outo
données de 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 soumis par Nikita Sarychev dans une demande d'extraction 29214. GitHub-29213
- Ajout d’un point d’extension pour la prise en charge de l’ajout de 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 une demande d'extraction 27758. GitHub-26702
Navigation par couches
- La barre 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 par couches ne renvoyait pas de non pour les attributs booléens dans les déploiements utilisant Elasticsearch.
- Le filtre de navigation par couches d’échantillon est désormais cohérent avec les filtres standard utilisés dans Adobe Commerce. Correctif soumis par Bartłomiej Szubert dans une demande d'extraction 28015. GitHub-28011
Journalisation
- Toutes les erreurs de référence rompues sont désormais consignées lorsque les déploiements sont uniquement en mode développeur. Auparavant, une erreur était également consignée pour les déploiements en mode de production, ce qui gonflait les journaux d’erreurs. Correctif soumis par Bartłomiej Szubert dans une demande d'extraction 28735. GitHub-26504
Galerie de médias
- Interface utilisateur de configuration de la galerie de médias (Admin) Magasins > Configuration > Avancé > Système) a été réorganisé. Correctif soumis par Shankar Konar dans une demande d’extraction 29433. GitHub-28011
- Ajout de tests pour couvrir la variable Utilisé dans liens d’une image dans la galerie de médias. Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 29392. GitHub-1963
- L’application ne renvoie plus d’exception lorsqu’un commerçant tente d’enregistrer un produit avec son image associée lorsque la galerie de médias est désactivée. Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 29492. GitHub-1750
MFTF
- La variable
AdminSubmitAdvancedInventoryFormActionGroup
,AdminClickOnAdvancedInventoryLinkActionGroup
, etAdminSetStockStatusConfigActionGroup
les groupes d’actions 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 soumis par Oleh Usik dans la demande d’extraction 29385. GitHub-29434
AdminCategoriesClickDoneButtonOnPopupActionGroup
est désormais utilisé pour cliquer sur Terminé dans la fenêtre contextuelle Catégories de recherche . Correctif soumis par Oleh Usik dans la demande d’extraction 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 une demande d’extraction 28113. GitHub-28165
AdminUpdateCustomURLRewritesPermanentTest
a été restructuré pour répondre aux bonnes pratiques de la MFTF. Correctif soumis par Kate Kyzyma dans une demande de tirage 28361. GitHub-28393
- Les noms des tests ont été modifiés pour respecter les conventions MFTF. Correctif soumis par Evgeny Levinsky dans la demande d’extraction 27839. GitHub-28305
Nouveaux groupes d’actions
StorefrontCheckoutClickNextButtonActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 29472. GitHub-29539
AdminProductFormSaveActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 29142. GitHub-29292
AdminSaveCategoryActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 28993. GitHub-29388
AdminProductGridSectionClickFirstRowActionGroup
Correctif soumis par Oleh Usik dans la demande d’extraction 29 000. GitHub-29295
AdminProductFormCategoryExistInCategoryListActionGroup
etAdminProductFormCategoryNotExistInCategoryListActionGroup
Correctif soumis par Alexander Steshuk dans une 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 supprimer une page CMS en tant qu’utilisateur administrateur. Correctif soumis par Dmitri Tsymbal dans la demande d’extraction 28112. GitHub-28202
-
Ajout de la
StorefrontShareCustomerWishlistActionGroup
test pour le partage de listes noires avec des adresses email non valides. Le test existant pour le partage de listes de souhaits (StorefrontShareWishlistEntityTest
) a été restructuré.StorefrontCustomerShareWishlistActionGroup
a été abandonné.
- Ajout d’un test pour vérifier la mise en oeuvre de la variable Seuil gauche seulement X paramètre de configuration . Correctif soumis par Oleh Usik dans la demande d’extraction 27549. GitHub-28755
Newsletter
- Exportation de la liste Abonnés à la newsletter à l’aide du
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 de HTML que les autres emails liés à la newsletter. Correctif proposé 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 soumis par Dmitri Tsymbal dans la demande d’extraction 28972. GitHub-29032
- Ajout de tests pour l’abonnement à la newsletter pour les invités avec une option non autorisée dans les instructions de configuration. Ce test remplace obsolète
VerifyRegistredLinkDisplayedForGuestSubscriptionNoTest
etStorefrontCreateNewSubscriberActionGroup
. Correctif soumis par Dmitri Tsymbal dans la demande d’extraction 28872. GitHub-29039
Commandes
- La variable
GetAssetIdByContentFieldInterface
et sa mise en oeuvre surMediaContent
Les modules permettent désormais à l’intégration Adobe Stock d’étendreMediaGallery
fonctionnalité de filtrage. Correctif soumis par Gabriel da Gama dans une demande de tirage 29058. GitHub-1464
- La variable
CustomerAddressI
les valeurs d’un client nouvellement créé sont désormais validées entre guillemets. Correctif soumis par Andrii Kalinich dans une demande d’extraction 29139. GitHub-28793
- L’état de la commande d’une note de crédit avec un total nul est désormais
Closed
. Auparavant, l’application signalait son état de commande commeComplete
. Correctif soumis par Andrii Kalinich dans une demande d’extraction 29023. GitHub-22762
Page Builder
- La variable
description
etshort_description
Les attributs de produit ont été réorganisés afin de mieux s’adapter aux modifications planifiées de l’évaluation du contenu du créateur de pages. Correctif soumis par Matt Walters dans la demande d’extraction 29238. GitHub-543
Modes de paiement
- La demande 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 Admin 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 de messages pour une description de la fonction
maxIdleTime
,sleep
, etonlySpawnWhenMessageAvailable
paramètres.
-
La configuration de la liste des modules externes est désormais générée lors de l’exécution de la fonction
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 en cache. Les améliorations de performances résultantes 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 une 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 dans la version 2.4.0.
MC-35984-2.4.0-CE-composer.patch
correction de 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 vierge.
Révisions
- Une clé unique pour
entity_pk_value-entity_type-store_id
a été ajouté à la variablereview_entity_summary
qui empêche la création de lignes dupliquées pour le même ID de produit (entity_pk_value
). Auparavant, ce manque de clé unique entraînait la duplication de lignes pour les mêmes ID de produit et erreurs SQL.
Ventes
- L’application n’affecte plus le statut de
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 des régions localisés affichés sur la page Commande du storefront 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’Admin.
- Expéditions créées via le POST
/rest/V1/shipment
Le point de terminaison met désormais correctement à jour 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 Admin Customer à l’aide de QuickSearch. Auparavant, une exception survenait sur la page des résultats de la recherche catalogue.
- L’application affiche désormais les produits configurables sur la page de catégorie, comme prévu après l’ajout d’un attribut de produit.
- Les résultats Elasticsearch incluent désormais les valeurs correctes pour les options d’attribut de chaque vue de magasin. Si un attribut de liste déroulante ou de sélection multiple a une valeur d’option différente dans la vue de magasin autre que celle par défaut 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 ou ne renvoyait pas le produit avec cette valeur dans les résultats.
- La recherche par SKU fonctionne désormais comme prévu dans la recherche avancée avec Elasticsearch. Auparavant, lorsque vous tentiez 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 proposé 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 une demande d’extraction 29206. GitHub-28947
Expédition
- L’application calcule désormais correctement les taux des tables d’expédition après la mise à niveau. Auparavant, les taux des tables d’expédition étaient calculés en fonction 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 vérification des commandes du workflow de passage en caisse lors de l’extraction avec plusieurs adresses. Auparavant, l’application envoyait une
404 Not Found
lorsqu’un client a cliqué sur la variable Supprimer pour supprimer les points d’une adresse. Il s’agissait d’un problème connu dans la version 2.4.0.
- L’application affiche désormais les taux d’expédition dans la devise appropriée dans le workflow de passage en caisse pour les commandes spécifiant FedEx comme méthode d’expédition.
- Les PDF multi-pages des libellés 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 modules ont été résolus. Auparavant, l’application n’affichait pas la variable Créer une étiquette d’expédition sur cette page, et vous n’avez pas pu créer de libellé 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 une demande d’extraction 29331. GitHub-28901
- Les valeurs codées sont désormais correctement placées dans une séquence d’échappement dans la variable
sitemap.xml
fichier . 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
- La variable Définir le produit comme nouveau le libellé d’attribut apparaît désormais comme prévu sur les pages de détails et de mise à jour planifiées 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 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 deprice_to
valeur du paramètre . Auparavant, tente de définir la mise à jour du prix sans le paramètreprice_to
Les paramètres spécifiés échouaient.
Magasin
- La suppression d’une vue de magasin créée précédemment n’entraîne plus d’erreur dans les déploiements avec une configuration de base de données partagée. Auparavant, l’application lançait une exception.
- Vous pouvez désormais exporter
config.php
et code de site web par défaut d’un site web pour installer et configurer l’application sur un deuxième site web dans le cadre d’un déploiement multisite. Auparavant, le magasin et la vue par défaut disparaissaient après l’exportation et des erreurs se produisaient sur le storefront.
Swagger
- Vous pouvez désormais générer un jeton client avec Swagger. Auparavant, Swagger ne générait pas de code de réponse 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 une demande d’extraction 28822. GitHub-27098
Nuancier
- Les produits configurables avec des échantillons affichent désormais le niveau de prix lorsqu’un acheteur clique 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 une 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ègle cible est installé.
- La fonctionnalité de produit lié (produits connexes, de vente incitative et de vente croisée) est mise en oeuvre.
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 2924. 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 couvert par les tests d’intégration. Correctif soumis par jmonteros422 dans la demande d’extraction 29493. GitHub-1742
- Une fonction a été ajoutée à
\Magento\TestFramework\TestCase\WebapiAbstract
qui 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 inappropriées dans le résultat réel. Correctif soumis par Jekabs dans la demande d’extraction 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 proposé par Lukasz Bajsarowicz dans la demande d'extraction 29271. GitHub-29283
- Utilisation
ObjectManager
pour instancier des classes pendant le test a été remplacé par le nouveau mot-clé dans les tests unitaires. Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 29272. GitHub-29346
- Une couverture de test a été ajoutée pour ces cas de
updateCustomer
mutation : date de naissance non valide, adresse électronique invalide et nom de famille du client vide. Correctif soumis par Alexander Taranovsky dans une demande d’extraction 28304. GitHub-28394
- La variable
ApiFunctional TestFramework
Le client GraphQL 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 désormais affectés comme prévu lors de l’exécution.
bin/magento catalog:images:resize
. Auparavant, seuls les thèmes affectés aux magasins étaient affectés lorsquebin/magento catalog:images:resize
a été exécuté.
Traduction et paramètres régionaux
- L’application ne renvoie plus d’erreur lorsqu’un administrateur modifie la variable Date lors de la création ou de l’enregistrement du produit Admin lorsque le paramètre régional d’administration est 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, un appel API était effectué à la fonction/rest/V1/integration/admin/token
les informations d’identification erronées lors de l’activation de la traduction en ligne entraînaient l’inclusion de 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 au
directory_country_region
table. Correctif soumis par Nikola Lardev dans une demande d’extraction 27957. GitHub-28215
- Titres et boutons sur l’administrateur Clients > Ajouter une nouvelle adresse et Modifier le produit > Inventaire avancé les modules peuvent désormais être traduits. Correctif soumis par Sathish Subramanian dans une demande d’extraction 28174. GitHub-28201
- Le terme FPT peut désormais être traduit sur Admin. Magasins > Configuration > Ventes > Taxe > Taxes sur les produits fixes. Correctif soumis par Vadim Malesh dans une demande d’extraction 28108. GitHub-5477
- La variable Ship here le libellé du bouton sur le modal d’adresse d’expédition du workflow de passage en caisse a été modifié pour correspondre à la casse chameau 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 une demande d’extraction 28004. GitHub-27985
- Correction d’un mauvais alignement du curseur dans la zone de texte Commentaires de facture de la facture associée à une commande que vous avez sélectionnée depuis l’administrateur. Ventes > Commandes.
- La page Créer une commande s’affiche désormais. Ajout de 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 Exporter les taux de taxe bouton de la page Ajouter une nouvelle règle fiscale (Magasins > Règles fiscales) télécharge désormais la variable
tax_rates.csv
fichier , comme prévu. Auparavant, les marchands devaient cliquer sur le bord de la variable Exporter les taux de taxe bouton . Il s’agissait d’un problème connu dans la version 2.4.0.
- La variable Ajouter des sélections à mon panier au bas du panier fonctionne désormais comme prévu. Il s’agissait d’un problème connu dans la version 2.4.0.
- La variable Actualiser du bouton Produits récemment consultés de la page Activités du client fonctionne désormais comme prévu. Auparavant, lorsque vous cliquiez Actualiser, la liste de produits n’a pas été actualisée et la page a fait 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 de HTML de ce widget n’était pas rendu et l’application n’affichait pas la variable Chargement d’une liste de SKU lien.
- Composants de l’interface utilisateur désactivés à l’aide de
this.disabled(true)
n’apparaît plus sur le storefront. GitHub-29098
- L’application affiche désormais correctement le widget de produits récemment affiché dans la vue mobile. Correctif soumis par Tu Nguyen dans une demande d'extraction 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 une 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 soumis par Tu Nguyen dans une demande d'extraction 28084. GitHub-28059
- La variable OK dans la fenêtre contextuelle de confirmation de produit de suppression du mini panier se comporte désormais comme prévu. Correctif soumis par Tu Nguyen dans une demande d'extraction 28083. GitHub-27095
- Les éléments de la galerie de produits ne clignotent plus au chargement de la page. Correctif soumis par Mateusz Krzeszowiak dans une 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 une 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 une demande d'extraction 29413. GitHub-24060
- Le titre de la page des commandes en échec a été réécrit pour garantir la précision. Auparavant, lorsqu’un acheteur annulait une commande, l’application affichait une page intitulée :
We received your order!
. Correctif soumis par Angelo Romano dans la demande d’extraction 29410. GitHub-29416
- Le nombre total d’articles annulés sur la page vue de la commande annulée est maintenant correctement identifié sur la page vue de la commande annulée. Auparavant, ce champ était libellé. Échéance totale. Correctif soumis par Madhu Rajawat dans une 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 une demande d'extraction 28032. GitHub-22702
- L’icône de bloc des propriétés d’attribut avancées sur la page Propriétés d’attribut avancées se comporte désormais comme prévu. Correctif soumis par Tu Nguyen dans une demande d'extraction 28032. GitHub-26022
- La section Admin de la page de configuration du système se développe désormais pour afficher les champs requis comme prévu lorsque vous essayez d’enregistrer les paramètres de configuration d’un nouveau module. Correctif soumis par Bartłomiej Szubert dans une demande d'extraction 28285. GitHub-26427
- Comportement corrigé de la loupe lorsque le mode est défini sur
inside
. Correctif soumis par Sean van Zuidam dans une 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 une demande d’extraction 27106. GitHub-27099
- Un
Uncaught ReferenceError
ne s’affiche plus dans la console de développement lorsque vous ajoutez une nouvelle balise et placez le curseur de la souris dessus. Correctif soumis par Nazar Klovanych dans le cadre d'une demande d'extraction 29392. GitHub-1700
- Suppression d’un élément inutilisé
AdminAnalytics
test (TrackingScriptTest
). Correctif proposé par Lukasz Bajsarowicz dans la demande d'extraction 28605. GitHub-28850
- Les problèmes liés à la sérialisation et à la déssérialisation des propriétés statiques lors de l’exécution de tests consécutifs ont été résolus. Correctif soumis par Pavel Bystritsky dans une demande d’extraction 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 réécrivait incorrectement le CMS et l’URL du produit.
-
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
- La demande n’enregistre plus les numéros de carte de crédit lorsque la variable Enregistrer pour une utilisation ultérieure n’est pas cochée dans la section paiement du workflow de passage en caisse.
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 de 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 commerçant utilisait l’API REST pour créer et mettre à jour des produits, qu’un produit était mis à jour pour la vue de 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 de vue de magasin ont cessé d’hériter de la portée par défaut après la mise à jour.
- Un compte utilisateur d’intégration non défini peut désormais accéder à une ressource via l’API REST lorsque les autorisations de ressources l’autorisent.
- Les filtres de critères de recherche fonctionnent désormais comme prévu pour les attributs de produit utilisés lors de la création d’un produit configurable. GitHub-29126
- L’ID de groupe de clients est désormais validé pour le POST
/rest/V1/customers
requêtes. Auparavant, l’application n’affichait pas de message d’erreur lorsque vous utilisiez ungroup_id
dans ces requêtes. Correctif soumis par Vadim Malesh dans une 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 proposé 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
ont été supprimées. Correctif soumis par Vadim Malesh dans une demande d’extraction 28483. GitHub-22431
- Utilisation de GET
V1/customers/me
désormais honneurs Partage de comptes clients paramètre (Admin Magasins > Configuration > Clients > Configuration client > Options de partage de compte) lors de la récupération des informations sur l’utilisateur. Correctif soumis par Pavel Bystritsky dans une 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, introduit par une validation précédente, affectait tout attribut d’extension défini surMagento\Quote\Api\Data\AddressInterface
qui n'étaient pas des objets. Correctif soumis par Alexander Menk dans la demande d’extraction 27338. GitHub-26682
- Vous pouvez maintenant spécifier un seul champ lors de la mise à jour d’un client avec le PUT
V1/customers/:id
point de terminaison . 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 une 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 par liste de souhaits pour trouver un produit, le sélectionner et cliquer sur Ajouter au panier, l’application n’a pas ajouté le produit au panier et a affiché 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é du produit ni n’affichait de message.
- La page Catégorie du storefront affiche désormais le widget de recherche de liste de souhaits comme prévu.
- Renvois pour
Map
,WeakMap
,FormData
, etMutationObserver
sont désormais chargés uniquement si nécessaire. Correctif soumis par Dmitri Tsymbal dans la demande d’extraction 28330 et Mateusz Krzeszowiak dans une demande de tirage 27618. GitHub-28377, GitHub-28382
- Le processus de mise à jour de liste de souhaits prend désormais en charge la mise à jour simultanée d’un élément de liste de souhaits et de sa description. Correctif soumis par Eduard Chitoraga dans la demande d’extraction 2822. 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 d’extraction 247 dans le référentiel privé partenaires-magento2ee.
- Les administrateurs peuvent désormais configurer un produit configurable ajouté par un client à une liste de souhaits à partir d’un magasin autre que celui par défaut. Auparavant, lorsque le client avait également ajouté le produit configurable à partir d’un magasin autre que celui par défaut, l’application générait une erreur.
- Ajout d’un test pour partager la liste de souhaits d’un client avec plus que le nombre autorisé d’emails. Correctif soumis par Dmitri Tsymbal dans la demande d’extraction 28641. GitHub-28720
- Ajout d’un test de suppression d’éléments de la liste de souhaits d’un client en tant qu’utilisateur administrateur. Correctif soumis par Dmitri Tsymbal dans la demande d’extraction 28632. GitHub-28721
- Ajout d’un test pour désactiver la fonctionnalité de liste de souhaits. Correctif soumis par Dmitri Tsymbal dans la demande d’extraction 28635. GitHub-28744
- Ajout d’un test pour l’utilisation d’adresses email non valides lors du partage de listes de souhaits de clients.
StorefrontShareWishlistEntityTest
a été restructuré.StorefrontCustomerShareWishlistActionGroup
a été abandonné. Correctif soumis par Dmitri 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 soumis par Dmitri Tsymbal dans la demande d’extraction 28812. GitHub-28969
Problèmes connus
Problème: la nouvelle fonctionnalité CAPTCHA pour le passage en caisse ne fonctionne pas comme prévu sur la page Passer une commande lors de l’utilisation de fournisseurs de paiement tiers. Les commerçants utilisant la version 2.3.6 ou 2.4.1 qui ont activé la protection CAPTCHA sur la page de magasin 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. Voir Le passage en caisse d’Adobe Commerce v2.3.6/2.4.1 CAPTCHA ne fonctionne pas Article de la base de connaissances. Un correctif sera également inclus dans notre prochain correctif trimestriel (Q12021).
Problème: les utilisateurs ne disposant pas de privilèges d’administrateur ne peuvent actuellement pas configurer leur accès 2FA personnel. 2FA comprend deux rôles ACL. Un rôle affecte la configuration globale du système et 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: la variable Création d’un compte sur la page Créer un compte , le bouton reste désactivé si un acheteur a saisi 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 un 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. Voir 2.4.1 et 2.3.6 créent un bouton de compte désactivé le correctif Article de la base de connaissances. GitHub-30513
Problème: les commerçants ne peuvent pas se connecter à dotdigital depuis l’administrateur dans Safari lorsque dotdigital est activé. Voir Il est impossible de se connecter au dotdigital via le panneau d’administration lorsque le compte dotdigital est activé Article de la base de connaissances.
Problème: la validation des adresses de sommet ne fonctionne pas lors du paiement lorsque l’acheteur sélectionne une adresse de livraison différente de l’adresse de facturation. Le problème sera corrigé dans la version 2.4.2. Voir 2.4.1 Problème connu : le message Validation de l’adresse du sommet ne disparaît pas après la mise à jour de l’adresse Article de la base de connaissances.
Problème: l’application affiche une page vide lorsqu’un commerçant enregistre un formulaire du générateur de pages numérique sur le navigateur Safari. Solution: rechargez la page pour appliquer vos modifications. Voir 2.4.1 Problème connu : page vide après l’enregistrement du formulaire du générateur de pages numérique Article de la base de connaissances.
Problème: dans certaines conditions, l’application se connecte automatiquement aux clients qui utilisaient auparavant les comptes Amazon plutôt que de les inviter à se connecter lors de l’extraction avec Amazon Pay. Voir 2.4.1 Problème connu : impossible de modifier le compte Amazon dans Google Chrome Article 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 à plusieurs adresses sont sélectionnés. Voir 2.4.1 Problème connu : erreur apparaissant lors du passage en caisse avec le Braintree PayPal Article 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é. Voir 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 Article 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 un membre de la communauté".
-
L’équipe d’ingénieurs de la communauté Contributeurs Magento tient à jour une liste des principaux individus et partenaires qui contribuent le plus par mois, trimestre et année. Sur cette page Contributeurs, vous pouvez suivre les liens vers leurs relations publiques fusionnées sur GitHub.
Contributions des partenaires
Le tableau suivant présente les contributions des partenaires. Ce tableau répertorie le partenaire qui a contribué à la demande d’extraction, la demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).
Contributions des contributeurs individuels
Le tableau suivant répertorie les contributions des membres de notre communauté. Ce tableau répertorie les demandes d’extraction externes, le numéro de problème GitHub qui y est associé (le cas échéant) et le membre de la communauté qui a contribué à la demande d’extraction.
Configuration requise
Notre pile de technologie est basée sur PHP et MySQL. Pour plus d’informations, voir Configuration requise.
Instructions d’installation et de mise à niveau
Vous pouvez installer 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 des données. Envisagez d’explorer le Référentiel de migration des données.
La variable Code Migration Toolkit aide à transférer les extensions et personnalisations de magasin Magento 1.x existantes vers Magento 2.x. L’interface de ligne de commande comprend des scripts pour la conversion des modules et des mises en page Magento 1.x.