Notes de mise à jour d’Adobe Commerce 2.4.1

Adobe Commerce 2.4.1 introduit des améliorations des performances et de la sécurité ainsi que des ajouts significatifs à l’ensemble de fonctionnalités B2B. Les améliorations de sécurité incluent la prise en charge de l’attribut SameSite pour les cookies et l’ajout de la protection CAPTCHA pour les points de terminaison API liés aux paiements et aux commandes et de la page de storefront Passer des commandes. Les améliorations B2B portent principalement sur le processus d’approbation des commandes, les méthodes d’expédition B2B, la journalisation étendue des actions d’administration et une sécurité renforcée sur le storefront.

Cette version de inclut toutes les améliorations de la qualité de base incluses dans la version 2.4.0, plus de 150 nouveaux correctifs du code principal et plus de 15 améliorations de la sécurité. Elle comprend la résolution de presque 300 problèmes GitHub par les membres de notre communauté. Ces contributions de la communauté vont du nettoyage mineur du code principal à des améliorations significatives dans GraphQL.

Tous les problèmes connus identifiés dans la version 2.4.0 ont été corrigés dans cette version.

NOTE
Les versions d’Adobe Commerce peuvent contenir des modifications incompatibles avec l’arrière-plan (BIC). Pour passer en revue les modifications incompatibles avec l’arrière-plan, voir Référence BIC. Les problèmes majeurs d’compatibilité descendante sont décrits dans la section Mise en évidence BIC. Toutes les versions n’introduisent pas de code BIC majeur.

Appliquez AC-3022.patch pour continuer à proposer DHL comme opérateur de transport

DHL a introduit la version 6.2 du schéma et va abandonner la version 6.0 dans un avenir proche. Adobe Commerce 2.4.4 et les versions antérieures qui prennent en charge l’intégration DHL ne prennent en charge que la version 6.0. Les commerçants qui déploient ces versions doivent appliquer AC-3022.patch dès que possible pour continuer à proposer DHL en tant qu'opérateur de transport. Pour plus d’informations sur le téléchargement et l’installation du correctif, reportez-vous à l’article Appliquer un correctif pour continuer à proposer DHL comme opérateur de transport de la base de connaissances.

Correctif de sécurité disponible

Les vendeurs peuvent désormais installer des correctifs de sécurité sensibles au temps sans appliquer les centaines de correctifs fonctionnels et d’améliorations apportés par une version trimestrielle complète (par exemple, 2.4.0-p1). Le correctif 2.4.0.1 (paquet Composer 2.4.0-p1) est un correctif de sécurité qui fournit des correctifs pour les vulnérabilités identifiées dans notre version trimestrielle précédente, 2.4.0. Tous les correctifs appliqués à la version 2.4.0 sont inclus dans ce correctif de sécurité. (Un correctif fournit un correctif à une version publiée qui résout un problème ou un bogue spécifique.)

Pour obtenir des informations générales sur les correctifs de sécurité, consultez Présentation de la nouvelle version du correctif de sécurité. Pour obtenir des instructions sur le téléchargement et l’application des correctifs de sécurité (y compris le correctif 2.3.5-p2), voir Installation rapide sur site. Les correctifs de sécurité incluent uniquement des correctifs de bogues de sécurité, et non les améliorations de sécurité supplémentaires incluses dans le correctif complet.

Autres informations sur les versions

Bien que le code de ces fonctionnalités soit fourni avec des versions trimestrielles , plusieurs de ces projets (par exemple, B2B, Page Builder et Progressive Web Application (PWA) Studio) sont également publiés indépendamment. Les correctifs de bogues pour ces projets sont documentés dans les informations de version distinctes spécifiques au projet qui sont disponibles dans la documentation de chaque projet.

Tons clairs

Recherchez les points forts suivants dans cette version.

Améliorations substantielles de la sécurité

Cette version comprend plus de 15 correctifs de sécurité et améliorations de la sécurité de la plateforme. Tous les correctifs de sécurité ont été rétroportés aux versions 2.4.0-p1 et 2.3.6.

Plus de 15 améliorations de sécurité qui aident à fermer les vulnérabilités d’exécution de code à distance (RCE) et de cross-site scripting (XSS)

Aucune attaque confirmée liée à ces problèmes n'a été survenue à ce jour. Cependant, certaines vulnérabilités peuvent potentiellement être exploitées pour accéder aux informations client ou prendre le contrôle des sessions d’administrateur. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. En conséquence, nous vous rappelons de prendre toutes les mesures nécessaires pour protéger votre administrateur, y compris, mais sans s’y limiter, ces efforts : liste d’autorisation IP, authentification à deux facteurs, utilisation d’un VPN, l’utilisation d’un emplacement unique plutôt que /admin, et une bonne hygiène du mot de passe. Consultez Mises à jour de sécurité disponibles pour Magento pour une discussion sur ces problèmes résolus.

Autres améliorations de la sécurité

Les améliorations de sécurité pour cette version sont les suivantes :

  • La protection CAPTCHA a été ajoutée aux zones de produit suivantes :

    • Placer la page storefront de commande et les points d'entrée REST et GraphQL
    • Points d’entrée REST et GraphQL liés aux paiements.

    La protection CAPTCHA de ces pages supplémentaires est désactivée par défaut. Elle peut être activée sur l’administrateur de la même manière que les autres pages couvertes par CAPTCHA. Cette protection a été ajoutée en tant que mécanisme anti-force brute pour protéger les magasins contre les attaques de carding. Voir CAPTCHA.

  • Prise en charge de l’attribut samesite pour les cookies. Pour prendre en charge l’application Google Chrome du nouveau système de classification des cookies, les classes d’application qui gèrent les cookies ont été mises à jour afin de prendre en charge l’attribut de cookie SameSite. Cet attribut est défini sur Lax par défaut, mais peut être explicitement remplacé.

  • Outil d’analyse de sécurité amélioré. Adobe s'est associé à Sanguine Security, un leader dans la prévention de la écrémage numérique, pour intégrer sa base de données de plus de 8 700 signatures de menaces dans l'outil d'analyse de sécurité. Ce partenariat permettra aux commerçants d’obtenir des informations en temps réel sur l’état de sécurité de leur site grâce à une détection proactive des logiciels malveillants et une réduction des faux positifs. Les marchands peuvent s'inscrire à l'outil en visitant https://account.magento.com/scanner. Pour plus d’informations, consultez la publication de blog Sécuriser votre vitrine avec l’outil d’analyse de sécurité amélioré .

NOTE
À compter de la version 2.3.2, nous assignerons et publierons des numéros CVE (Vulnérabilités et expositions courantes indexées) avec chaque bogue de sécurité signalé par des tiers externes. Cela permet aux utilisateurs d’identifier plus facilement les vulnérabilités non corrigées dans leur déploiement. Vous pouvez en savoir plus sur les identifiants CVE à l’adresse CVE.

Améliorations des infrastructures

Cette version contient des améliorations de la qualité de base, qui améliorent la qualité du framework et ces domaines fonctionnels : compte client, catalogue, CMS, OMS, Import/Export, Promotions et Ciblage, Panier et passage en caisse, B2B, Évaluation et Aperçu.

  • Intégration de l’outil d’analyse à l’échelle du site avec Admin. L’ outil fournit des insights et de l’instrumentation du système pour l’Adobe sur les installations d’infrastructure cloud avec 24/7 surveillance des performances, rapports et recommandations en libre-service en temps réel. Les vendeurs peuvent utiliser la nouvelle ressource de rôle de l’administrateur pour accéder en toute sécurité à leurs pages de détails du client par l’intermédiaire de l’administrateur. Pour obtenir un aperçu, consultez la FAQ .

Amélioration des performances

  • Réduction de la taille des transferts réseau entre Redis et Magento. La configuration de la liste des modules externes est maintenant générée lors de l’exécution de la commande bin/magento di:compile. Ces informations de configuration sont écrites dans des dossiers de métadonnées générés en fonction de la portée. Auparavant, ces informations étaient stockées dans le cache. Les améliorations de performances résultantes incluent une diminution de la taille du cache réseau et du temps d’exécution pour de nombreux scénarios.

  • Amélioration des performances du consommateur en file d’attente de messages. Trois nouveaux paramètres de configuration prennent en charge une diminution de la consommation du processeur de la file d’attente des consommateurs. Ces paramètres facultatifs permettent d’exercer un contrôle accru sur les consommateurs et d’économiser les ressources du serveur. Voir Configuration des files d’attente de messages pour obtenir une description du et sleep onlySpawnWhenMessageAvailable des maxIdleTimeparamètres.

  • Amélioration du temps d’exécution des bin/magento commandes.

Intégration Adobe Stock

Cette version inclut l’intégration Adobe Stock v2.1.0.

La nouvelle galerie de médias est désormais activée par défaut dans l’Admin. Les vendeurs peuvent désormais effectuer ces actions sur les images de la galerie de médias :

  • Suppression d’images en bloc

  • Optimisez le stockage des supports en identifiant les images en double et les images qui ne sont pas utilisées sur la vitrine

  • Filtrez les images en fonction de la zone de vitrine dans laquelle elles sont utilisées, y compris le contenu des produits et des catégories et les blocs CMS

  • Utilisation de métadonnées d’image

    • Afficher les métadonnées des images téléchargées dans Media Gallery
    • Modifier les métadonnées de l’image (titre, description et mots-clés)
    • Recherche d’images selon leurs métadonnées

Page Builder

Le créateur de pages prend désormais en charge le mode Plein écran, qui permet de modifier plus facilement le contenu et offre une expérience cohérente de la modification du contenu dans l’ensemble de l’administrateur. Voir Workspace.

GrapheQL

Cette version ajoute la couverture GraphQL pour les fonctionnalités suivantes :

  • Études de produits. Les clients et les invités peuvent écrire des critiques de produits. Les clients peuvent récupérer leurs historiques de révision de produit. Voir Création d’une révision de produitet requête productReviewREvaluationsMetadata pour plus d’informations sur la récupération des informations sur l’infrastructure de révisions.

  • Options de cadeau. Tous les clients et invités peuvent ajouter un message cadeau à leur commande. Sur les installations Adobe Commerce, ils peuvent également ajouter un emballage cadeau, des reçus de cadeaux et des cartes imprimées à la commande. Voir setGiftOptionsOnCart mutation et updateCartItems mutation

  • Points de récompense. Les clients peuvent appliquer ou supprimer des points de récompense sur leurs paniers. Ils peuvent également consulter l’historique de leurs points de récompense. Voir applyRewardPointsToCart et removeRewardPointsFromCart pour une discussion sur la gestion des points de récompense dans un panier.

  • Historique des commandes. Tous les clients peuvent afficher les détails de l’historique de leurs commandes, y compris les factures, l’expédition et les remboursements.

  • Ajouter au panier. La addProductsToCart mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous vous recommandons d’utiliser cette mutation plutôt que des mutations à usage unique telles que addSimpleProductsToCart. Correctif soumis par Yaroslav Rogoza dans la demande d'extraction 27914. GitHub-28524

  • Modes de paiement enregistrés. Les clients connectés peuvent désormais stocker les détails de paiement (y compris Braintree carte de crédit et Braintree avec PayPal) dans Mon compte.

  • Prise en charge des listes de souhaits dans Magento Open Source. Vous pouvez ajouter des articles , les mettre à jour et les supprimer d’une liste de souhaits.

  • Amélioration de la gestion des comptes clients. Nous avons ajouté les mutations et updateCustomerV2 pour gérer les createCustomerV2 comptes clients. Ces nouvelles mutations nécessitent des objets d’entrée différents des mutations et createCustomer updateCustomer . Pour modifier l’adresse électronique d’un client, utilisez la nouvelle mutation updateCustomerEmail .

  • Prise en charge de Payflow Pro Vault. Ajout de la prise en charge de GraphQL Vault pour le mode de paiement Payflow Pro Vault. Correctif soumis par Oleh Usik dans la demande d'extraction 28821. GitHub-28520

  • Mise à jour de la requête storeConfig de GraphQLpour inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521

  • Ajout de la requestPasswordResetEmail mutation, qui déclenche l’e-mail de réinitialisation du mot de passe pour l’adresse e-mail fournie. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521

  • Klarna GraphQL. Ajout ou mise à jour de rubriques sur Klarna GraphQL dans le mode de paiement de Klarna et createKlarnaPaymentsSession

Consultez le Guide🔗 du développeur GraphQL pour plus de détails sur ces améliorations.

PWA Studio

PWA Studio v8.0.0 comprend de nouvelles fonctionnalités et améliorations :

  • Mises à jour du guide de style Venia qui s’appliquent aux jetons de conception, à la typographie, aux couleurs, aux composants principaux et aux mises en page

  • Améliorations de l’expérience du mini-chariot Venia

  • Prise en charge initiale de plusieurs paramètres régionaux et de contenu localisé sur le storefront Venia

  • Nombreuses améliorations de l’expérience MyAccount du storefront Venia

Voir compatibilité pour obtenir la liste des versions de PWA Studio et de leurs versions compatibles. Pour plus d’informations sur les améliorations et les correctifs, voir Versions de PWA Studio.

B2B

La version 2.4.1 introduit B2B v1.3.0. Cette version comprend des améliorations concernant les approbations de commandes, les méthodes d’expédition, le panier et la journalisation des actions d’administration.

Améliorations des approbations de commandes

Les approbations de commandes B2B ont été améliorées pour améliorer la convivialité et permettre des actions en bloc sur les bons de commande.
Les améliorations apportées à l’approbation et au rejet des commandes sont les suivantes :

  • Nouvelle page Afficher la règle pour les utilisateurs sans droits de modification. Les acheteurs B2B peuvent désormais afficher les règles qui s’appliquent à leur entreprise sur la nouvelle page Afficher la règle lorsqu’ils ne sont pas autorisés à les modifier.

  • Icône d’alerte Compter sur l’onglet Exiger mon approbation. L’onglet Requiert mon approbation de la vue Mes bons de commande affiche désormais un compteur qui indique le nombre d’actions d’approbation en attente.

  • Approbations et rejets de commandes groupées. Les responsables B2B et les administrateurs d’entreprise peuvent désormais effectuer le rejet et l’approbation en bloc des bons de commande. Ces modifications permettent aux approbateurs d’approuver ou de rejeter plusieurs bons de commande en une seule action.

  • Les marchands peuvent désormais effectuer des recherches dans les champs S’applique et Nécessite une approbation à partir de la vue Mes bons de commande et peuvent sélectionner plusieurs rôles utilisateur lors de la création de règles.

  • Vous trouverez des exemples de configuration des règles d’approbation de commande sur la page Configuration de règle .

Voir Règles d’approbation

Améliorations des méthodes de livraison B2B

Les marchands B2B peuvent désormais contrôler les méthodes d’expédition proposées à chaque entreprise. Les vendeurs peuvent configurer les éléments suivants à partir de l’administrateur :

  • Un ensemble spécifique de méthodes d’expédition pour les comptes d’entreprise B2B
  • Utilisation de toutes les méthodes de livraison ou de méthodes spécifiques B2B pour chaque compte d’entreprise
  • Liste spécifique des méthodes de livraison B2B pour chaque compte d’entreprise

Améliorations du panier

  • Les marchands peuvent désormais permettre aux utilisateurs d’effacer le contenu de leur panier en une seule action et peuvent configurer cette fonctionnalité indépendamment sur chaque site web.

  • Les acheteurs B2B peuvent désormais ajouter des éléments individuels ou tout le contenu de leur panier directement à une liste de demandes.

Nouvelles fonctionnalités d’administration

  • Les marchands B2B peuvent créer des commandes à partir de l’administrateur au nom des clients en utilisant le paiement sur facture comme mode de paiement.
  • Les vendeurs peuvent désormais afficher directement tous les guillemets associés à un utilisateur à partir de la page des détails du client.
  • Les vendeurs peuvent désormais filtrer la grille Clients maintenant en ligne par société.
  • Les administrateurs peuvent désormais filtrer les clients dans l'administrateur par représentant commercial.

Voir Fonctionnalités B2B.

Amélioration de la sécurité sur le storefront

Pour réduire la création de comptes frauduleux ou indésirables, les marchands peuvent désormais activer Google reCAPTCHA sur le formulaire de demande de nouvelle entreprise sur le storefront. Voir reCAPTCHA.

Journalisation étendue des actions d’administration

Les actions administratives effectuées dans les modules Société sont désormais consignées dans le journal des actions d’administration. Les actions sont consignées à partir de tous les modules d’entreprise pertinents : Company, NegotiableQuote, CompanyCredit, SharedCatalog.

Cette version comprend également plusieurs correctifs de bogues. Voir Notes de mise à jour B2B.

Cadre de test fonctionnel (MFTF)

MFTF 3.1.0 est maintenant disponible. Voir Changement de structure de test fonctionnel.

Extensions développées par le fournisseur

Consultez les articles suivants pour connaître les mises à jour des fonctionnalités et des modifications de cette version :

Problèmes résolus

Nous avons corrigé des centaines de problèmes dans le code principal de la version 2.4.1.

Installation, mise à niveau, déploiement

  • L’installation avec des extensions tierces qui dépendent d’API pour le module Store dans les commandes de l’interface de ligne de commande n’échoue plus. Auparavant, l’application affichait ce message d’erreur : The default website isn't defined. Set the website and try again. Il s’agissait d’un problème connu dans la version 2.4.0.
  • bin/magento setup:di:compile ne renvoie plus d’erreur fatale. Auparavant, l’application entraînait une erreur la première fois que vous exécutiez cette commande, mais la deuxième exécution générait une compilation réussie.
  • La mise à niveau n’échoue plus lorsqu’un module externe est déclaré le Magento\Framework\Encryption\Encryptor.
  • L’application affiche désormais un message d’erreur informatif lorsque certains thèmes ne sont pas déployés après l’exécution de bin/magento setup:static-content:deploy. Auparavant, une fois le déploiement terminé avec succès mais que tous les modules n’étaient pas déployés, l’application n’affichait pas d’erreur. Lorsque cette commande est exécutée avec un traitement parallèle activé et que chaque thème nécessite plus de temps pour être déployé, puis le temps d’exécution maximal spécifié, cette commande peut se terminer avec succès, bien que les thèmes ne soient pas déployés.
  • La case à cocher Utiliser la valeur par défaut pour les paiements en larna (Magasins > Configuration > Ventes > Méthodes de paiement > Klarna) reste désormais cochée comme prévu lorsque la portée du site web change.
  • L’exécution de /bin/magento config:show vendor_module/general/value renvoie désormais 0 ou une chaîne vide comme prévu. Auparavant, il renvoyait Configuration for path: "vendor_module/general/value" doesn't exist. Correctif soumis par Vadim Malesh dans la demande d'extraction 28549. GitHub-23290
  • La mise à niveau n’entraîne plus l’échec soudain de la grappe Galera. Auparavant, la grappe Galera se quittait brusquement après réindexation immédiatement après la mise à niveau. Lors d’une mise à niveau, les tables d’index sont modifiées et le moteur passe de MEMORY à InnoDB. À ce stade, le contenu de ces tables est devenu désynchronisé entre les noeuds de la grappe Galera. GitHub-25334
  • La désactivation du module PageBuilder n’affecte plus le rendu de la page du produit. Auparavant, les mises en page personnalisées sur la page de produit disparaissaient lorsque le module était désactivé et l’application affichait une page vierge.
  • Vous pouvez désormais utiliser bin/magento sampledata:deploy pour déployer des exemples de données comme prévu après l’installation d’Adobe Commerce à l’aide du compositeur. Auparavant, l’application générait cette erreur : Git installations must deploy sample data from GitHub; see https://experienceleague.adobe.com/fr/docs/commerce-operations/installation-guide/next-steps/sample-data/git-repositories for more information. Correctif soumis par Andrii Beziazychnyi dans la demande d'extraction 27481. GitHub-19481
  • Les performances de Storefront ont été améliorées en éliminant le chargement inutile du composant Datepicker. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27860. GitHub-28823
  • L’exécution bin/magento setup:upgrade se termine comme prévu. Auparavant, l’application affichait le contenu imprimé du tableau pour les caches. Correctif soumis par Sathish Subramanian dans la demande d'extraction 27567. GitHub-27091
  • bin/magento setup:static-content:deploy --language=all déploie désormais toutes les langues utilisées sur le storefront et toutes les langues configurées par les utilisateurs administrateurs lorsqu’aucun paramètre de langue n’est défini. (en_US est toujours déployé par défaut.) Correctif soumis par Anton Evers dans la demande d'extraction 28922. GitHub-29218
  • L’application n’affiche plus le menu Sauvegarde lorsque la fonction Sauvegarde est désactivée. Correctif soumis par Eden Duong dans la demande d'extraction 29222. GitHub-29280
  • L’initialisation de l’assistant d’image de catalogue utilise désormais le modèle de produit au lieu de DataObject. Correctif soumis par jmonteros422 dans la demande d’extraction 29435. GitHub-1711
  • Les utilisateurs administrateurs peuvent désormais enregistrer un champ Durée de vie du jeton client (heures) vide (Admin Magasins > Configurations > Services > OAuth > Expiration du jeton d’accès). GitHub-29502
  • Le paramètre Créer une redirection permanente pour l’ancienne URL est désormais désactivé par défaut pour les catégories. Correctif soumis par Vadim Malesh dans la demande d'extraction 28752. GitHub-24922

AdminGWS

  • L’application n’affiche plus le bouton Ajouter un attribut (Magasins > Attributs ou Ajouter un jeu d’attributs ) (Magasins > Attributs > Client) lorsque l’administrateur connecté ne dispose pas des autorisations appropriées pour créer ces entités. Auparavant, l’application générait une erreur 404 lorsqu’un administrateur de site web qui ne disposait pas des autorisations appropriées tentait de créer un attribut Attribute Set ou Customer.
  • L’application ne renvoie plus d’erreur lorsqu’un administrateur avec des rôles restreints pour des sites web spécifiques tente de créer une sous-catégorie à partir de l’administrateur.

Intégration Adobe Stock

  • Les images de la grille Adobe Stock images sont désormais correctement alignées une fois les filtres effacés. Correctif envoyé par Nazar Klovanych dans la demande de tirage 28366. GitHub-824, GitHub-972
  • La section Utilisée dans de la page de détails des images de la galerie Adobe Stock identifie désormais précisément si l’image est associée à un produit. Correctif soumis par Nazar Klovanych dans la demande d'extraction 28798. GitHub-1474
  • \Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute supprime désormais les liens vers les mots-clés qui ne sont pas spécifiés dans les paramètres et ajoute les nouveaux liens lors de la suppression des balises de mots-clés lors de la modification des détails de l’image. Correctif soumis par jmonteros422 dans la demande d’extraction 29207. GitHub-1391
  • Le message Login failed qui s’affiche lorsqu’un commerçant clique sur Licence pour une image Adobe Stock précédemment enregistrée et sans licence ne contient plus de balises d’HTML. Correctif soumis par les yolouis dans la demande d'extraction 29398. GitHub-1684
  • Cliquer sur les liens de la section Utilisé(e) dans de la page Détails de l’image affiche désormais une grille qui affiche toutes les entités qui sont filtrées par l’image. Le filtre de ressource est également défini et affiché correctement. Auparavant, l’application n’affichait pas le titre du fichier dans la section Filtres appliqués . Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1694
  • L’application n’affiche plus la section Utilisé dans de la page Détails de l’image lorsque l’image n’est pas utilisée. Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1699
  • Correction de problèmes d’affichage lors de l’ajout d’une nouvelle balise d’image qui dépasse le nombre maximal de caractères. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29367. GitHub-1702
  • Assets peut maintenant être vérifiée comme prévu à l’aide du filtre des ressources dans la section Détails de l’image Utilisé dans . Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1704
  • Les informations sur les images utilisées par différentes entités (par exemple, page et category) sont maintenant répertoriées corrigées dans la page Détails de l’image. Correctif envoyé par Nazar Klovanych dans la demande de tirage 29367. GitHub-1747
  • Vous pouvez désormais utiliser le nouveau UrlFilterApplier composant pour appliquer des filtres sur les produitscms_page et cms_block les grilles à l’aide du paramètre d’URL GET. Correctif envoyé par Gabriel da Gama dans la demande de tirage 28932. GitHub-1501
  • Cliquer sur les liens de la section Utilisé(e) dans pour une image dans la galerie multimédia ouvre désormais la grille des entités qui sont filtrées par l’image comme prévu. Auparavant, le titre de l’image ne s’affichait pas dans la section des filtres appliqués de la grille. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29429. GitHub-1694
  • L’application ajoute désormais correctement des balises lorsque vous modifiez plusieurs images successivement dans la galerie de médias. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29429. GitHub-1755
  • L’application supprime désormais les balises des images Adobe Stock lorsqu’un commerçant supprime les balises et enregistre les détails de l’image. Auparavant, les balises n’étaient pas supprimées tant que la page n’était pas actualisée. Correctif soumis par Honeymay Louiese Ignacio dans la demande d'extraction 29400. GitHub-1703

Amazon Pay

  • Amazon Pay vérifie maintenant si un utilisateur est déjà connecté avant de rendre les options de paiement.

  • Les problèmes liés à l’authentification multifacteur et aux paniers abandonnés ont été résolus.

  • Amazon Pay remplit désormais correctement les dans les store name e-mails et autres emplacements affichés.Si le champ Nom du magasin dans Amazon configuration Pay est vide, l’extension récupère le nom par défaut du magasin (c’est-à-dire le nom que vous donnez à votre magasin dans l’administration).

  • Les problèmes de localisation/traduction pour les scénarios de déclin ont été résolus.Le texte affiché n’est plus toujours en anglais.

Analytics

  • Les administrateurs disposant des autorisations appropriées peuvent désormais accéder aux rapports de segments et de création de rapports avancés.
  • Adobe Commerce génère correctement des fichiers de données de rapport avancés et les envoie comme prévu à l’option Inventaire sur les déploiements avec bases de données partagées. Auparavant, l’application ne générait pas ou n’envoyait pas le fichier quotes.csv à Inventory, ce qui faisait que Inventory ne générait pas les rapports attendus.

Braintree

  • Braintree envoie désormais le montant correct à PayPal lorsqu’un code promotionnel est appliqué sur la page de paiement.

  • Le paiement Apple fonctionne désormais comme prévu lorsque les conditions générales sont activées sur la page de passage en caisse.

  • Les erreurs de navigateur ne se produisent plus pendant l’extraction sur les ordinateurs de bureau lorsque Venmo est activé à partir de l’administrateur.

  • L’extraction n’échoue plus lorsque l’acheteur saisit des caractères spéciaux dans les champs Nom du workflow de passage en caisse. Auparavant, l’authentification échouait, car l’API 3DS du Braintree ne prenait pas en charge les caractères non-ASCII.

  • L’application affiche désormais le nom de destinataire correct dans la section d’expédition du workflow de passage en caisse lors du placement d’une commande à l’aide de PayPal.

  • L’application met désormais à jour la page de vérification des commandes comme prévu lorsqu’un acheteur modifie plusieurs fois la méthode d’expédition au cours du passage en caisse.

Produits groupés

  • L’application ne lève plus d’exception lorsque vous essayez de créer un produit dans un déploiement dans lequel Inventory est installé mais le Magento_InventoryBundleProduct module est désactivé.
  • L’application calcule désormais correctement les remboursements hors ligne pour les commandes contenant des produits groupés.
  • Le mini-panier affiche désormais les prix corrects pour les produits groupés lorsque des prix de niveau sont également attribués pour des produits simples. GitHub-22807
  • Les vendeurs peuvent désormais créer une note de crédit pour les produits groupés qui offrent un remboursement sans exiger le retour du produit. Auparavant, l’application entraînait une erreur. Correctif soumis par Dzung Nguyen dans la demande d'extraction 27455. GitHub-23440
  • L’application n’affiche plus de messages de validation redondants lorsqu’un acheteur ajoute un produit groupé à son panier sans sélectionner une option requise. Correctif soumis par Dzung Nguyen dans la demande d'extraction 27455. GitHub-23440
  • GraphQL prend désormais en charge le placement d’une commande pour un produit groupé avec le type d’option radio et dropdown avec plusieurs choix. Auparavant, l’application affichait un message concernant une entrée non valide pour BundleItem.type: radio/dropdown. Correctif soumis par Michał Derlatka dans la demande d'extraction 29256. GitHub-26110

Cache

  • Le stockage du cache local est maintenant conservé pendant la période définie dans Magasins > Configuration > Général > Web > Paramètres du cookie par défaut. Auparavant, la date d’expiration des cookies était codée en dur sur un jour, ce qui la désynchronisait de ce paramètre. Par conséquent, les messages de bienvenue ne conservaient pas les informations sur les clients renvoyés pendant la durée attendue.
  • Le nombre d’appels au cache config de page a été réduit. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 28992. GitHub-29159
  • Le vernis ne renvoie plus d’erreur Connection reset by peer lorsqu’un catalogue volumineux est réindexé selon le calendrier. Correctif soumis par Matthew O'Loughlin dans la demande d'extraction 26256. GitHub-26255
  • Le cache de la page entière n’est plus effacé pour les produits non liés lorsqu’un produit a été modifié dans l’administration. GitHub-25670

Panier et passage en caisse

  • Les requêtes SQL directes ont été remplacées par le fournisseur de données, ce qui a amélioré les performances d’extraction. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 29376. GitHub-29453
  • Les listes Produits dans la comparaison et Produits récemment comparés fonctionnent désormais comme prévu. Auparavant, lorsque la liste de comparaison était élargie, l’application n’affichait pas les produits, même si la section indiquait que la liste contenait des produits.
  • Le bouton Supprimer de la section Ajouter au panier par SKU de la page Gérer le panier d’achat d’un client fonctionne désormais comme prévu lorsque plusieurs lignes sont sélectionnées.
  • L’application ne renvoie plus d’erreur lorsque vous essayez de commander un produit par SKU lorsque les chiffres que vous entrez correspondent à un SKU valide, mais la casse de ces chiffres diffère. Auparavant, lorsque vous saisissiez un SKU sur Mon compte > commande par SKU qui ne correspondait pas exactement à un SKU valide, l’application générait une erreur.
  • L’adresse de livraison d’un client est désormais sélectionnée par défaut lors du paiement lorsque l’adresse est située dans le pays identifié dans la liste Pays autorisés et que cette liste inclut uniquement ce pays. Auparavant, l’application ne sélectionnait pas l’adresse par défaut et affichait ce message d’erreur : Please specify a regionId in shipping address.
  • Les commerçants peuvent désormais activer l’option Appliquer au montant d’expédition dans l’onglet Action de Marketing > Règles de prix du panier > Ajouter une nouvelle règle lorsque l’option Remise à montant fixe pour le panier entier est appliquée. GitHub-24422
  • L’application ne renvoie plus d’exception lorsqu’un acheteur tente de dédéfinir le cookie de persistance après le début du passage en caisse, puis lorsqu’il accède à la page d’accueil du storefront. Auparavant, lorsque l’acheteur cliquait sur le bouton Pas vous ? sur la page d’accueil, l’application a généré cette exception : The shipping address is missing. Set the address and try again. GitHub-24218
  • L’application affiche désormais un message de réussite de ajouts au panier lorsqu’un client ajoute un produit en rupture de stock à son panier. Auparavant, le produit était ajouté, mais l’application n’affichait pas de message de réussite.
  • Les attributs d’adresse personnalisés sont maintenant inclus comme prévu dans le formulaire qui s’affiche pour l’étape de paiement dans le processus de paiement.
  • La zone de saisie État/Province/Région est maintenant activée, comme prévu, sur Mon compte > Carnet d’adresses > Ajouter une nouvelle adresse.
  • Des remises sont maintenant appliquées comme prévu aux frais d’expédition lorsque Appliquer au montant d’expédition est activé. Correctif soumis par Andrii Kalinich dans la demande d'extraction 28839. GitHub-26723
  • Le code qui prend en charge la fermeture du mini-panier a été refactorisé pour supprimer la closeSidebar fonction. La liaison de clic appropriée a été ajoutée à l’élément [data-action="close"] . Correctif envoyé par lumnn dans la demande de tirage 28906. GitHub-29161
  • Le nouveau bouton Afficher « Effacer le panier » sur le paramètre de configuration de la page du panier permet de contrôler l’affichage d’un bouton Effacer le panier sur la page d’affichage du panier. Par défaut, ce paramètre est désactivé. Correctif envoyé par Pavlo Sydorenko dans la demande de tirage 27917. GitHub-28705
  • La validation a été ajoutée au champ de téléphone dans le processus de passage en caisse. Correctif envoyé par Oleh Usik dans la demande de tirage 27537. GitHub-28800
  • Le passage en caisse invité est désormais désactivé comme prévu lorsqu’un panier contient des produits téléchargeables lorsque les paramètres Paiement partageable et Désactiver le paiement invité si le panier contient des éléments téléchargeables sont désactivés. Correctif envoyé par Rani Priya dans la demande de tirage 23972. GitHub-23971
  • Le message de réussite que l’application affiche lorsqu’un acheteur ajoute un produit à son panier à partir de la barre latérale du compte client contient désormais un lien vers le panier de l’acheteur. Correctif envoyé par Ajith dans la demande de tirage 27977. GitHub-29097
  • L’application sélectionne désormais par défaut une valeur vide pour le menu des options de liste déroulante des préfixes dans le workflow de passage en caisse. Correctif soumis par Vadim Malesh dans la demande d'extraction 28238. GitHub-18823
  • Le message contextuel qui s’affiche lorsque vous supprimez plusieurs articles d’un panier décrit désormais précisément le nombre et le type d’entités que vous avez sélectionnées pour suppression. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29490. GitHub-1749
  • L’application affiche désormais un formulaire d’enregistrement du client lorsqu’un utilisateur invité termine le passage en caisse.
  • Les champs d’attributs d’adresse client personnalisés s’affichent désormais comme prévu dans le workflow de passage en caisse du storefront.
  • L’application récupère désormais le groupe de clients actuel pour un devis actif lors du passage en caisse. Auparavant, l’application utilisait le groupe de clients actif lors de l’ajout initial du produit au panier. Si ce groupe était supprimé avant le passage en caisse, l’application générait une erreur. Correctif soumis par Konstantin dans la demande d'extraction 28902. GitHub-29327

Catalogue

  • L’application supprime désormais les produits désactivés du panier d’un acheteur avant le paiement. Auparavant, lorsqu’un acheteur ajoutait un produit à son panier qui était désactivé avant la fin du passage en caisse, l’application supprimait le produit désactivé du panier, mais le produit restait dans la citation et l’acheteur ne pouvait pas l’extraire. GitHub-26680
  • L’application trie désormais les produits à succès comme prévu. Auparavant, le nombre de produits et la pagination des résultats de tri étaient incorrects. GitHub-25955
  • Les acheteurs peuvent désormais ouvrir la page des détails d’un produit en cliquant sur le nom du produit dans la barre latérale de comparaison des produits. Correctif soumis par Eduard Chitoraga dans la demande d'extraction 27451. GitHub-21101
  • Les valeurs children_count restent désormais positives lorsqu’un administrateur supprime des catégories. Auparavant, lorsqu’un administrateur supprimait des catégories, le children_count des catégories restantes était négatif. Correctif soumis par Vitali Prokopov dans la demande d'extraction 28044. GitHub-27969
  • L’application utilise désormais l’option par défaut (Configuration > Web > Disposition par défaut > Disposition de produit par défaut) que vous avez sélectionnée pour l’attribut page_layout lors de la création d’un nouveau produit. Auparavant, la valeur par défaut sélectionnée n’était pas appliquée.
  • Vous pouvez désormais effectuer des actions de masse avec succès sur le stock de produits d’inventaire. Auparavant, lorsque vous tentiez d’effectuer une action de masse sur le stock de produits en stock, l’application affichait une page blanche. Si vous avez effectué cette action avec l’application en mode développeur, l’application a généré cette erreur : Notice: Undefined offset: 32000 in /Users/kodithuw/sites/m23inventory/inventory/InventoryCatalogAdminUi/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml on line 24
  • Le nombre total d’enregistrements affiché lorsque vous cliquez sur Ajouter des produits dans l’onglet Produits lors de l’ajout de produits à une catégorie de catalogue ne change plus en fonction de l’ordre de tri des produits.
  • La requête {products(filter: {sku: {eq: "some sku"}}) {…} renvoie désormais les valeurs qui ont été converties dans la devise attendue. Auparavant, price_tiers.final_price.value affichait des prix spéciaux dans la devise de base. Correctif soumis par Petkovski Marjan dans la demande d'extraction 28890. GitHub-26121

Règle de catalogue

  • L’application ne renvoie plus d’erreur fatale lorsque vous enregistrez une règle de catalogue avec les conditions suivantes : If ALL of these conditions are FALSE:, If ALL of these conditions are TRUE:, Attribute set is default

Nettoyage

  • Correction d’un désalignement de la case de la grille Commande client d’administration. Correctif soumis par Tu Nguyen dans la demande d'extraction 27642. GitHub-27633
  • Correction d’une faute d’orthographe dans le gestionnaire d’enregistrement de l’adresse de livraison dans le getter d’ID d’adresse de livraison. Correctif soumis par Konstantin dans la demande d'extraction 28810. GitHub-28982
  • Correction du nom de la méthode getRegionNameExpresion sur getRegionNameExpression. Correctif soumis par Pierre Grimaud dans la demande d'extraction 28832. GitHub-28829
  • Une méthode init redondante a été supprimée de app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.php et app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php. Correctif envoyé par Oleh Usik dans la demande de tirage 28650. GitHub-29009
  • localStorage polyfill a été déplacé de base à frontend. Correctif envoyé par Ihor Sviziev dans la demande de tirage 28749. GitHub-28900
  • Mise à jour du logo Adobe Commerce et suppression des espaces superflus du fichier README. Correctif soumis par Rafael Corr̻ êa Gomes dans la demande d'extraction 28891. GitHub-29056
  • La classe overflowed inutile a été supprimée du widget de la barre latérale du mini panier. Correctif soumis par lumnn dans la demande d’extraction 28963. GitHub-29160
  • Un sélecteur CSS incorrect dans la page Expédition a été corrigé. Correctif soumis par Tu Nguyen dans la demande d'extraction 28639. GitHub-29261
  • Le fichier lib/internal/Magento/Framework/App/Request/Http.php a été simplifié en optimisant la logique et en supprimant les affectations de variables redondantes et la surutilisation des retours dans une fonction. Correctif envoyé par Chris Snedaker dans la demande de tirage 28608. GitHub-29381
  • La commande bin/magento module:status accepte désormais plusieurs noms de module en tant qu’arguments. Correctif envoyé par Chandru Rajendran dans la demande d’extraction 28250. GitHub-29344
  • Correction d’une faute de frappe dans la description de classe de \Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable. Correctif soumis par Benjamin Rosenberger dans la demande d’extraction 29451. GitHub-29470
  • La classe TierPriceManagement a été restructurée pour supprimer le code redondant. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 29202. GitHub-29477
  • autoload.php a été remanié afin d’améliorer la lisibilité et la vitesse de renvoi. Correctif envoyé par Vitaliy Ryaboy dans la demande de tirage 28923. GitHub-29527

Contenu CMS

  • L’onglet Hiérarchie d’une vue de magasin par défaut sélectionnée affiche désormais la page parente sélectionnée comme prévu.
  • L’application ne renvoie plus d’erreur lors de la création de la vue de magasin lorsque la nouvelle vue de magasin contient une page CMS avec la même clé d’URL qu’une page dans une autre vue de magasin. Correctif soumis par Vadim Malesh dans la demande d'extraction 28421. GitHub-28357
  • L’application renvoie désormais une erreur lorsqu’un commerçant crée une page CMS avec la même URL que la page Structure de l’entreprise. Auparavant, l’application affichait la page CMS au lieu de la page Structure de l’entreprise .

Produits configurables

  • Les problèmes de pagination avec la liste des variations actuelles de modification de produit configurables ont été corrigés.
  • L’application ne met plus à jour la case de prix des produits associés chaque fois qu’un acheteur sélectionne des options pour un produit configurable. Auparavant, l’application mettait à jour la zone de prix chaque fois qu’un acheteur sélectionnait une option pour un produit configurable.
  • L’application affiche désormais le prix correct pour les produits configurables avec des options personnalisables sur la page Admin Créer une commande . Comme prévu, le prix affiché est la somme du prix du produit enfant et du prix de l’option personnalisée. Auparavant, l’application affichait uniquement le prix de l’option personnalisée. GitHub-25766
  • Le récapitulatif de la commande affiche désormais le montant de remise correct lorsqu’une règle de prix de panier a été appliquée. Auparavant, la règle n’arrondissait pas correctement les montants lors du calcul des remises d’expédition.
  • Les comptes d’utilisateurs administrateurs créés à partir d’un compte administrateur avec une portée limitée peuvent désormais créer un produit configurable avec des attributs comme prévu. Auparavant, l’application générait cette erreur : Notice: Undefined index: value_index in 23develop/app/code/Magento/ConfigurableProduct/Helper/Product/Options/Factory.php on line 101.
  • L’application ne renvoie plus d’erreur de validation lorsque vous utilisez POST /V1/products pour un produit configurable avec une valeur int de 0. Auparavant, l’application générait cette erreur : Product with id "%1" does not contain required attribute "%2"." Correctif soumis par Vadim Malesh dans la demande d’extraction 29001. GitHub-13210
  • L’attribut des options de configuration d’un produit parent n’est plus affecté à un nouvel attribut size d’un produit configurable. Correctif soumis par Abel Truong dans la demande d'extraction 27339. GitHub-26449

Cookies

  • L’application crée désormais un maximum d’un mage-translation-file-version cookie par mage-translation-storage session. Correctif envoyé par Ihor Sviziev dans la demande de tirage 27364. GitHub-27355

cron

  • La configuration des consommateurs de la file d’attente des messages a été étendue avec de nouveaux paramètres qui aident à contrôler les consommateurs et à économiser les ressources du serveur, ce qui peut réduire la consommation du processeur de la file d’attente des consommateurs. Voir Configuration des files d’attente de messages pour obtenir une description des paramètres maxIdleTime, sleep et onlySpawnWhenMessageAvailable.
  • Expressions cron telles que 3/10 * * * * sont désormais planifiés comme prévu. Correctif soumis par Anton Evers dans la demande d’extraction 28930. GitHub-29240
  • sales_clean_quotes ne charge plus tous les guillemets expirés à la fois. Auparavant, l’application échouait avec cette erreur fatale car tous les guillemets expirés étaient chargés simultanément : PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /path/to/magento2/vendor/magento/framework/Model/AbstractModel.php on line 359,

CSS

  • L’application ne duplique plus CSS lorsque CSS critique est activé. Correctif soumis par Tu Nguyen dans la demande d'extraction 28480. GitHub-26498
  • Le compilateur LESS côté serveur importe désormais tous les fichiers CSS distants comme prévu lorsque vous exécutez bin/magento setup:static-content:deploy -f. Auparavant, l’application n’importait pas les fichiers distants et générait une erreur. GitHub-25119

Attributs client personnalisés

  • Correction de problèmes d’alignement du texte explicatif sur les mots de passe et du champ Titre du poste sur la page Modifier les informations du compte client.
  • CAPTCHA fonctionne désormais comme prévu lorsqu’un nouveau client clique sur le bouton Créer un compte sur la page d’enregistrement des clients de la vitrine. Auparavant, l’application ne créait pas le compte client et affichait une erreur lorsque le client cliquait sur le bouton.
  • Le processus de paiement n’affiche plus les valeurs d’attribut d’adresse client personnalisées lorsque le client n’a saisi aucune donnée.

Client

  • Les noms de région figurant dans les adresses des clients administrateurs sont maintenant traduits comme prévu.
  • Les champs État/Province sont maintenant remplis comme prévu sur la page Modifier l’adresse (Mon compte > Carnet d’adresses).
  • L’application ne renvoie plus d’erreur lorsqu’un client clique plusieurs fois sur le bouton Envoyer sur les formulaires de la vitrine pour lesquels reCAPTCHA invisible a été activé. Auparavant, le fait de cliquer plusieurs fois sur ce bouton entraînait une erreur interne similaire à celle-ci : Internal error: Make sure you are using reCaptcha V3 api keys.
  • L’enregistrement d’un client supprimé auprès de l’administrateur génère désormais un message d’erreur uniquement. Auparavant, l’application affichait une page vierge et générait un rapport contenant cette chaîne : "0":"No such entity with customerId = 3","1":"#1 Magento\\Customer\\Model CustomerRegistry->retrieve() called at [app\/code\/Magento\/Customer\/Model\/ResourceModel\/CustomerRepository.php:340".
  • L’application affiche désormais un message d’erreur comme prévu lorsqu’un administrateur tente d’enregistrer une adresse pour un client dont le compte vient d’être supprimé. Auparavant, l’application affichait une boîte de message vide.
  • Les étiquettes des champs d’adresse dans le processus de paiement et le carnet d’adresses ont été modifiées pour plus de cohérence.
  • Les libellés front-end reviennent désormais aux libellés de magasin si leurs valeurs ne sont pas nulles. Auparavant, les attributs du client utilisaient les étiquettes frontales par défaut. Correctif soumis par Toan Nguyen dans la demande d'extraction 27064. GitHub-27063
  • Le nombre sortOrder de liens dans le XML de mise en page a été corrigé. Auparavant, cet ordre était inversé et l’ordre décroissant était utilisé. Correctif soumis par Tu Nguyen dans la demande d'extraction 27340. GitHub-27162

Segment de clients

  • Les opérations en bloc ont été restructurées pour enregistrer et actualiser les segments de clients de manière asynchrone, ce qui a amélioré les performances de ces tâches pour les déploiements qui incluent de nombreux clients (supérieurs à 3 000 000).
  • Les conditions de segment du client fonctionnent désormais comme prévu dans un déploiement de base de données partagée. Auparavant, l’application générait une erreur lorsque vous tentiez de modifier un segment de clients en ajoutant une condition : SQLSTATE[42S02]: Base table or view not found.

Répertoire

  • Le format du menu déroulant État/Province est maintenant cohérent dans l’ensemble de l’administration.

dotdigital

  • La synchronisation des commandes n’échoue plus lorsqu’une commande contient des SKU de produit qui n’existent plus dans le catalogue.

  • Les catégories de produits vides ne sont plus incluses dans les données statistiques web.

  • Le suivi du comportement web fonctionne désormais pour les marchands avec certaines configurations de thème. Un nouveau sélecteur de secours résout ce problème.

  • Le champ de données d’état des abonnés n’inclut plus de valeurs vides lorsque la synchronisation du client a été exécutée à l’aide de cron. (L’émulation d’application résout ce problème.)

  • Le mappage du carnet d’adresses fonctionne désormais comme prévu lorsqu’un compte dotdigital est activé au niveau par défaut, mais désactivé pour le site web principal.

  • Des coupons sont maintenant générés (à l’aide de l’URL de contenu dynamique externe pour la génération de coupons) pour les adresses e-mail qui contiennent des signes plus ('+').

  • Les contacts ne sont plus réinscrits lorsque leur last_subscribed_at valeur est nulle.

  • Les erreurs de mise à jour (datant de 4.5.2) qui affectaient les versions antérieures ont été résolues.

  • Correction d’un problème de régression introduit dans la version 4.5.3, qui affectait l’utilisation d’une méthode pour obtenir le statut d’abonné lors de la préparation de l’exportation d’abonnés.

  • Le chiffre total des abonnés synchronisés (présenté dans les journaux et à l’écran) est désormais correctement calculé.

Téléchargeable

  • La zone Mes produits téléchargeables affiche désormais des liens vers les produits téléchargeables achetés qui font partie d’un produit groupé comme prévu.
  • Cliquer sur le bouton Sample d’un produit téléchargeable sur la page Admin product télécharge télécharge désormais un exemple comme prévu. Auparavant, lorsque vous cliquiez sur Sample, l’application affichait cette erreur : The product that was requested doesn't exist. Verify the product and try again.
  • Les acheteurs peuvent désormais télécharger des exemples de produits téléchargeables en rupture de stock. Auparavant, lorsqu’un acheteur tentait de télécharger un exemple, l’application ouvrait un nouvel onglet, sans afficher de message informatif ni lancer le processus de téléchargement. Correctif soumis par Vadim Malesh dans la demande d'extraction 28898. GitHub-23638
  • Le message d’exception affiché par l’application lorsqu’un acheteur tente de définir une adresse de livraison pour un produit téléchargeable a été amélioré. Correctif soumis par Michał Derlatka dans la demande d'extraction 28904. GitHub-26107
  • Les données d’un stock_item produit sont mises à jour et les liens et échantillons de produits téléchargeables sont conservés comme prévu lorsque vous utilisez un appel de PUT REST pour mettre à jour stock_item les valeurs. Auparavant, après la mise à jour du produit, le produit ne contenait plus de liens pour télécharger du contenu. Correctif soumis par Vadim Malesh dans la demande d'extraction 28799. GitHub-21811
  • L’application affiche désormais un message plus informatif lorsqu’un client définit l’adresse de livraison pour une commande contenant uniquement des produits téléchargeables.

Bloc dynamique (anciennement bannière)

  • Le titre du tableau correspond désormais au tableau de données (comme prévu) lorsque vous créez un bloc dynamique et ajoutez une règle de prix de catalogue associée.

Email

  • L’application envoie désormais des notifications par e-mail sur les modifications de commande au message client approprié si le message électronique du client a été modifié après la création de la commande.
  • Les emails de mise à jour de commande envoyés aux clients incluent désormais le bon état de commande. Auparavant, si l’état d’une commande passait de processing à un autre état, l’email de commande ne reflétait pas le changement d’état.
  • L’application n’affiche plus de messages trompeurs concernant les comptes existants lors du passage en caisse des invités. Auparavant, lorsqu’un invité accédait à la page de passage en caisse, puis revenait à la page d’expédition, l’application affichait cette erreur : You already have an account with us. Sign in or continue as guest.
  • Les modèles de courrier électronique personnalisés chargent désormais les mêmes éléments que les modèles de courrier électronique natifs par défaut. Auparavant, certains éléments étaient manquants, y compris les valeurs de variable.
  • Vous pouvez maintenant créer un modèle de courrier électronique qui envoie du courrier électronique avec Content-Type: "text/plain". Auparavant, l’application ignorait le type de contenu spécifié dans le modèle. Correctif soumis par twoonesixdigital dans la demande d’extraction 26474. GitHub-26471
  • Une page CSS superflue a été supprimée du modèle Email Preview. Correctif soumis par Tu Nguyen dans la demande d'extraction 27828. GitHub-27543
  • Le texte du modèle d'email qui duplique le texte déjà affiché par le pied de page a été supprimé. Correctif soumis par Paweł Tylek dans la demande d'extraction 27356. GitHub-28433
  • Les emails d’alerte de produit sont désormais envoyés à partir du magasin auquel l’alerte est abonnée. Auparavant, cet email était toujours envoyé à partir du magasin par défaut. Correctif soumis par Maciej Pawłowski dans la demande d'extraction 26534. GitHub-28968
  • Une variable customer.name en double a été supprimée du modèle de courrier électronique. Correctif soumis par Paweł Tylek dans la demande d'extraction 29054. GitHub-29087
  • Les e-mails de notification envoyés aux représentants commerciaux affectés à une entreprise incluent désormais le logo d’entreprise affecté. Auparavant, l’e-mail de notification incluait le logo LUMA par défaut, et non l’e-mail du logo d’entreprise chargé.

Frameworks

  • Le champ Heure de la journée pour envoyer des données de la page Admin Magasins > Configuration > GÉNÉRAL > Création de rapports avancés est désormais correctement rendu.
  • Les acheteurs peuvent désormais modifier le nombre de commandes affichées par page lorsque la liste Commandes s’étend sur plusieurs pages. Auparavant, l’application affichait ce message lorsque vous accédiez à la dernière page des commandes et que vous tentiez de modifier le nombre de commandes affichées par page : You have placed no orders. Il s’agissait d’un problème connu pour la version 2.4.0.
  • Vous pouvez désormais ajouter des produits à une catégorie lors de l’implémentation du cache de niveau 2.
  • Les en-têtes X-Magento-Tags ne dépassent plus la taille autorisée par la spécification HTTP. Auparavant, les pages de catégorie contenant de nombreux produits renvoyaient un en-tête X-Magento-Tag qui générait une erreur 503.
  • sales_order_shipment_track_save_commit_after est maintenant déclenché comme prévu lorsque vous avez utilisé l’API REST pour créer une envoi.
  • L’application affiche désormais un message d’erreur informatif lorsqu’un di compile échoue en raison d’une dépendance inexistante. Auparavant, le message affiché n’identifiait pas la classe dans laquelle l’exception s’était produite.
  • L’application ne renvoie plus l’erreur fatale suivante lorsque Redis utilise toute la mémoire autorisée : report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'.
  • Les acheteurs peuvent désormais ajouter plusieurs produits à leur panier lorsque le Persistent module est désactivé. GitHub-14486

Correctifs généraux

  • Le tri des produits sur l’administrateur (Magasins > Attributs > Produits) affiche désormais tous les produits qui répondent aux critères de recherche. Auparavant, l’application n’affichait pas les enregistrements, et pour trier les enregistrements, vous deviez naviguer jusqu’à la première page des résultats de recherche.
  • Les guillemets inutiles et l’échappement autour d’une URL dans tracking.phtml ont été supprimés.
  • Le var/log/system.log affiche désormais un message plus précis lorsqu’un utilisateur tente d’accéder à un fichier de ressources non existant sous le répertoire statique et que SCD OnDemand et que le mode de production sont activés. L’application consigne désormais une erreur 404. Auparavant, l’application consignait le même message consigné lorsque l’erreur se produisait en mode développeur.
  • JavaScript la minimisation fonctionne désormais correctement. Le résolveur de fichier de minification ne perd plus de variables dans la portée globale. Auparavant, ctx, origNameToUrlet baseUrl les variables sous window étaient divulguées. Correctif envoyé par Mateusz Krzeszowiak dans la demande de tirage 27622. GitHub-28110
  • Lorsque vous déboguez une erreur qui empêche la création de l’objet, l’application imprime désormais et consigne le message d’exception d’origine. Auparavant, le message était uniquement consigné. Correctif soumis par Marvin Hinz dans la demande d'extraction 26572. GitHub-26550
  • L’exécution des rappels après validation des modifications de la base de données a été améliorée. Auparavant, si un rappel échouait avec une exception, tous les rappels échouaient. Correctif soumis par Alok Patel dans la demande d’extraction 27134. GitHub-28167
  • Les mixins pour les modules sans dépendances définies ne renvoient plus cette erreur : TypeError: Cannot read property 'map' of null. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27690. GitHub-28340
  • Le polyfill de stockage est désormais chargé et appliqué uniquement lorsque localStorage ou sessionStorage ne sont pas disponibles. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27619. GitHub-28381
  • Les listes de commandes de storefront de plusieurs pages se comportent désormais comme prévu lorsqu’un acheteur modifie le nombre de résultats affichés par page à partir de la deuxième page de résultats ou de la page de résultats suivante. Auparavant, l’application affichait cette erreur lorsqu’un acheteur modifiait le nombre de résultats de recherche affichés dans la liste Mon compte > Mes commandes : You have placed no orders. Correctif soumis par Vadim Malesh dans la demande d'extraction 28417. GitHub-28488
  • La méthode addWarning obsolète a été remplacée par la méthode addWarningMessage dans le module de sécurité. Correctif soumis par kishorekumarkesavan dans la demande d'extraction 28264. GitHub-28308
  • Le code généré à l’aide des commandes de ligne de commande bin/magento est désormais conforme aux exigences et aux normes de codage. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 28351. GitHub-28376
  • L’application n’affiche plus une page CMS plusieurs fois dans la hiérarchie du site si la page est affectée à plusieurs vues de magasin.
  • L’enregistrement d’un attribut avec backend_type = static ne supprime plus le frontend_class contenu du champ. Correctif soumis par jiten-patel dans la demande d’extraction 27369. GitHub-27051
  • Code inutile et responsive.js ont été supprimés des fichiers chargés par thèmes. Correctif envoyé par Mateusz Krzeszowiak dans la demande de tirage 27617. GitHub-28811
  • La validation a été ajoutée au champ Nombre de symboles sur la page de configuration d’Admin CAPTCHA. Correctif envoyé par Eden Duong dans la demande de tirage 29199. GitHub-29198
  • Le flux RSS se charge désormais correctement. Auparavant, le flux ne se chargeait pas la première fois, bien qu’il se chargeait comme prévu lors de l’actualisation de la page. Correctif soumis par Vadim Malesh dans la demande d'extraction 29455. GitHub-25211
  • Une session persistante expirée est maintenant renouvelée comme prévu lorsque l’acheteur se reconnecte.
  • La durée de vie du mot de passe comme défini dans Magasins > Configuration > Avancé > Admin est désormais respectée. Auparavant, si vous cliquiez sur Mot de passe oublié ? Lorsque vous êtes invité à réinitialiser votre mot de passe, vous pouvez ignorer la réinitialisation du mot de passe.
  • Les codes de coupon ne s’appliquent plus qu’à un produit spécifique. Auparavant, l’application appliquait le code promo à tous les produits du panier. GitHub-28246
  • Les paramètres d’expiration du panier ne sont plus réinitialisés lorsqu’une mise à jour de stock ou de prix se produit. Auparavant, lorsqu’un panier devait expirer dans 24 heures et qu’une mise à jour de stock ou de prix se produisait, les indexeurs remplissaient la updated_at tablevariable , qui réinitialisait l’heure d’expiration.
  • L’application ne renvoie plus d’erreur fatale lorsqu’un administrateur affecte un client disposant d’un panier actif à un groupe de clients.
  • La sélection d’une option de barre d’outils à partir de Outils de développement > Réseau sur une page de produit lors de l’exécution du navigateur Chrome n’initialise plus toolbar.js deux fois. Correctif soumis par Paweł Tylek dans la demande d'extraction 28838. GitHub-25934
  • L’application ajoute désormais un ID de rôle ACL d’utilisateur administrateur à l’ID de cache de l’arborescence de catégorie de produits. Cela limite les arborescences de catégorie qu’un administrateur avec une portée limitée peut voir comme prévu. Correctif soumis par quangdo-aligent dans la requête de tirage 27429. GitHub-28306

Cartes-cadeaux

  • Les comptes de cartes-cadeaux saisissent désormais les numéros de commande comme prévu. Auparavant, le champ Plus d’informations de l’onglet Historique pour le compte cadeau sélectionné n’affichait pas les ID de commande.
  • L’utilisation d’une virgule comme séparateur décimal fonctionne maintenant comme prévu. Auparavant, le séparateur de virgules ignorait les valeurs décimales.
  • Les cartes-cadeaux sont maintenant affichées comme prévu dans le mini-panier. Auparavant, les objets HTML rendus par l’application étaient du texte.
  • Les notes de crédit reflètent maintenant correctement le total général des commandes qui impliquaient des produits à prix réduit et qui ont été payées par une combinaison de cartes-cadeaux et de crédit en magasin.

Gestionnaire de balises de Google

  • L’application ne renvoie plus d’erreur JavaScript lors du passage en caisse lorsque le paramètre Mode de restriction des cookies et Google Tag Manager sont activés.

GrapheQL

  • Les 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 et removeRewardPointsFromCart pour une discussion sur la gestion des points de récompense dans un panier. Correctif soumis par Petkovski Marjan dans la demande d’extraction 285 dans repo Partners-magento2ee et Dmitriy Gallyamov dans les demandes d’extraction 284 et 281 dans private repo Partners-magento2ee. GitHub-28835, GitHub-28833
  • La addProductsToCart mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous vous recommandons d’utiliser cette mutation plutôt que des mutations à usage unique telles que addSimpleProductsToCart. Correctif soumis par Yaroslav Rogoza dans la demande d'extraction 27914. GitHub-28524
  • Les requêtes GraphQL pour les produits associés renvoient désormais des valeurs pour les produits associés créés à partir de règles cibles. Auparavant, les requêtes relatives aux produits associés (ventes incitatives et ventes croisées) renvoyaient des valeurs uniquement si les produits associés étaient ajoutés à partir des paramètres du produit. Correctif soumis par Ulzii dans la demande d’extraction 288 dans le référentiel privé partenaire-magento2ee. GitHub-28566
  • La nouvelle requête availableStores renvoie une liste d’attributs de configuration pour plusieurs magasins disponibles sur le même site web (en fonction du magasin actuel). Elle n’expose pas la liste des sites web. Voir availableStores query. Correctif soumis par Dmitriy Gallyamov dans la demande d'extraction 28794. GitHub-28569
  • GraphQL utilise désormais uniquement un jeton d’autorisation pour récupérer un type d’utilisateur et son identifiant. Auparavant, GraphQL utilisait les cookies d’un client actif pour récupérer ces informations lorsque le jeton d’autorisation était vide. Correctif soumis par Alexander Taranovsky dans la demande d’extraction 27373. GitHub-28040
  • Nous avons ajouté les mutations et updateCustomerV2 pour gérer les createCustomerV2 comptes clients. Ces nouvelles mutations nécessitent des objets d’entrée différents des mutations et createCustomer updateCustomer . Pour modifier l’adresse email d’un client, utilisez la nouvelle updateCustomerEmail mutation. Correctif soumis par Michał Derlatka dans la demande d'extraction 2888. GitHub-28570
  • updateCustomer ne vous permet plus de définir une valeur INT non valide dans l’argument gender. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 28487. GitHub-28481
  • Suppression de la logique redondante dans le résolveur de mutationsetShippingMethodsOnCart. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 27349. GitHub-28262
  • Ajout d’une couverture de test pour l’erreur Please provide Email of sender associée à la sendEmailToFriend mutation. Correctif envoyé par Alexander Taranovsky dans la demande de tirage 28034. GitHub-28138
  • La requête products renvoie désormais les libellés des options d’attribut de produit pour la vue de magasin par défaut, comme prévu. Auparavant, cette requête renvoyait les étiquettes d’option d’attribut de produit qui étaient définies pour l’administrateur. Correctif soumis par Dmitriy Gallyamov dans la demande d'extraction 28647. GitHub-28568
  • Les agrégations d’attributs personnalisées renvoient désormais des valeurs d’options spécifiques au magasin. Correctif envoyé par Dmitriy Gallyamov dans la demande d’extraction 28647. GitHub-28572
  • Les intervalles de prix renvoyés dans une agrégation de produits peuvent désormais être numériques uniquement (aucun caractère générique n’est autorisé). Correctif soumis par Dmitriy Gallyamov dans la demande d'extraction 28745. GitHub-28628
  • La requête categoryList renvoie désormais la réponse correcte lors de l’utilisation de fragments. Correctif soumis par Ulzii dans la demande d'extraction 28710. GitHub-28584
  • La recherche de produits GraphQL prend désormais en compte les autorisations de catégorie configurées. Auparavant, la recherche de produits ignorait le paramètre Activer (Magasins > Configuration > Catalogue > Catalogue > Autorisations de catégorie). Correctif soumis par Petkovski Marjan dans la demande d'extraction 28757 et la demande d'extraction 271 dans le référentiel privépartners-magento2ee. GitHub-28563
  • Vous pouvez désormais ajouter un produit à un panier à l’aide de addSimpleProductToCart lorsque d’autres articles du panier sont en rupture de stock. Auparavant, l’application renvoyait cette erreur : Some of the products are out of stock. GitHub-26683

  • La méthode par défaut GraphQL Category trie désormais par position de catégorie, comme prévu. Correctif envoyé par Derrik Nyomo dans la demande de tirage 29301. GitHub-104

  • Ajout de la prise en charge des listes de souhaits dans Magento Open Source. Vous pouvez ajouter des éléments à, mettre à jour des éléments dans et supprimer des éléments d’une liste de souhaits. Correctif soumis par Eduard Chitoraga dans les demandes d'extraction 28205 et 264 dans les partenaires de repo privés-magento2ee. GitHub-28551

  • La addProductsToCart mutation vous permet d’ajouter n’importe quel type de produit au panier actif. Nous vous recommandons d’utiliser cette mutation plutôt que des mutations à usage unique telles que addSimpleProductsToCart. Correctif soumis par Yaroslav Rogoza dans la demande d'extraction 27914. GitHub-28524

  • Ajout de la prise en charge de GraphQL Vault pour le mode de paiement Payflow Pro Vault. Correctif soumis par Oleh Usik dans la demande d'extraction 28821. GitHub-28520

  • Mise à jour de la requête storeConfig de GraphQLpour inclure de nouveaux paramètres de configuration client. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521

  • Ajout de la mutation resetPassword. Correctif soumis par Oleh Usik dans la demande d'extraction 27876. GitHub-28521

  • Ajout de la mutation requestPasswordResetEmail, qui déclenche le courrier électronique de réinitialisation de mot de passe pour l’adresse électronique fournie. Correctif envoyé par Oleh Usik dans la demande de tirage 27876. GitHub-28521

  • Ajout d’une discussion sur Klarna GraphQL dans le mode de paiement de Klarna etcreateKlarnaPaymentsSession

Images

  • Le balisage HTML pour les images miniatures a été amélioré. Correctif soumis par Tu Nguyen dans la demande d'extraction 28642. GitHub-29468

Import/export

  • Le fichier error_report.csv est désormais téléchargé avec du contenu et est disponible dans le répertoire var/import_history/ comme prévu. Auparavant, ce fichier n’était pas généré après l’importation.
  • L’importation d’un produit à l’aide d’un fichier CSV génère désormais un fichier error_report.csv comme prévu. Auparavant, l’application générait le fichier, mais le supprimait une fois l’importation terminée. Correctif soumis par Vadim Malesh dans la demande d'extraction 28460. GitHub-28420
  • Suppression des imports de classe redondants dans toute la base de code. Correctif envoyé par Oleh Usik dans la demande de tirage 28696. GitHub-29012
  • L’application importe désormais avec succès les adresses client qui contiennent une région pour un pays qui n’a pas de régions définies. Auparavant, l’application générait cette erreur : Please enter a valid region.
  • L’application charge désormais le jeu d’attributs d’entité correct lorsqu’un commerçant sélectionne un type d’entité lors de la planification d’une nouvelle exportation.
  • La position des produits dans le catalog_category_product tableau est désormais mise à jour comme prévu lorsqu’un administrateur crée un produit dans l’administrateur et l’affecte à une catégorie. Auparavant, la position des nouveaux produits se voyait toujours attribuer une valeur 0.
  • L’exportation des données client à partir de l’administrateur s’effectue désormais correctement, et la grille de données d’exportation affiche les données client comme prévu. Auparavant, une erreur liée à l’allocation de mémoire se produisait lors de l’exportation.
  • Les fichiers CSV importés capturent désormais les informations sur les produits associés comme prévu. Auparavant, les informations sur les produits associés n’étaient pas toujours chargées la première fois que le fichier CSV était importé.
  • Suppression des paramètres de concept inutilisés dans AdvancedPricing.php. GitHub-29531

Index

  • Magento_CacheInvalidate gère désormais correctement les modèles de balises volumineuses lors de l’exécution d’un PURGE. sendPurgeRequest a été restructuré pour gérer un tableau de balises au lieu d’exiger que l’appelant utilise implode(). Correctif soumis par Matthew O'Loughlin dans la demande d'extraction 26256. GitHub-26255
  • Les indexeurs partagés affichent désormais l’état valid après l’exécution de bin/magento indexer:status après la réindexation. Auparavant, les indexeurs partagés avaient un état non valide après une réindexation complète.

Infrastructure

  • Les problèmes de chargement des pages de catalogues et de produits sur les déploiements exécutant PHP 7.4.9 ne se produisent plus. Auparavant, l’application générait cette erreur lorsque vous tentiez de charger le catalogue et les pages de produits : There has been an error processing your request. Exception printing is disabled by default for security reasons. GitHub-29502
  • Toutes les exceptions qui se produisent lorsque des mises en page sont rendues en mode de production sont désormais consignées dans le fichier journal des exceptions (var/report). Auparavant, l’application consignait ces messages dans le journal du système en tant que problèmes critiques.
  • Les expressions régulières fonctionnent désormais correctement pour les pages volumineuses suite à une augmentation de ipcre.backtrack_limit et pcre.recursion_limit à environ 1000000. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27270. GitHub-26026
  • La génération des intercepteurs a été améliorée. } else { instructions ont été supprimées des intercepteurs, et array_map a remplacé foreach. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 27902. GitHub-28383
  • La création de tableaux est désormais cohérente dans l’ensemble de la classe (app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php). Correctif envoyé par Nathan de Graaf dans la demande de tirage 28515. GitHub-28795
  • Les modules externes ont été migrés hors du framework pour suivre la meilleure pratique consistant à interdire les plug-ins dans l’espace de noms Framework. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 27965. GitHub-27962
  • L’application ne renvoie plus d’erreur Undefined class constant lorsqu’un intercepteur est généré. Correctif soumis par Vova Yatsyuk dans la demande d'extraction 28797. GitHub-28981
  • Les données de formulaire persistent maintenant lorsque l’application renvoie une exception d’intégration lorsque vous enregistrez une intégration à l’aide d’un nom déjà utilisé. Correctif soumis par Aditya Yadav dans la demande d'extraction 26660. GitHub-28143
  • L’application ne tronque plus les en-têtes X-Forwarded-For à 32 caractères. Correctif soumis par Ihor Sviziev dans la demande d'extraction 27221. GitHub-28693
  • La logique qui vérifie si une redirection est interne fonctionne désormais correctement dans l’administrateur lors de l’utilisation d’un domaine d’administrateur personnalisé. Auparavant, des problèmes avec cette logique entraînaient de nombreuses redirections Admin vers la page d’accueil du magasin par défaut. Correctif envoyé par Vadim Malesh dans la demande de tirage 29066. GitHub-28943
  • Les problèmes avec le fichier ont été éliminés et le styles-old.less linting n’identifie plus les erreurs. Correctif envoyé par Tu Nguyen dans la demande de tirage 28895. GitHub-24004
  • NonComposerComponentRegistration.php a été restructuré. Correctif soumis par Vitali Ryaboy dans la demande d'extraction 28975. GitHub-29308
  • ResourceConnection.php a été remanié afin d’améliorer la lisibilité de classe. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 29341. GitHub-29389
  • Le fichier README du serveur Web intégré a été mis à jour pour inclure tous les paramètres Elasticsearch. Correctif envoyé par Yevhenii Dumskyi dans la demande de tirage 29300. GitHub-29299
  • Le Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSave plugin renvoie à présent une valeur comme prévu. Auparavant, ce plug-in ne retournait pas de valeur et, par conséquent, l’enregistrement d’une vue de magasin entraînait une erreur. Correctif envoyé par Pieter Hoste dans la demande de tirage 29035. GitHub-29034
  • Ajout de la prise en charge suivante des méthodes magiques pour DataObject:

    • nouvelle extension pour prendre en charge les méthodes magiques get/set/has/uns (avec l’utilisation de __call)
    • Prise en charge de SessionManager, qui transfère tous les appels au conteneur DataObject
    • Couverture de test pour les extensions
    • tests mis à jour pour le contrôle des erreurs filtrées
    • augmentation du niveau de contrôle PHPStan de 0 à 1. Correctif envoyé par Oleksandr Kravchuk dans la demande de tirage 27905. GitHub-28303
  • ScopeConfigInterface peut désormais être supérieur à une chaîne. La restriction de magentoConfigFixture à la chaîne uniquement était le résultat involontaire d’une demande d’extraction précédente et a été annulée. Correctif envoyé par Kristof, Fooman dans la demande de tirage 29305. GitHub-29345
  • La convertConfigTimeToUtc méthode ne renvoie plus d’erreur fatale en raison de l’envoi de paramètres incorrects Phrase au constructeur. Correctif envoyé par Kos Rafał dans la demande de tirage 29483. GitHub-29525
  • Les filtres de prix fonctionnent désormais comme prévu sur les données de grille lorsque Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getCondition Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue() et renvoient un tableau avec des index contenant ou to des données de from chaîne. Auparavant, l’application générait cette erreur : Notice: A non well formed numeric value encountered in vendor/magento/module-backend/Block/Widget/Grid/Column/Filter/Price.php on line 197. Correctif envoyé par Nikita Sarychev dans la demande de tirage 29214. GitHub-29213
  • Ajout d’un point d’extension pour prendre en charge l’ajout d’un HTML à la page de catégorie. Ceci corrige un bogue qui a été introduit par une requête de tirage précédente. Correctif soumis par iGerchak dans la demande d’extraction 29291. GitHub-29286

Inventaire

  • Les commentaires de code inutiles ont été supprimés de app/code/Magento/CatalogInventory/Model/StockState.php. Correctif soumis par Vitali Prokopov dans la demande d'extraction 27758. GitHub-26702
  • La barre latérale de navigation en couches affiche désormais les attributs booléens avec les deux options (oui/non) et le nombre de produits correspondant. Auparavant, la navigation en couches ne renvoyait pas une option non pour les attributs booléens dans les déploiements utilisant Elasticsearch.
  • Le filtre de navigation en couches d’échantillons est désormais cohérent avec les filtres standard utilisés dans Adobe Commerce. Correctif envoyé par Bartłomiej Szubert dans la demande de tirage 28015. GitHub-28011

Exploitation forestière

  • Toutes les erreurs de référence rompues sont désormais consignées lorsque les déploiements sont en mode développeur uniquement. Auparavant, une erreur était également enregistrée pour les déploiements en mode production, ce qui gonflait les journaux d’erreurs. Correctif envoyé par Bartłomiej Szubert dans la demande de tirage 28735. GitHub-26504

Galerie multimédia

  • Interface utilisateur de configuration de la galerie de médias (Admin Magasins > Configuration > Advanced > System) a été réorganisé. Correctif soumis par Shankar Konar dans la demande d'extraction 29433. GitHub-28011
  • Ajout de tests pour couvrir les liens Utilisé(e) dans pour une image dans la galerie multimédia. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29392. GitHub-1963
  • L’application ne lève plus d’exception lorsqu’un marchand tente d’enregistrer un produit avec son image associée lorsque la Galerie multimédia est désactivée. Correctif envoyé par Nazar Klovanych dans la demande de tirage 29492. GitHub-1750

MFTF

  • AdminSubmitAdvancedInventoryFormActionGroup, AdminClickOnAdvancedInventoryLinkActionGroup et Les groupes d’actions AdminSetStockStatusConfigActionGroup 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
  • SearchProductGridByKeywordActionGroupest désormais utilisé pour la recherche dans la grille de produits. Correctif envoyé par Oleh Usik dans la demande de tirage 29385. GitHub-29434
  • AdminCategoriesClickDoneButtonOnPopupActionGroup est désormais utilisé pour cliquer sur Terminé dans le menu contextuel Search Catégories. Correctif envoyé par Oleh Usik dans la demande de tirage 28989. GitHub-29380
  • LoginToStorefrontActionGroup est désormais utilisé pour remplacer une séquence d’actions utilisée pour la connexion du client front-end du magasin. Correctif soumis par Sathish Subramanian dans la demande d'extraction 28113. GitHub-28165
  • AdminUpdateCustomURLRewritesPermanentTest a été restructuré pour répondre aux bonnes pratiques MFTF. Correctif soumis par Kate Kyzyma dans la demande d'extraction 28361. GitHub-28393
  • Les noms des tests ont été modifiés pour respecter les conventions MFTF. Correctif soumis par Evgeny Levinsky dans la demande d'extraction 27839. GitHub-28305

Nouveaux groupes d’actions

  • AdminProductFormCategoryExistInCategoryListActionGroup et AdminProductFormCategoryNotExistInCategoryListActionGroup Correctif soumis par Alexander Steshuk dans la demande d’extraction 28287. GitHub-28392
  • AdminExpandCategoryTreeActionGroup Correctif soumis par Oleh Usik dans la demande d’extraction 29133. GitHub-29289
  • AdminTaxRateGridOpenPageActionGroup Correctif soumis par Oleh Usik dans la demande d’extraction 29007. GitHub-29281
  • AdminNavigateNewCustomerActionGroup Correctif soumis par Oleh Usik dans la demande d’extraction 29134. GitHub-29287

Nouveaux tests

  • Ajout d’un test pour la suppression d’une page CMS en tant qu’utilisateur administrateur. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28112. GitHub-28202

  • Ajout du test pour le StorefrontShareCustomerWishlistActionGroup partage de la liste de souhaits des clients avec des adresses électroniques non valides. Le test existant pour le partage de liste de souhaits (StorefrontShareWishlistEntityTest) a été restructuré. StorefrontCustomerShareWishlistActionGroup est désapprouvé.

  • Ajout d’un test pour vérifier l’implémentation du paramètre de configuration Seuil gauche seulement X . Correctif envoyé par Oleh Usik dans la demande de tirage 27549. GitHub-28755

Newsletter

  • L’exportation de la liste Abonnés à la newsletter à l’aide de l’option Excel XML entraîne désormais l’exportation de toutes les lignes comme prévu. Auparavant, les données exportées incluaient uniquement la valeur de pagination de page, et non toutes les lignes.
  • Les emails d’abonnement à la newsletter utilisent désormais les mêmes balises d’HTML que les autres emails liés à la newsletter. Correctif soumis par Paweł Tylek dans la demande d'extraction 27357. GitHub-28166
  • Ajoute un test de suppression des abonnés à la newsletter en tant qu’utilisateur administrateur. Correctif envoyé par Dmitry Tsymbal dans la demande de tirage 28972. GitHub-29032
  • Ajout de tests pour l’abonnement aux newsletters pour les invités avec une option interdite dans les instructions de configuration. Ce test remplace les VerifyRegistredLinkDisplayedForGuestSubscriptionNoTest propriétés obsolètes et StorefrontCreateNewSubscriberActionGroup. Correctif soumis par Dmitri Tsymbal dans la demande d'extraction 28872. GitHub-29039

Ordres

  • Le GetAssetIdByContentFieldInterface et son implémentation sur MediaContent les modules permet désormais Adobe Stock intégration pour étendre MediaGallery les fonctionnalités de filtrage. Correctif soumis par Gabriel da Gama dans la demande d'extraction 29058. GitHub-1464
  • Les valeurs CustomerAddressI d’un client nouvellement créé sont désormais validées entre guillemets. Correctif soumis par Andrii Kalinich dans la demande d'extraction 29139. GitHub-28793
  • L’état de la commande d’une note de crédit avec zéro total est désormais Closed. Auparavant, l’application signalait l’état de sa commande comme Complete. Correctif soumis par Andrii Kalinich dans la demande d’extraction 29023. GitHub-22762

Page Builder

  • Les attributs de produit description et short_description ont été réorganisés afin de mieux s’adapter aux modifications planifiées de l’évaluation du contenu du générateur de pages. Correctif soumis par Matt Walters dans la requête de tirage 29238. GitHub-543

Modes de paiement

  • L’application affiche désormais un message vous invitant à saisir les données de carte de crédit obligatoires lorsque vous cliquez sur Envoyer pour une commande d’administrateur sans saisir d’informations de paiement valides. Auparavant, le programme de validation des cartes du Braintree ne renvoyait pas d’erreur lorsque les champs d’entrée de paiement étaient invalides et que la page devenait inactive.
  • Vous pouvez désormais modifier le mode de livraison d’une commande que vous créez à partir de l’administrateur d’un client dont le compte comporte une carte de crédit stockée (Braintree). Auparavant, lorsque vous sélectionniez un autre mode de livraison, la carte stockée n’était pas sélectionnée et l’application ne passait pas la commande.

PayPal

  • La page Révision des commandes du workflow de passage en caisse affiche désormais le montant d’expédition correct pour PayPal via les commandes Braintree pour lesquelles la méthode d’expédition a été modifiée lors du passage en caisse. Auparavant, lorsqu’un client modifiait la méthode d’expédition sur la page de révision des commandes PayPal du processus de passage en caisse, l’application ne mettait pas à jour le total de la commande avec la méthode correcte.
  • Les vendeurs peuvent désormais annuler avec succès les commandes qui ont été autorisées à l’aide de PayPal. Auparavant, l’application n’annulait pas la commande et affichait cette erreur : Declined: 10601-Authorization has expired.
  • L’application ne vide plus votre panier lorsque vous annulez une commande en fermant la fenêtre contextuelle de paiement PayPal après avoir effectué une autre commande.

Performances

  • Trois nouveaux paramètres de configuration prennent en charge une diminution de la consommation du processeur de la file d’attente des clients. Ces paramètres facultatifs offrent un contrôle accru sur les consommateurs et permettent d’économiser les ressources du serveur. Voir Configuration des files d’attente de messages pour obtenir une description du et sleep onlySpawnWhenMessageAvailable des maxIdleTimeparamètres.
  • La configuration de la liste des plugins est maintenant générée lors de l’exécution de la di:compile commande. Ces informations de configuration sont écrites dans les dossiers de métadonnées générés en fonction de l’étendue. Auparavant, ces informations étaient stockées dans le cache. Les améliorations de performances qui en résultent sont les suivantes :

    • La taille du cache réseau a diminué
    • Le délai d’exécution de nombreux scénarios a été amélioré.
  • L’application charge désormais le widget de curseur approprié à la demande, ce qui a amélioré le chargement des pages. La personnalisation du widget du curseur tactile a été déplacée vers un fichier distinct afin qu’il ne puisse être chargé que sur les appareils compatibles. Le type de widget de curseur approprié est désormais chargé uniquement lorsque la liaison de plage est réellement utilisée sur la page. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27616. GitHub-28807
  • Les performances de passage en caisse avec plusieurs commandes simultanées ont été améliorées.
  • Les blocages ne se produisent plus lorsque le processus d’importation exécute une insertion en bloc et que le processus de réindexation exécute simultanément une insertion volumineuse à partir de la sélection. Auparavant, l’application affichait cette erreur : PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock. GitHub-8933

Autorisations de marchandisage de retour (RMA)

  • La page Renvoie fonctionne désormais comme prévu une fois que vous avez créé un libellé d’expédition pour une autorisation de marchandisage de retour (RMA). Auparavant, les marchands ne pouvaient pas interagir avec les éléments de page sur la page Renvoie après avoir créé un libellé d’expédition pour une RAM. Il s’agissait d’un problème connu pour la version 2.4.0, et MC-35984-2.4.0-CE-composer.patch a résolu ce problème pour la version 2.4.0.
  • L’application affiche désormais un message d’erreur informatif ou tous les produits disponibles lorsqu’un administrateur avec des autorisations restreintes tente de créer un retour pour les produits qui ne se trouvent plus dans la portée du site web affecté. Auparavant, l’application affichait une page blanche.

Critiques

  • Une clé unique pour entity_pk_value-entity_type-store_id a été ajoutée à la table review_entity_summary, ce qui empêche la création de lignes dupliquées pour le même ID de produit (entity_pk_value). Auparavant, cette absence de clé unique entraînait des lignes dupliquées pour le même ID de produit et des erreurs SQL.

Ventes

  • L’application n’affecte plus l’état Complete après facturation à une commande qui ne nécessite aucun paiement.
  • L’e-mail New Shipment généré par l’API REST contient désormais les mêmes informations d’expédition et de client que les envois créés manuellement à partir de l’administrateur. Auparavant, cet e-mail ne contenait pas le nom du client, les informations de suivi, les produits commandés et d’autres informations sur la commande.
  • Les noms d’utilisateur invités sont désormais visibles comme prévu dans les emails liés aux factures et à l’expédition lorsque les emails sont chargés ou personnalisés à partir de l’administrateur.
  • La facture du PDF est maintenant traduite dans la langue de la vue du magasin où la commande a été passée. Auparavant, la facture du PDF était traduite dans la langue de l'administrateur.
  • Vous pouvez maintenant émettre un remboursement comme prévu à partir de la page de note de crédit. GitHub-29014
  • Les noms de régions localisés qui s’affichent sur la page de commande de vitrine sont désormais correctement traduits. Auparavant, le nom de la région n’était pas basé sur les paramètres régionaux spécifiés, sauf s’il était modifié dans l’administration.
  • Les envois créés via le point de terminaison /rest/V1/shipment du POST mettent désormais à jour correctement les commandes. Auparavant, l’application créait une expédition, mais l’état de l’expédition restait à l’état de traitement.
  • Les notes de crédit affichent désormais le mode de paiement dérivé de la portée du magasin dans lequel la commande a été passée. Auparavant, les notes de crédit affichaient le nom tel que défini dans la portée de magasin par défaut. Correctif soumis par Ledian Hymetllari dans la demande d'extraction 27582. GitHub-27570

Rechercher search-heading

  • Vous pouvez désormais rechercher des produits par attribut à partir de la vue Client administrateur à l’aide de QuickSearch. Auparavant, une exception se produisait sur la page des résultats de recherche du catalogue.
  • L’application affiche désormais les produits configurables sur la page de catégorie comme prévu après l’ajout d’un attribut de produit.
  • Elasticsearch résultats incluent désormais les valeurs correctes pour les options d’attributs de chaque vue de magasin. Si un attribut Liste déroulante ou Sélection multiple possède une valeur d’option différente dans la vue de magasin autre que dans la vue de magasin par défaut, Elasticsearch indexe désormais cette valeur ou renvoie le produit avec cette valeur dans les résultats. Auparavant, Elasticsearch n’indexait pas cette valeur et ne renvoyait pas le produit avec cette valeur dans les résultats.
  • La recherche par SKU fonctionne désormais comme prévu dans la recherche avancée avec Elasticsearch. Auparavant, lorsque vous tentiez de rechercher par SKU, l’application affichait ce message d’erreur : We can't find any items matching these search criteria. Modify your search.
  • La recherche avancée ne permet plus aux acheteurs de filtrer selon des prix négatifs. Correctif soumis par Rohan Hapani dans la demande d’extraction 27359. GitHub-27358
  • Les valeurs d’étendue sont désormais réinitialisées comme prévu sur le formulaire New Synonym Group. Correctif soumis par Sathish Subramanian dans la demande d’extraction 29206. GitHub-28947

Livraison

  • L’application calcule désormais correctement les tarifs des tables d’expédition après la mise à niveau. Auparavant, les tarifs de la table d’expédition étaient calculés sur la base du prix net, qui excluait la TVA.
  • Les clients peuvent désormais supprimer avec succès les points de récompense sur la page de révision des commandes du processus de paiement lorsqu’ils passent à la caisse avec plusieurs adresses. Auparavant, l’application générait une 404 Not Found erreur lorsqu’un client cliquait sur le bouton Supprimer pour supprimer des points pour n’importe quelle adresse. Il s’agissait d’un problème connu dans la version 2.4.0.
  • L’application affiche désormais les tarifs d’expédition dans la devise correcte dans le flux de paiement pour les commandes indiquant FedEx comme mode d’expédition.
  • Les PDF de plusieurs pages des étiquettes d’expédition pour les commandes expédiées par UPS affichent désormais le nombre correct.
  • Les problèmes liés aux composants JavaScript de la page Créer des packages ont été résolus. Auparavant, l’application n’affichait pas la case à cocher Créer une étiquette d’expédition sur cette page et vous ne pouviez pas créer une étiquette d’expédition pour une commande existante.

Plan du site

  • Le plan du site dans robots.txt est désormais spécifique au magasin. Correctif soumis par Vadim Malesh dans la demande d'extraction 29331. GitHub-28901
  • Les valeurs codées sont désormais correctement placées dans une séquence d’échappement dans le fichier sitemap.xml. Auparavant, lorsque vous incluiez des caractères codés dans un nom de produit ou un titre d’image, le plan de site généré n’était pas valide.

Évaluation

  • L’étiquette d’attribut Définir le produit comme nouveau apparaît désormais comme prévu sur les pages de mise à jour détaillée et planifiée d’un produit.
  • Vous pouvez désormais prévisualiser le planning d’évaluation pour un bloc CMS. Auparavant, l’application entraînait une erreur fatale.
  • Vous pouvez désormais accéder à la page Aperçu de CMS lors de la modification d’une page CMS avec une mise à jour planifiée et de la réaffecter du magasin par défaut à un autre magasin. Auparavant, l’application générait une erreur 404 lorsque vous cliquiez sur le lien d’aperçu.
  • Vous pouvez désormais utiliser POST /V1/products/special-price pour mettre à jour le prix spécial d’un produit sans spécifier de valeur de paramètre price_to. Auparavant, les tentatives de définir la mise à jour de prix sans le price_to paramètre spécifié étaient infructueuses.

Boutique

  • La suppression d’une vue de magasin précédemment créée n’entraîne plus d’erreur dans les déploiements avec une configuration de base de données fractionnée. Auparavant, l’application générait une exception.
  • Vous pouvez désormais exporter config.php et utiliser le code de site Web par défaut à partir d’un site Web pour installer et configurer l’application sur un deuxième site Web dans un déploiement multisite Web. Auparavant, le magasin et la vue par défaut disparaissaient après l’exportation et des erreurs se produisaient sur la vitrine.

Swagger

  • Vous pouvez désormais générer un jeton client avec Swagger. Auparavant, Swagger ne générait pas de code de réponse lors de la saisie d’informations d’accès client valides, et l’application affichait cette erreur : The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later. Correctif soumis par Vadim Malesh dans la demande d'extraction 28822. GitHub-27098

Nuancier

  • Les produits configurables avec des échantillons affichent désormais le niveau de prix lorsqu’un acheteur clique sur Modifier dans le panier. Auparavant, l’application n’affichait pas les prix de niveau dans le panier avant le passage en caisse. Correctif soumis par Sathish Subramanian dans la demande d’extraction 29137. GitHub-28270
  • L’application affiche désormais les prix des niveaux comme prévu pour les variations de produit configurables.

TargetRule

  • Les performances de la page de produits sous les conditions suivantes ont été améliorées :

    • Le module de règles cible est installé
    • La fonctionnalité liée aux produits (produits associés, de vente consécutive et de vente croisée) est implémentée.

Taxe

  • L’application n’affiche plus d’attribut de taxe fixe sur les produits sur le storefront pour un produit après qu’un commerçant l’ait déaffecté du jeu d’attributs du produit.

Test

  • Les erreurs PHPUnit 9 ont été corrigées dans les tests unitaires. Correctif soumis par Anton Evers dans la demande d'extraction 29244. GitHub-29329
  • Ajout de tests unitaires pour approuver une commande qui a été effectuée avec une remise qui a expiré placera une commande au montant total et ne mettra pas à jour le total de la commande. Correctif soumis par Joan He dans la demande d'extraction 18. GitHub-204
  • SynchronizeFilesInterface est désormais couverte par les tests d’intégration. Correctif envoyé par jmonteros422 dans la demande de tirage 29493. GitHub-1742
  • Une fonction a été ajoutée qui \Magento\TestFramework\TestCase\WebapiAbstract permet de comparer de grands tableaux imbriqués de résultats attendus et réels dans les tests et permet aux testeurs d’ignorer les clés non pertinentes dans le résultat réel. Correctif envoyé par Jekabs dans la demande de tirage 29458. GitHub-29498
  • Correction de l’inversion de la valeur attendue avec la valeur réelle dans app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php. Correctif envoyé par Lukasz Bajsarowicz dans la demande de tirage 29271. GitHub-29283
  • L’utilisation de ObjectManager pour instancier des classes pendant le test a été remplacée par le nouveau mot-clé dans les tests unitaires. Correctif soumis par Lukasz Bajsarowicz dans la demande d'extraction 29272. GitHub-29346
  • Une couverture de test a été ajoutée pour ces cas de mutation updateCustomer : date de naissance non valide, adresse email non valide et nom de famille du client vide. Correctif soumis par Alexander Taranovsky dans la demande d'extraction 28304. GitHub-28394
  • Le client GraphQL ApiFunctional TestFramework analyse désormais correctement les en-têtes. GitHub-26425

Thème

  • Les thèmes ajoutés dans les règles de l’agent utilisateur sont maintenant affectés comme prévu lors de l’exécution de bin/magento catalog:images:resize. Auparavant, seuls les thèmes affectés aux magasins étaient affectés lors bin/magento catalog:images:resize de l’exécution.

Traduction et paramètres régionaux

  • L’application ne renvoie plus d’erreur lorsqu’un administrateur modifie le champ Date lors de la création du produit Admin ou enregistre lorsque les paramètres régionaux Admin sont chinois ou japonais. GitHub-24696
  • L’application vérifie désormais la zone (frontale ou adminhtml) avant de générer le balisage de traduction intégré. Auparavant, l’appel d’API à /rest/V1/integration/admin/token avec des informations d’identification erronées lorsque la traduction intégrée était activée incluait des balises de traduction intégrées autour du message d’erreur dans la réponse de l’API. Correctif soumis par Zach Nanninga dans la demande d'extraction 28856. GitHub-28656
  • Les régions bulgares ont été ajoutées à la table directory_country_region. Correctif soumis par Nikola Lardev dans la demande d'extraction 27957. GitHub-28215
  • Les titres et boutons de l’administrateur Customers > Add New Address et Edit Product > Advanced Inventory peuvent désormais être traduits. Correctif envoyé par Sathish Subramanian dans la demande de tirage 28174. GitHub-28201
  • Le terme FPT peut maintenant être traduit sur les magasins d’administration > Configuration > taxe de > de vente > taxes fixes sur les produits . Correctif envoyé par Vadim Malesh dans la demande de tirage 28108. GitHub-5477
  • L’étiquette du bouton Expédier ici sur le modèle d’adresse d’expédition du workflow de paiement a été modifiée pour correspondre à la casse Camel utilisée pour les autres boutons. Ce cas correspond désormais à celui utilisé dans les fichiers de traduction. Auparavant, en raison de l’incohérence au cas où ce libellé n’était pas traduit. Correctif soumis par WK dans la demande d’extraction 28547. GitHub-28685

Interface utilisateur

  • Le lien de confidentialité et de stratégie de cookie dans le pied de page s’affiche désormais sous la forme d’un lien actif lors de l’affichage de la page Politique de confidentialité et de cookie. Correctif soumis par Sathish Subramanian dans la demande d'extraction 28004. GitHub-27985
  • Correction d’un mauvais alignement du curseur dans la zone de texte des commentaires de facture de la facture associée à une commande que vous avez sélectionnée dans Admin Ventes > Commandes.
  • La page Créer une nouvelle commande affiche désormais les boutons Ajouter des produits par SKU et Ajouter des produits comme prévu.
  • L’application affiche désormais correctement la page Modifier la révision lorsqu’un classement de produit est disponible pour le produit sélectionné.
  • L’application affiche désormais correctement la page de modification du client administrateur sur une iPhone exécutant Safari.
  • Correction du défilement inutile sur la page Créer une commande .
  • Cliquez directement sur le bouton Exporter les taux de taxe de la page Ajouter une nouvelle règle fiscale (Magasins > Règles fiscales) pour télécharger désormais le fichier tax_rates.csv comme prévu. Auparavant, les marchands devaient cliquer sur le bord du bouton Exporter les taux d'imposition. Il s’agissait d’un problème connu dans la version 2.4.0.
  • Le bouton Ajouter des sélections à mon panier situé au bas du panier fonctionne désormais comme prévu. Il s’agissait d’un problème connu dans la version 2.4.0.
  • Le bouton Actualiser de la section Produits récemment consultés de la page Activités du client fonctionne désormais comme prévu. Auparavant, lorsque vous cliquiez sur Actualiser, la liste de produits n’était pas actualisée et la page faisait défiler.
  • L’application affiche désormais correctement l’icône de calendrier utilisée pour sélectionner la date de naissance d’un client dans l’onglet Conditions de Clients > Segments > Ajouter un segment.
  • La section Résumé du passage en caisse du workflow de passage en caisse ne scintille plus lorsqu’un acheteur fait défiler cette page sur Internet Explorer 11.x.
  • L’application affiche désormais correctement le widget Ordre par SKU sur la page Catégorie du storefront. Auparavant, le code d’HTML de ce widget n’était pas rendu et l’application n’affichait pas le lien Charger une liste de SKU .
  • Les composants de l’interface utilisateur qui ont été désactivés à l’aide de this.disabled(true) n’apparaissent plus sur le storefront. GitHub-29098
  • L’application affiche désormais correctement le widget de produits récemment affiché dans la vue mobile. Correctif envoyé par Tu Nguyen dans la demande de tirage 27572. GitHub-27058
  • La modification de la position d’un produit à partir de l’administrateur se reflète désormais dans la position du produit sur le storefront. Correctif soumis par Oleg Aleksin dans la demande d'extraction 28150. GitHub-28149
  • Le style du formulaire de connexion est maintenant cohérent avec le style des autres formulaires dans le thème vierge. Les styles superflus qui définissent la largeur des champs d’entrée de retour automatique à la ligne de contrôle de conteneur ont été supprimés. Correctif envoyé par Tu Nguyen dans la demande de tirage 28084. GitHub-28059
  • Le bouton OK de la fenêtre contextuelle de confirmation de suppression de produit du mini panier se comporte maintenant comme prévu. Correctif soumis par Tu Nguyen dans la demande d'extraction 28083. GitHub-27095
  • Les éléments de la galerie de produits ne clignotent plus pendant le chargement de la page. Correctif soumis par Mateusz Krzeszowiak dans la demande d'extraction 27871. GitHub-28339
  • La classe CSS qui contrôle la largeur du champ est désormais appliquée comme prévu à l’élément Heure de début dans l’ensemble de l’administrateur. Correctif soumis par Shankar Konar dans la demande d'extraction 29511. GitHub-29496
  • Le libellé de texte Termes et conditions peut désormais afficher correctement des chaînes de texte plus longues. Correctif soumis par Bartłomiej Szubert dans la demande d'extraction 29413. GitHub-24060
  • Le titre de la page d’échec de commande a été réécrit pour plus de précision. Auparavant, lorsqu’un client annulait une commande, l’application affichait une page avec ce titre : We received your order!. Correction envoyée par Angelo Romano dans la demande de tirage 29410. GitHub-29416
  • Le nombre total d’articles annulés sur la page d’affichage de commande annulée est désormais correctement identifié sur la page d’affichage de commande annulée. Auparavant, ce champ était intitulé Total dû. Correctif soumis par Madhu Rajawat dans la demande d'extraction 27516. GitHub-26191
  • Le bouton d’activation/désactivation de la page Créer un produit configurable fonctionne désormais comme prévu. Correctif soumis par Tu Nguyen dans la demande d'extraction 28032. GitHub-22702
  • L’icône du bloc des propriétés d’attribut avancées de la page Propriétés avancées des attributs se comporte maintenant comme prévu. Correctif envoyé par Tu Nguyen dans la demande de tirage 28032. GitHub-26022
  • La section Admin de la page de configuration du système s’étend désormais pour afficher les champs obligatoires comme prévu lorsque vous essayez d’enregistrer les paramètres de configuration d’un nouveau module. Correctif envoyé par Bartłomiej Szubert dans la demande de tirage 28285. GitHub-26427
  • Comportement corrigé de la loupe lorsque le mode est défini sur inside. Correctif soumis par Sean van Zuidam dans la demande d'extraction 29077. GitHub-29076
  • Correction de la largeur étonnamment longue du champ de saisie qui se produisait lorsqu’un acheteur saisissait une adresse électronique incorrecte dans le champ abonné du pied de page. Correctif soumis par Dipesh Rangani dans la demande d'extraction 27106. GitHub-27099
  • Une Uncaught ReferenceError erreur n’apparaît plus dans la console de développement lorsque vous ajoutez une nouvelle balise et déplacez le curseur de la souris dessus. Correctif soumis par Nazar Klovanych dans la demande d'extraction 29392. GitHub-1700
  • Suppression d’un test inutilisé AdminAnalytics (TrackingScriptTest). Correctif envoyé par Lukasz Bajsarowicz dans la demande d’extraction 28605. GitHub-28850
  • Les problèmes de sérialisation et de désérialisation des propriétés statiques lors de l’exécution de tests consécutifs ont été résolus. Correctif envoyé par Pavel Bystritsky dans la demande de tirage 26175. GitHub-28319, GitHub-29313

URL rewrites

  • Le déplacement d’une vue de magasin vers un autre site web ne réinitialise plus les URL. Auparavant, l’application était incorrectement régénérée dans CMS et l’URL du produit était réécrite.

  • Vous pouvez désormais prévisualiser le planning d’évaluation pour un bloc CMS. Auparavant, l’application entraînait une erreur fatale.

  • L’application conserve désormais les URL de catalogue existantes qui réécrivent comme prévu lorsqu’une vue de magasin est affectée à un autre magasin. Auparavant, l’application supprimait les réécritures d’URL spécifiques au magasin.

Varnish

  • Le redémarrage du vernis n’entraîne plus d’erreurs 503. Correctif soumis par Ihor Sviziev dans la demande d'extraction 28137. GitHub-24353

Vault

  • L’application n’enregistre plus les numéros de carte de crédit lorsque la case Enregistrer pour une utilisation ultérieure n’est pas cochée dans la section paiement du flux de paiement.

Marchandisage visuel

  • L’application affiche désormais le stock source au lieu du stock de produits par défaut lorsque vous triez les produits dans le marchandisage visuel et que l’option Inventaire est activée.

Structure de l’API web

  • Les factures créées à l’aide de REST incluent désormais des informations de carte-cadeau similaires aux factures créées dans l’administrateur. Auparavant, l’utilisation du POST /V1/order/:id/invoice pour facturer la commande n’affichait pas le code de carte-cadeau ou le montant de la carte-cadeau appliqué.
  • Les vendeurs disposant de plusieurs sites web peuvent désormais utiliser l’API REST pour créer et mettre à jour des produits tout en préservant l’héritage des rôles image et image. Auparavant, lorsqu’un marchand utilisait l’API REST pour créer et mettre à jour des produits, et qu’un produit était mis à jour pour l’affichage en magasin, et que les rôles d’image par défaut étaient chargés et enregistrés pour cette vue de magasin. Par conséquent, les rôles d’image d’affichage de magasin ont cessé d’hériter de l’étendue par défaut après la mise à jour.
  • Un compte d’utilisateur d’intégration non étendue peut désormais accéder à une ressource via l’API REST lorsque les autorisations de ressources autorisent l’accès.
  • Search filtres de critères fonctionnent désormais comme prévu pour les attributs de produit utilisés lors de la création d’un produit configurable. GitHub-29126
  • L’ID de groupe client est désormais validé pour les demandes de POST /rest/V1/customers. Auparavant, l’application n’affichait pas de message d’erreur lorsque vous utilisiez un group_id non valide dans ces requêtes. Correctif soumis par Vadim Malesh dans la demande d'extraction 28903. GitHub-28064
  • Les sessions PHP ne sont pas créées par défaut pour les appels REST anonymes. Auparavant, les sessions étaient lancées même lorsqu’elles étaient inutiles. Correctif soumis par Maciej Pawłowski dans la demande d'extraction 26032. GitHub-7213
  • L’utilisation de divers points de fin REST pour mettre à jour les commandes qui contiennent une option personnalisée ne supprime plus les informations sur les options personnalisées. Auparavant, les valeurs de info_buyRequest étaient supprimées. Correctif soumis par Vadim Malesh dans la demande d'extraction 28483. GitHub-22431
  • L’utilisation de GET V1/customers/me honore désormais le paramètre Partager les comptes clients (Admin Magasins > Configuration > Clients > Configuration client > Options de partage de compte) lors de la récupération des informations sur les utilisateurs. Correctif soumis par Pavel Bystritsky dans la demande d’extraction 28213. GitHub-26089
  • Les attributs d’extension liés aux adresses peuvent être définis sous forme de tableaux de données. Auparavant, l’application générait une erreur lors d’une demande de POST qui contenait extension_attributes a été envoyé à estimate-shipping-methods.Ce bogue, qui a été introduit par un commit précédent, affectait tous les attributs d’extension définis sur Magento\Quote\Api\Data\AddressInterface qui n’étaient pas des objets. Correctif envoyé par Alexander Menk dans la demande de tirage 27338. GitHub-26682
  • Vous pouvez désormais spécifier un champ unique lors de la mise à jour d’un client avec le point de terminaison V1/customers/:id du PUT. Auparavant, le point de fin vous demandait de spécifier l’adresse électronique du client et d’autres champs requis pour créer un client. Correctif soumis par Vadim Malesh dans la demande d'extraction 28332. GitHub-21237

Restrictions de site web

  • L’activation de la restriction de site web ne bloque plus les demandes de Varnish ESI pour les clients connectés en tant qu’invités. Auparavant, ces invités ne pouvaient pas accéder au menu principal de la page d’accueil.
  • L’application charge désormais la page d’accueil du produit comme prévu lorsque les restrictions du site web sont activées.

Liste de souhaits

  • Vous pouvez désormais utiliser la fonction de recherche de liste de souhaits pour trouver un produit dans une liste de souhaits publique dans les déploiements où la prise en charge de plusieurs listes de souhaits est activée. Auparavant, après qu’un client utilisait la recherche dans la liste de souhaits pour rechercher un produit, en le sélectionnant et en cliquant sur Ajouter au panier, l’application n’ajoutait pas le produit au panier et affichait cette erreur : Invalid Form Key. Please refresh the page.
  • Les clients peuvent désormais modifier la quantité d’un produit dans une liste de souhaits à partir de la liste de souhaits elle-même. Auparavant, l’application ne mettait pas à jour la quantité de produits et n’affichait pas de message.
  • Les clients peuvent désormais modifier la quantité d’un produit groupé dans une liste de souhaits à partir de la liste de souhaits elle-même. Auparavant, l’application ne mettait pas à jour la quantité de produit et n’affichait pas de message.
  • La page Catégorie affiche maintenant le widget de recherche de liste de souhaits comme prévu.
  • Les remplissages polyfills pour Map, WeakMap, FormData et MutationObserver ne sont désormais chargés que si nécessaire. Correctif soumis par Dmitry Tsymbal dans la demande d’extraction 28330 et Mateusz Krzeszowiak dans la demande d’extraction 27618. GitHub-28377, GitHub-28382
  • Le processus de mise à jour de liste de souhaits prend désormais en charge la mise à jour simultanée d’un élément de liste de souhaits et de sa description. Correctif soumis par Eduard Chitoraga dans la demande d’extraction 28222. GitHub-28261
  • L’application valide désormais correctement le nombre maximal autorisé de listes de souhaits qu’un acheteur peut créer. Correctif soumis par Eduard Chitoraga dans la demande de tirage 247 dans private repo partners-magento2ee.
  • Les administrateurs peuvent désormais configurer un produit configurable qui a été ajouté par un client à une liste de souhaits d’un magasin autre que celui par défaut. Auparavant, lorsque le client avait également ajouté le produit configurable à partir d’un magasin autre que celui par défaut, l’application générait une erreur.
  • Ajout d’un test pour le partage de la liste de souhaits d’un client avec un nombre d’e-mails supérieur à celui autorisé. Correctif envoyé par Dmitry Tsymbal dans la demande de tirage 28641. GitHub-28720
  • Ajout d’un test pour la suppression d’articles de la liste de souhaits d’un client en tant qu’utilisateur administrateur. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28632. GitHub-28721
  • Ajout d’un test pour désactiver la fonctionnalité de liste de souhaits. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28635. GitHub-28744
  • Ajout d’un test pour l’utilisation d’adresses électroniques non valides lors du partage des listes de souhaits de clients. StorefrontShareWishlistEntityTest a été refactorisé. StorefrontCustomerShareWishlistActionGroup est désapprouvé. Correctif soumis par Dmitry Tsymbal dans la demande d’extraction 28330. GitHub-28377
  • Ajout d’un test pour le partage de la liste de souhaits d’un client qui dépasse la limite de longueur de texte autorisée. Correctif envoyé par Dmitry Tsymbal dans la demande d’extraction 28812. GitHub-28969

Problèmes connus

Problème : La nouvelle fonctionnalité CAPTCHA pour le paiement ne fonctionne pas comme prévu sur la page Passer une commande lors de l’utilisation de fournisseurs de paiement tiers. Les commerçants utilisant la version 2.3.6 ou 2.4.1 qui ont activé la protection CAPTCHA sur la page de stockage Passer une commande verront cette erreur lors de l’extraction à l’aide d’un fournisseur de paiement tiers tel que PayPal : Please provide CAPTCHA code and try again. Solution : un correctif pour ce problème est désormais disponible. Consultez l’article Adobe Commerce v2.3.6/2.4.1 CAPTCHA dans l’article Échec du passage en caisse de la base de connaissances. Un correctif sera également inclus dans notre prochain correctif trimestriel (Q12021).

Problème : les utilisateurs sans privilèges d’administrateur ne peuvent pas actuellement configurer leur accès personnel 2FA. 2FA comprend deux rôles ACL. Un rôle affecte la configuration globale du système et il n’est nécessaire que lors de la configuration du système. Le deuxième rôle de liste de contrôle d’accès affecte des comptes utilisateur individuels 2FA. Un utilisateur administrateur doit configurer ce deuxième type de liste de contrôle d’accès 2FA. Solution : une fois que l’utilisateur s’est connecté et a vu l’écran Accès refusé, il peut accéder à https://<magento store>/<admin_path>/tfa/tfa/requestconfig/ pour forcer la configuration. Remarque : Il est déconseillé de désactiver les paramètres de sécurité. Toutefois, cette solution n’est efficace que si les clés secrètes d’URL d’administration sont désactivées.

Problème : le bouton Créer un compte de la page Créer un compte reste désactivé si un acheteur a entré des données non valides. Cela empêche les acheteurs de réessayer de créer un compte après avoir commis une erreur. Solution : appliquez le correctif MC-38509. Un correctif sera également inclus dans nos prochaines versions trimestrielles (2.4.2, 2.4.1-p1 et 2.3.6-p1), qui doivent être publiées au 1er trimestre 2021. Reportez-vous à l'article 2.4.1 et 2.3.6 Création d'un bouton de compte désactivé correctif de la base de connaissances. GitHub-30513

Problème : les vendeurs ne peuvent pas se connecter au dotdigital à partir de l’administrateur dans Safari lorsque le dotdigital est activé. Voir l’article de la base de connaissances Il est impossible de se connecter à dotdigital via le panneau d’administration lorsque le compte dotdigital est activé .

Problème : la validation des adresses de sommet ne fonctionne pas pendant le paiement lorsque l’acheteur sélectionne une adresse de livraison différente de l’adresse de facturation. Le problème sera corrigé dans la version 2.4.2. Voir le problème connu 2.4.1 : le message Validation de l’adresse du sommet ne disparaît pas après la mise à jour de l’article address de la base de connaissances.

Problème : l’application affiche une page vide lorsqu’un commerçant enregistre un formulaire de générateur de pages dotdigital sur le navigateur Safari. Solution de contournement : rechargez la page pour appliquer vos modifications. Consultez l’article 2.4.1 Problème connu : page vide après l’enregistrement du formulaire de générateur de page numérique de la base de connaissances.

Problème : dans certaines conditions, l’application se connecte automatiquement aux clients qui utilisaient auparavant des comptes Amazon plutôt que de les inviter à se connecter lors de l’extraction avec Amazon Pay. Consultez l’article 2.4.1 Problème connu : impossible de modifier le compte Amazon dans Google Chrome de la base de connaissances.

Problème : l’application affiche brièvement un message d’erreur sur la page de facturation du workflow de passage en caisse lorsque le paiement par le Braintree PayPal et l’envoi de plusieurs adresses sont sélectionnés. Consultez l’article 2.4.1 Problème connu : erreur apparaissant lors du passage en caisse avec le Braintree PayPal de la base de connaissances.

Problème : l’application affiche un message d’erreur non informatif lorsqu’un client invité tente de passer une commande avec PayPal via Braintree lorsque le passage en caisse de l’invité est désactivé. Consultez l’article 2.4.1 Problème connu : message d’erreur non informatif lors du passage en caisse des invités à l’aide de Paypal via Braintree de la base de connaissances.

Contributions de la communauté

Nous sommes reconnaissants à l’ensemble de la communauté des Magento Open Sources et tenons à saluer leurs contributions à cette version. Découvrez les façons suivantes d’en savoir plus sur les contributions de la communauté à nos versions actuelles :

  • Si un membre de la communauté a fourni un correctif pour cette version, nous identifions le correctif dans la section Problème résolu de ces notes avec l’expression "Correctif fourni par le membre de la communauté".

  • L’équipe d’ingénierie de communauté contributeurs Magento conserve une liste des principaux contributeurs et partenaires par mois, trimestre et année. Sur cette page Contributeurs, vous pouvez suivre les liens vers leurs relations publiques fusionnées sur GitHub.

Contributions des partenaires

Le tableau suivant met en évidence les contributions des partenaires. Ce tableau répertorie le partenaire qui a contribué à la demande d’extraction, la demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).

Partenaire
Requêtes de tirage
Problèmes GitHub connexes
Atwix
magento/magento2#27670, magento/magento2#28112, magento/Partners-magento2ee#258, magento/magento2#28466, /magento magento2#28450, magento/magento2#28449, magento/magento2#28408, magento/magento2#28391 magento/magento2#28361, magento/magento2#28330, magento/magento2#28304, magento/magento 2#27481, magento/magento2#27373, magento/magento2#28467, 🔗magento/magento2#28407{2 7}, magento/magento2#28418, magento/magento2#28034, magento/magento2#2822, /magento magento2#27956, magento/magento2#28105, magento/magento2#27586, magento/magento2#2863 1, magento/magento2#28629, magento/magento2#28498, magento/magento2#28496, ento/magento2#28469, magento/magento2#27451, magento/magento2#28725, magento/magento2#275 449, magento/magento2#28641, magento/magento2#28635, magento/magento2#28632, 2}magento/magento2#28457🔗, magento/Partners-magento2ee#247, magento/magento2#28205, magento/magento2#28072, magento/magento2#28727, magento/magento2#28684, magento/magento2#28679, magento/magento to2#28401, 🔗magento/magento2#28506🔗, magento/magento2#28492, 🔗magento/magento2#28487 81}, magento/magento2#27349, magento/magento2#28991, magento/magento2#28972, /magento2#28869, magento/magento2#28696, magento/magento2#28956, magento/magento2#2894 2, magento/magento2#28941, magento/magento2#28872, magento/magento2#28854, 102}magento/magento2#28661, magento/magento2#28852, magento/magento2#28812}, 08}magento/magento2#28650, magento/magento2#27882, magento/Partners-magento2ee#250, magento/magento2 9002, magento/magento2#28959, magento/magento2#28955, 🔗magento/magento2#28 122}magento/magento2#27697🔗, magento/magento2#27697, magento/magento2#2929 143, magento/magento2#29156, magento/magento2#29004, magento/magento2#291 62, magento/magento2#28999, magento/magento2#29134, magento/magento2#291 33, magento/magento2#29007, magento/magento2#29000, magento/magento2#282 0, magento/magento2#29135, magento/magento2#27537, magento/magento2#2914 2, magento/magento2#29386, magento/magento2#29385, magento/magento2#2893, magento/magento2#28989, magento/Partners-magento2ee#263, magento/Partners-magento2ee#246, magento/magento2#2791 4, magento/magento2#29427, magento/magento2#29485, magento/magento2#2947 2 🔗 🔗 🔗
magento/magento2#28202, magento/magento2#28393, magento/magento2#28377, magento/magento2#28394,} magento/magento2#19481, magento/magento2#28040, magento/magento2#28138, magento/magento2#28 2261, magento/magento2#253, magento/magento2#27337, magento/magento2#21101, magento/magento2#28755, magento/magento2#28720, magento/magento2#28744, magento/magento2#28 721, magento/Partners-magento2ee#261, magento/magento2#246, magento/magento2#28519, magento/magento2#82 481, magento/magento2#28262, magento/magento2#28427, magento/magento2#29032, 42}magento/magento2#29012, magento/magento2#29039, magento/magento2#28969, magento/magento2 29009, magento/magento2#250, magento/magento2#29287, magento/magento2#29289, 6}magento/magento2#29281🔗, magento/magento2#29295, magento/magento2#28800, magento/magento2 9292, magento/magento2#29420, magento/magento2#29434, magento/magento2#29388 magento/magento2#29380, magento/magento2#28524, magento/magento2#29539 🔗
Blue Acorn iCi
magento/magento2#27903, magento/magento2#27902, magento/magento2#28606, magento/magento2#28601,} magento/magento2#28605, magento/magento2#28351, magento/magento2#27965, magento/magento2#28 856, magento/magento2#29271, magento/magento2#28992, magento/magento2#29341, 22}magento/magento2#29272🔗, magento/magento2#28599, magento/magento2#29376, magento/magento2 29202
magento/magento2#28383, magento/magento2#28850, magento/magento2#28376, magento/magento2#27962,} magento/magento2#28656, magento/magento2#29283, magento/magento2#29159, magento/magento2#29 3389, magento/magento2#29346, magento/magento2#29453, magento/magento2#29477
creativestyle
magento/magento2#27622, magento/magento2#27270, magento/magento2#27871, magento/magento2#27690, magento/magento2#27619, magento/magento2#27618, magento/magento2#27357, magento/magento2#27 356, magento/magento2#27616, magento/magento2#27860, magento/magento2#27617, 22}magento/magento2#29054🔗, magento/magento2#28838 🔗
magento/magento2#28110, magento/magento2#26026, magento/magento2#28339, magento/magento2#28340, magento/magento2#28381, magento/magento2#28382, magento/magento2#28166, magento/magento2#28 433, magento/magento2#28807, magento/magento2#28823, magento/magento2#28811, 22}magento/magento2#29087, magento/magento2#25934
Comwrap
magento/magento2#28714, magento/magento2#28743, magento/magento2#28710, magento/magento2#28757,} magento/Partners-magento2ee#288, magento/Partners-magento2ee#271, magento/Partners-magento2ee#277, magento/magento2#28890, magento/Partners-magento2ee#285, {1 0}magento/magento2#27850🔗, magento/magento2#27917
magento/magento2#28584, magento/Partners-magento2ee#28563, magento/Partners-magento2ee#28566, magento/Partners-magento2ee#28769, magento/magenmagento/to2#26121, magento/Partners-magento2ee#28834, magento/magento2#28705
Ziffity
magento/magento2#26704, magento/magento2#28113, magento/magento2#28174, magento/magento2#28039, magento/magento2#28004, magento/magento2#27567, magento/magento2#28264, magento/magento2#29 1137, magento/magento2#29206, magento/magento2#28250, magento/magento2#27977
magento/magento2#28165, magento/magento2#28201, magento/magento2#27985, magento/magento2#27091,} magento/magento2#28308, magento/magento2#28270, magento/magento2#28947, magento/magento2#29 344, magento/magento2#29097
AEM Consulting
magento/magento2#27429, magento/magento2#26256
magento/magento2#28306, magento/magento2#8815, magento/magento2#26255
Chat blanc rapide
magento/magento2#28015, magento/magento2#28735, magento/magento2#28285
magento/magento2#28011, magento/magento2#26504, magento/magento2#26427
Vaimo
magento/magento2#29300, magento/magento2#27905, magento/magento2#27582
magento/magento2#29299, magento/magento2#28303, magento/magento2#27570
Solutions d’orientation
magento/magento2#28810, magento/magento2#28902
magento/magento2#28982, magento/magento2#29327
Cedcommerce
magento/magento2#27990, magento/magento2#26660
magento/magento2#26118, magento/magento2#28143
Balance Internet
magento/magento2#27064
magento/magento2#27063
Krish TechnoLabs
magento/magento2#27359, magento/magento2#27106
magento/magento2#27358, magento/magento2#27099
Ranosys Technologies
magento/magento2#27516
magento/magento2#26191
Briteskies
magento/magento2#29301
magento/magento2#104
Le site
magento/magento2#28891
magento/magento2#29056
MediaCT
magento/magento2#28547
magento/magento2#28685

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.

Contribuer aux membres de la communauté
Requêtes de tirage
Problèmes GitHub connexes
Nazar Klovanych
#28048
Volodymyr Zaets
#27948
Volodymyr Zaets
#27662
Ajith
#26704
Tu Nguyen
#27572
27058
Dzung Nguyen
#27455
23440
Rohan Hapani
#27359
27358
Mateusz Krzeszowiak
#27622
28110
Mateusz Krzeszowiak
#27270
26026
Serhii Dzepa
#28168
Oleg Aleksin
#28150
28149
Sathish Subramanian
#28113
28165
Nikola Lardev
#27957
28215
Marvin Hinz
#26572
26550
Sathish Subramanian
#28174
28201
Vadim Malesh
#28108
5477
Dmitri Tsymbal
#28112
28202
Tu Nguyen
#27828
27543
Tu Nguyen
#27642
27633
Alok Patel
#27134
28167
Tu Nguyen
#28084
28059
Tu Nguyen
#28083
27095
Ajith
#28039
Tu Nguyen
#28032
22702, 26022
Oleh Usik
#27670
Ivan Chepurnyi
#22829
Oleh Usik
#28466
Oleh Usik
#28450
Oleh Usik
#28449
Kate Kyzyma
#28418
Kate Kyzyma
#28408
Kate Kyzyma
#28391
Kate Kyzyma
#28361
28393
Dmitri Tsymbal
#28330
28377
Alexander Taranovski
#28304
28394
Nikolaj Malevanec
#28287
28392
Oleh Usik
#28105
253
Alexander Taranovski
#28034
28138
Oleh Usik
#27956
253
Lukasz Bajsarowicz
#27903
Lukasz Bajsarowicz
#27902
28383
Mateusz Krzeszowiak
#27871
28339
Evgeny Levinsky
#27839
28305
Mateusz Krzeszowiak
#27690
28340
Mateusz Krzeszowiak
#27619
28381
Mateusz Krzeszowiak
#27618
28382
Alexander Taranovski
#27586
27337
Andrii Beziazychnyi
#27481
19481
Alexander Taranovski
#27373
28040
Paweł Tylek
#27356
28433
Paweł Tylek
#27357
28166
Ihor Sviziev
#27260
28342
Oleh Usik
#28467
Kate Kyzyma
#28407
WK
#28547
28685
Edouard Chitoraga
#28222
28261
Bartłomiej Szubert
#28015
28011
Kate Kyzyma
#28631
Kate Kyzyma
#28629
Oleh Usik
#28498
Oleh Usik
#28496
Kate Kyzyma
#28469
Vadim Malesh
#28417
28488
Lukasz Bajsarowicz
#28606
Lukasz Bajsarowicz
#28601
kishorekumarkesavan
#28264
28308
Vitali Prokopov
#27854
27489
Edouard Chitoraga
#27451
21101
Abel Truong
#27339
26449
Alexandre Menk
#27338
26682
Dipesh Rangani
#27106
27099
Bartłomiej Szubert
#28735
26504
Kate Kyzyma
#28725
Vadim Malesh
#28332
21237
Oleh Usik
#27549
28755
Oleksandr Melnyk
#28666
Petkovski Marjan
#28714
Dmitriy Gallyamov
#28647
28568, 28572
Dmitri Tsymbal
#28641
28720
Dmitri Tsymbal
#28632
28721
Dmitri Tsymbal
#28635
28744
Kate Kyzyma
#28457
Edouard Chitoraga
#28205
Oleh Usik
#28072
253, 246, 28519
Vitali Prokopov
#28044
27969
Mateusz Krzeszowiak
#27616
28807
Toan Nguyen
#27064
27063
Nazar Klovanych
#28798
1474
Lukasz Bajsarowicz
#28605
28850
Pavel Bystritski
#28213
26089
Sathish Subramanian
#28004
27985
Mateusz Krzeszowiak
#27860
28823
Nazar Klovanych
#28739
Nathan de Graaf
#28515
28795
Vadim Malesh
#28460
28420
Vadim Malesh
#28421
28357
Lukasz Bajsarowicz
#28351
28376
Lukasz Bajsarowicz
#27965
27962
Sathish Subramanian
#27567
27091
quangdo-aligent
#27429
28306
Kate Kyzyma
#28727
Kate Kyzyma
#28684
Kate Kyzyma
#28679
Kate Kyzyma
#28401
jiten-patel
#27369
27051
Vadim Malesh
#28483
22431
Mateusz Krzeszowiak
#27617
28811
Vadim Malesh
#28822
27098
Oleksandr Melnyk
#28855
Dmitriy Gallyamov
#28745
28628
Petkovski Marjan
#28743
Michael Derlatka
#28713
28561
Ulzii
#28710
28584
Alexander Taranovski
#28506
Alexander Taranovski
#28492
Alexander Taranovski
#28487
28481
Alexander Taranovski
#27349
28262, 28427
Oleh Usik
#28991
Dmitri Tsymbal
#28972
29032
Kate Kyzyma
#28869
Konstantin
#28810
28982
Oleh Usik
#28696
29012
Oleh Usik
#28956
Oleh Usik
#28942
Oleh Usik
#28941
Dmitri Tsymbal
#28872
29039
Oleh Usik
#28854
Pierre Grimaud
#28832
28829
Kate Kyzyma
#28661
Maciej Pawłowski
#26534
28968
Vadim Malesh
#28898
23638
Oleh Usik
#28852
Dmitri Tsymbal
#28812
28969
Oleh Usik
#28650
29009
Michael Derlatka
#28904
26107
Dmitriy Gallyamov
#28794
28569
Petkovski Marjan
#28757
28563
Oleksandr Melnyk
#28747
Edouard Chitoraga
#27882
250
Paweł Tylek
#29054
29087
Oleh Usik
#29002
Oleh Usik
#28959
Oleh Usik
#28955
Gabriel da Gama
#28932
1501
Oleh Usik
#28925
Vadim Malesh
#28903
28064
Andrii Kalinich
#28839
26723
Vadim Malesh
#28799
21811
Vova Yatsyuk
#28797
28981
Vadim Malesh
#28752
24922
Ihor Sviziev
#28749
28900
Vadim Malesh
#28549
23290
Nazar Klovanych
#28366
824, 972
Madhu Rajawat
#27516
26191
Aditya Yadav
#26660
28143
Nazar Klovanych
#29144
Nazar Klovanych
#29071
Oleh Usik
#29053
Michael Derlatka
#28888
28570
Slava Mankivski
#29179
Max Mezhensky
#28210
Pavlo Sydorenko
#27850
Nazar Klovanych
#29149
Oleh Usik
#29143
Vadim Malesh
#29001
13210
Paweł Tylek
#28838
25934
Petkovski Marjan
#28890
26121
Oleh Usik
#29156
Gabriel da Gama
#29058
1464
Oleh Usik
#29004
Rafael Corrêa Gomes
#28891
29056
Bartłomiej Szubert
#28285
26427
Oleh Usik
#29162
Sean van Zuidam
#29077
29076
Oleh Usik
#28999
Anton Evers
#28922
29218
Zach Nanninga
#28856
28656
Tu Nguyen
#27340
27162
Ihor Sviziev
#27221
28693
Andrii Kasian
#27377
jmonteros422
#29207
1391
Sathish Subramanian
#29137
28270
Oleh Usik
#29134
29287
Oleh Usik
#29133
29289
Vadim Malesh
#29066
28943
Oleh Usik
#29007
29281
Oleh Usik
#29000
29295
lumnn
#28963
29160
lumnn
#28906
29161
Tu Nguyen
#28895
24004
Tu Nguyen
#28639
28345, 29261
RowenaS
#29170
John Carlo Octabio
#28594
Pavlo Sydorenko
#27917
28705
Hazel Joie Caquicla
#29290
Lukasz Bajsarowicz
#29271
29283
Anton Evers
#29244
29329
Andrii Kalinich
#29139
28793
Oleh Usik
#29135
Lukasz Bajsarowicz
#28992
29159
Vitaliy Ryaboy
#28975
29308
Anton Evers
#28930
29240
Tu Nguyen
#28842
Oleh Usik
#27537
28800
Maciej Pawłowski
#26032
7213
Rani Priya
#23972
23971
Sathish Subramanian
#29206
28947
Oleh Usik
#29142
29292
Nazar Klovanych
#29402
Matt Walters
#29238
543
Nazar Klovanych
#29422
Hazel Joie Caquicla
#29412
Nazar Klovanych
#29405
Hazel Joie Caquicla
#29404
Hazel Joie Caquicla
#29401
jmonteros422
#29399
Sergii Iouchtchenko
#29396
jmonteros422
#29393
Nazar Klovanych
#29392
1700, 1693
Oleh Usik
#29386
29420
Oleh Usik
#29385
29434
Lukasz Bajsarowicz
#29341
29389
Vadim Malesh
#29331
28901
Yevhenii Dumskyi
#29300
29299
Nazar Klovanych
#29285
Eden Duong
#29222
29280
Eden Duong
#29199
29198
Hôte du pipeline
#29035
29034
Andrii Kalinich
#29023
22762
Oleh Usik
#28993
29388
Oleh Usik
#28989
29380
Konstantin
#28902
29327
Chris Snedaker
#28608
29381
Chandru Rajendran
#28250
29344
Ihor Sviziev
#28137
24353
Ajith
#27977
29097
Oleksandr Kravchuk
#27905
28303
Ledian Hymetllari
#27582
27570
Ihor Sviziev
#27364
17195, 27355
Michael Derlatka
#29256
26110
Yaroslav Rogoza
#27914
28524
Hazel Joie Caquicla
#29441
Nazar Klovanych
#29438
jmonteros422
#29424
Nazar Klovanych
#29367
1747, 1704, 1702, 1699, 1694
Benjamin Rosenberger
#29451
29470
Kristof, Femme
#29305
29345
Lukasz Bajsarowicz
#29272
29346
Tu Nguyen
#28480
26498
Vadim Malesh
#28238
18823
Matthew O'Loughlin
#26256
8815, 26255
jmonteros422
#29493
1742
Sergii Iouchtchenko
#29449
Oleh Usik
#29427
Tu Nguyen
#28642
29468
Lukasz Bajsarowicz
#28599
Vitali Prokopov
#27758
26702
Pavel Bystritski
#26175
28319, 29313
Nazar Klovanych
#29492
1750
Nazar Klovanych
#29490
1749
Oleh Usik
#29485
Sergii Iouchtchenko
#29484
Nazar Klovanych
#29475
Oleh Usik
#29472
29539
Vadim Malesh
#29455
25211
yolouiais
#29398
1684
Lukasz Bajsarowicz
#29376
29453
Gerchak
#29291
29286
Nikita Sarychev
#29214
29213
Lukasz Bajsarowicz
#29202
29477
Vitaliy Ryaboy
#28923
29527

Configuration requise

Notre pile de technologie est basée sur PHP et MySQL. Pour plus d’informations, voir Configuration requise.

Instructions d’installation et de mise à niveau

Vous pouvez installer Adobe Commerce 2.4.1 à l’aide du compositeur.

Kits d’outils de migration

L’outil de migration des données permet de transférer les données de magasin Magento 1.x existantes vers Magento 2.x. Cette interface de ligne de commande comprend des fonctions de vérification, de suivi de progression, de journalisation et de test. Pour obtenir des instructions sur l’installation, voir Installation de l’outil de migration de données. Envisagez d’explorer le référentiel de migration de données ou d’y contribuer.

Code Migration Toolkit permet de transférer les extensions et personnalisations de magasin Magento 1.x existantes vers Magento 2.x. L’interface de ligne de commande inclut des scripts pour convertir Magento modules et mises en page 1.x.

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