Notes de mise à jour d’Adobe Commerce 2.4.4
Adobe Commerce 2.4.4 introduit la prise en charge de PHP 8.1. Toutes les bibliothèques et dépendances de projet ont été mises à jour pour des raisons de compatibilité avec PHP 8.1. Les dépendances du compositeur principal et les bibliothèques tierces ont également été mises à niveau vers les dernières versions compatibles avec PHP 8.1. Cette version prend également en charge OpenSearch 1.2.
Cette version comprend près de 250 correctifs et améliorations de qualité.
Appliquez AC-3022.patch pour continuer à proposer DHL comme transporteur
DHL a introduit la version 6.2 du schéma et abandonnera la version 6.0 dans un avenir proche. Adobe Commerce 2.4.4 et les versions antérieures qui prennent en charge l’intégration DHL ne prennent en charge que la version 6.0. Les commerçants qui déploient ces mainlevées devraient appliquer AC-3022.patch dès que possible pour continuer à offrir DHL en tant que transporteur. Pour plus d’informations sur le téléchargement et l’installation du correctif, consultez l’article de la base de connaissances Appliquer un correctif pour continuer à proposer DHL en tant que transporteur.
Autres informations de mise à jour
Bien que le code de ces fonctionnalités soit fourni avec les versions trimestrielles du code principal d’Adobe Commerce, plusieurs de ces projets (par exemple, B2B, Page Builder et Progressive Web Applications (PWA) Studio) sont également publiés indépendamment. Les correctifs de bugs pour ces projets sont documentés dans les informations de mise à jour distinctes spécifiques au projet disponibles dans la documentation de chaque projet.
composer.json avant que les modules externes ne soient exécutés. Actuellement, les plug-ins inclus dans le fichier composer.json mais non marqués comme approuvés sont automatiquement installés. Cependant, à compter de juillet 2022, le compositeur ne chargera pas les modules externes à moins qu’ils n’aient été explicitement autorisés. Consultez l’article de la base de connaissances Problèmes liés aux modules externes du compositeur lors de la mise à niveau vers Adobe Commerce 2.4.4 pour obtenir des instructions sur la modification du fichier composer.json afin d’autoriser explicitement le chargement des modules externes.Correctifs inclus dans cette version
Adobe Commerce 2.4.4 inclut la résolution de tous les problèmes qui ont été résolus par les correctifs suivants, fournis pour Adobe Commerce et Magento Open Source 2.4.3, 2.4.3-p1 et 2.3.7-p2 :
-
La vulnérabilité gérée par
MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patchetMDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patcha été résolue dans cette version. -
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch. Ce correctif corrige une erreur PHP fatale qui s'est produite lors de la mise à niveau. Consultez l’article Mise à niveau d’Adobe Commerce 2.4.3, 2.3.7-p1 PHP Correctif d’erreur fatale de la base de connaissances .
Appliquez ce correctif après avoir installé la version 2.4.4
Nous vous recommandons d’appliquer le correctif suivant après avoir installé Adobe Commerce 2.4.4 :
braintree-disabled-partial-capture-for-applepay-googlepay.patch. Les commerçants ne peuvent pas effectuer de remboursement partiel pour les commandes payées avec Apple Pay via Braintree. Lorsqu'un commerçant tente de créer un avoir pour un remboursement partiel à partir de la facture de commande, le champ Qté à rembourser n'est pas modifiable. Ce correctif résout ce problème. Voir l’article de la base de connaissances Adobe Commerce 2.4.4 : Impossible de créer des factures partielles
Points forts d’Adobe Commerce 2.4.4
Recherchez les points forts suivants dans cette version.
Améliorations de la sécurité
Cette version comprend un correctif de sécurité et des améliorations de la sécurité de la plateforme. Ce correctif de sécurité a été rétroporté dans Adobe Commerce 2.4.3-p2 et Adobe Commerce 2.3.7-p3.
Aucune attaque confirmée liée à ces problèmes ne s’est produite à ce jour. Cependant, certaines vulnérabilités peuvent potentiellement être exploitées pour accéder aux informations sur les clients ou prendre le contrôle de sessions d’administration. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. Par conséquent, nous vous rappelons de prendre toutes les mesures nécessaires pour protéger votre administrateur, y compris, mais sans s’y limiter, les mesures suivantes :
- PLACER SUR LA LISTE AUTORISÉE IP en cours de traitement
- authentification à deux facteurs
- utilisation d'un VPN
- utilisation d’un emplacement unique plutôt que de
/admin - bonne hygiène des mots de passe
Consultez le Bulletin de sécurité d’Adobe pour connaître la dernière discussion sur ces problèmes résolus.
Améliorations de la sécurité supplémentaires
Les améliorations apportées à la sécurité dans cette version améliorent la conformité aux dernières bonnes pratiques de sécurité, notamment :
-
L’utilisation des variables d’e-mail a été abandonnée dans la version 2.3.4 dans le cadre d’une réduction des risques de sécurité au profit d’une syntaxe de variable plus stricte. Ce comportement hérité a été entièrement supprimé dans cette version dans le cadre de la réduction des risques de sécurité.
Par conséquent, les modèles d’e-mail ou de newsletter qui fonctionnaient dans les versions précédentes d’Adobe Commerce peuvent ne pas fonctionner correctement après la mise à niveau vers Adobe Commerce 2.4.4 ou Magento Open Source 2.4.4. Les modèles concernés sont les remplacements administrateur, les thèmes, les thèmes enfants et les modèles provenant de modules personnalisés ou d’extensions tierces. Votre déploiement peut toujours être affecté, même après avoir utilisé l’outil de compatibilité de mise à niveau Upgrade pour corriger les utilisations obsolètes. Voir Migration de modèles d’e-mail personnalisés pour plus d’informations sur les effets potentiels et des instructions pour migrer les modèles affectés.
-
Les jetons d’intégration ne peuvent plus être utilisés pour l’authentification par jeton du porteur API. Auparavant, un jeton d’intégration pouvait être utilisé comme clé autonome pour l’authentification basée sur les jetons. Cependant, ce comportement a été désactivé par défaut en raison des implications pour la sécurité d’un jeton d’accès qui n’expire jamais. Le comportement précédent peut être activé via la ligne de commande ou Admin. Voir Authentification basée sur les jetons.
-
Les ID de session ne sont plus stockés dans la base de données.
-
Les jetons d’accès OAuth et les jetons de réinitialisation de mot de passe sont désormais chiffrés lorsqu’ils sont stockés dans la base de données.
-
La validation a été renforcée pour empêcher le chargement d’extensions de fichier non alphanumériques.
-
Ajout de la prise en charge de reCAPTCHA aux codes coupon.
-
Swagger est désormais désactivé par défaut lorsqu’Adobe Commerce est en mode de production.
-
Le protocole HTTPS est désormais activé par défaut pour le storefront Adobe Commerce. Les paramètres Utiliser des URL sécurisées sur Storefront et Utiliser des URL sécurisées dans Admin sont activés par défaut et tous les cookies intégrés sont désormais définis comme sécurisés.
-
Le plug-in de confusion des dépendances est désormais requis pour toutes les installations d’Adobe Commerce. Auparavant, ce plug-in n’était requis que pour les installations basées sur le compositeur . Il autorise désormais les versions approuvées. Les commerçants peuvent contourner les contraintes définies dans ce plug-in qui interdisent certaines combinaisons d’installations du compositeur. Les contraintes peuvent être ignorées pour les versions approuvées. Adobe Commerce affiche désormais un avertissement avant de poursuivre l’installation.
-
L’équipe de développement peut désormais configurer la taille maximale des tableaux acceptés par les points d’entrée RESTful Adobe Commerce par point d’entrée. Voir Sécurité des API.
-
Ajout de mécanismes pour limiter la taille et le nombre de ressources qu’un utilisateur peut demander par le biais d’une API web à l’échelle du système et pour remplacer les valeurs par défaut sur des modules individuels. Cela résout le problème abordé par
MC-43048__set_rate_limits__2.4.3.patch. Voir Sécurité des API.
Améliorations de Platform
Adobe Commerce 2.4.4 prend désormais en charge PHP 8.1. Toutes les bibliothèques et dépendances de projet ont été mises à jour pour des raisons de compatibilité avec PHP 8.1. Autres améliorations apportées à la plateforme :
-
Adobe Commerce 2.4.4 prend en charge Elasticsearch 7.16 et OpenSearch 1.2. Les commerçants Adobe Commerce avec des déploiements hébergés sur site peuvent utiliser l’une ou l’autre des solutions. Cependant, OpenSearch est désormais le moteur de recherche par défaut pour les déploiements d’Adobe Commerce 2.4.4 hébergés dans le cloud. Tous les clients disposant de déploiements cloud qui effectuent une mise à niveau vers la version 2.4.4 doivent utiliser OpenSearch. Voir Passage à OpenSearch pour Adobe Commerce sur Cloud 2.4.4
-
La bibliothèque
JQuerya été mise à niveau vers la version 3.6. La bibliothèquejquery-uia été mise à niveau vers la version 1.13.0. Plusieurs autres bibliothèques JavaScript ont été mises à jour vers les dernières versions. -
TinyMCE 5.8.1 est désormais pris en charge. TinyMCE 4 a été supprimé de la base de code.
-
La bibliothèque
RequireJSa été mise à niveau vers la dernière version (v2.3.6). GitHub-33672 -
PHPUnit a été mis à niveau vers la dernière version (9.5.x). Les tests et les structures de test ont été mis à jour pour être compatibles avec la nouvelle version.
-
La plupart des dépendances Laminas ont été mises à niveau vers les dernières versions compatibles avec PHP 8.1. Trois dépendances Laminas ont été supprimées de la base de code pour réduire le nombre de dépendances.
Mise à niveau de l’interface utilisateur jQuery
L’interface utilisateur de jQuery a été mise à niveau vers la dernière version (v1.13.0). Les composants jQuery v1.10.0 suivants ont été supprimés :
-
ajaxOptionsetcachedes onglets. Voir Onglets . -
.zIndex(). L’interface utilisateur jQuery v1.12.1 comprendjquery/z-index.js, qui prend en charge l’utilisation de.zIndex(). Voir IU principale. -
Basculement des données pour les noms de widgets. Vous devez utiliser le nom complet pour la clé
.data(). -
Codage en dur de classes telles que
ui-corner-alldans les widgets.
Améliorations des performances et de l’évolutivité
Les améliorations de performances d’Adobe Commerce améliorent le traitement des ordres à débit élevé et l’optimisation des files d’attente des messages. La fonctionnalité de commandes asynchrones introduite dans cette version prend en charge la création d’environ 60 000 commandes par heure. Les versions antérieures d’Adobe Commerce prenaient en charge le traitement d’environ 10 000 commandes/heure, ce qui constituait un goulot d’étranglement potentiel pour les ventes flash. La nouvelle fonctionnalité consommateurs multiples prend en charge la mise à l’échelle du nombre de consommateurs de files d’attente de messages sur une seule instance cloud et augmente le nombre de commandes traitées par heure.
Améliorations des performances de cette version :
-
La fonction AsyncOrder prend en charge un placement de commande plus rapide que l’exécution synchrone ne le permet. Lorsque AsyncOrder est activé, le placement de la commande est exécuté en arrière-plan pendant que les acheteurs effectuent d’autres tâches sur le storefront.
-
La nouvelle option de configuration Activer la vérification de l’inventaire au chargement du panier permet de basculer la vérification de l’inventaire lors du chargement d’un produit dans le panier. Elle est activée par défaut. Lorsque vous désactivez cette option, Adobe Commerce ignore la vérification de l’inventaire au chargement du devis, ce qui accélère le passage en caisse, en particulier pour les paniers contenant de nombreux articles.
-
La nouvelle option de configuration
multiple_processesprend en charge l’exécution de consommateurs parallèles dans plusieurs processus. Auparavant,cronexécutait un seul client lorsque cela était nécessaire. Le lancement de plusieurs consommateurs pour exécuter des processus en parallèle peut améliorer la vitesse d’exécution des tâches. Pour activer cette fonctionnalité, ajoutezmultiple_processesau fichierapp/etc/env.php. -
Les opérations de panier pour les paniers contenant plus de 750 produits configurables ont été améliorées en augmentant la limite de mémoire définie par
max_input_varsdans le fichierphp.inipour prendre en charge le volume des variables d’entrée. -
Optimisation du traitement des règles de vente lors du passage en caisse en différant le calcul du total. En règle générale, le traitement des règles de vente se produit chaque fois qu’un acheteur ajoute un produit à son panier, met à jour la quantité de produit ou clique sur le bouton Passer une commande. Les commerçants peuvent activer ce report en définissant la variable
checkout/deferred_total_calculatingdans le fichierenv.php. Vous pouvez également exécuterbin/magento setup:config:set --deferred-total-calculating 1|0. -
Améliorations apportées au processus de validation des commandes affectées par une règle de prix de panier lors du placement asynchrone de la commande.
GraphQL
Cette version comprend les améliorations GraphQL suivantes :
- Couverture GraphQL complète pour les devis négociables. Les utilisateurs de la société B2B peuvent désormais effectuer toutes les tâches liées aux devis négociables à l’aide de GraphQL. Les versions précédentes de cette API prenaient en charge les flux de négociation, mais pas le passage en caisse.
Nouvelles mutations
-
mutation
assignCustomerToGuestCart -
mutation
placeNegotiableQuoteOrder -
mutation
setNegotiableQuoteBillingAddress -
setNegotiableQuotePaymentMethodmutation -
mutation
setNegotiableQuoteShippingMethods -
mutation
setNegotiableQuoteShippingAddress -
Amélioration des performances :
-
Les performances des opérations de panier GraphQL se sont améliorées. La méthode
collectQuoteTotals()n’est désormais appelée qu’une seule fois lors d’une requête GraphQL, ce qui réduit le temps de réponse. -
Les performances du storefront ont été améliorées par les modifications apportées à la mise en cache des requêtes GraphQL. Fastly et Varnish mettent désormais en cache les requêtes GraphQL envoyées avec des jetons
auth.
-
-
Nouveaux paramètres de configuration d’administration liés au storefront. La requête
storeConfigrenvoie désormais les paramètres de configuration des modes de paiement Passage en caisse du sous-total zéro et Chèque/mandat. -
Mise à jour de la bibliothèque GraphQL principale. La bibliothèque
webonyx, qui permet au cœur de GraphQL de fonctionner, a été mise à niveau vers la version ^14.9. -
Correction de problèmes de traduction dans GraphQL avec les magasins multisites et multilingues. Le résolveur GraphQL renvoie désormais les chaînes traduites en fonction de la portée du magasin comme prévu.
-
GraphQL fournit désormais à New Relic des noms de transaction descriptifs, ce qui peut s’avérer utile pour le débogage. GitHub-30915
Consultez le Guide du développeur de GraphQL pour plus d’informations sur ces améliorations.
B2B
Cette version comprend plusieurs correctifs. Voir Notes De Mise À Jour B2B.
Extensions groupées par le fournisseur
À l’exception de Braintree, toutes les extensions fournies par le fournisseur ont été supprimées de la base de code d’Adobe Commerce 2.4.4. Les commerçants doivent migrer vers les extensions officielles, qui sont disponibles sur le Commerce Marketplace.
PWA Studio
PWA Studio v.12.3.0 est compatible avec Adobe Commerce 2.4.4. Elle prend en charge reCaptcha, l’optimisation du contenu de Page Builder et le contenu personnalisé. Pour plus d’informations sur les améliorations et les correctifs, voir Versions de PWA Studio. Consultez Compatibilité des versions pour obtenir la liste des versions de PWA Studio et de leurs versions principales d’Adobe Commerce compatibles.
Améliorations apportées aux paiements PayPal
-
L’option de paiement Venmo est désormais prise en charge.
-
Payer plus tard a été ajouté comme option pour les acheteurs en fonction de l’emplacement de l’acheteur, et non de celui du vendeur.
-
Les commerçants peuvent désormais définir le pays de l’acheteur lors du test de l’expérience de l’acheteur dans le pays de leur choix. Auparavant, les tests étaient limités au pays dans lequel le commerçant est établi. Cette modification n’est valide qu’en mode sandbox.
-
Les messages de la page de passage en caisse affichent désormais un message précis sur le montant et le nombre d’incréments que l’acheteur devra payer lors de l’utilisation de Pay Later.
Recherche en direct
Live Search prend désormais en charge PHP 8.1.
Le nouveau module Magento_ElasticsearchCatalogPermissionsGraphQl est désactivé pendant l’installation de la recherche en direct mise à jour installation. Les installations de Live Search existantes doivent être mises à niveau vers Live Search 2.0.0 pour tirer parti de ces fonctionnalités. Pour plus d’informations, consultez la section Live Search Notes de mise à jour.
Mises à jour de l’accessibilité
Cette version renforce la conformité aux directives d’accessibilité standard. Ces améliorations améliorent l’expérience des utilisateurs et utilisatrices ayant une vision limitée ou des capacités linguistiques, cognitives et d’apprentissage limitées. Les performances des outils de Reader d’écran ont également été améliorées.
Les améliorations apportées à l’accessibilité sont les suivantes :
- Les infobulles contiennent du texte et des libellés visibles, précis et axés sur les tâches pour les entrées
- Les boutons Modifier comportent désormais un texte unique.
- Les boutons d’administration ont désormais un objectif unique, accessible et descriptif en termes de conformité aux normes AA
- Les images d’icônes qui véhiculent du sens offrent désormais une alternative textuelle.
- Amélioration du contraste des boutons d’administration et des champs de formulaire avec un rapport de contraste d’au moins 3 :1 avec les couleurs adjacentes.
Page Builder
- Les commerçants peuvent désormais ajouter un texte secondaire (
alt_text) aux images (image, bannière, diapositive) pour améliorer l’accessibilité du contenu. GitHub-746
Problèmes résolus
Nous résolvons des centaines de problèmes dans le code principal d’Adobe Commerce 2.4.4. Un sous-ensemble de ces problèmes résolus est décrit ci-dessous.
Installation, mise à niveau, déploiement
- Adobe Commerce consigne désormais comme prévu les erreurs de déploiement de contenu statique dans les fichiers journaux de génération.
- Les correctifs de données ne peuvent plus ignorer les contraintes uniques d'une table et insérer des valeurs en double dans une table de base de données MySQL. Auparavant, les correctifs pouvaient insérer des valeurs en double, ce qui corrompait la base de données.
- Les commerçants peuvent désormais effectuer une mise à niveau d’un déploiement Adobe Commerce 2.4.2 avec Klarna vers Adobe Commerce 2.4.3. GitHub-33760
- La configuration du générateur de plans de site peut désormais être modifiée avec succès à partir de la ligne de commande. Auparavant, Adobe Commerce affichait cette erreur lorsque vous tentiez de modifier la configuration du plan de site en dehors d’Admin :
Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78. GitHub-31428
- La commande
bin/magento app:config:imports’exécute désormais sans erreur lorsque vous mettez à jourtimevaleurs dansconfig.php. Auparavant, la modification de la configuration des alertes de produit par modification manuelle (c’est-à-dire sans utiliser Admin) entraînait une erreur.
Accessibilité
- Les erreurs d’accessibilité avec la navigation sur le panier et les pages de passage en caisse ont été résolues. GitHub-34483
- Les lecteurs d’écran peuvent désormais lire tous les éléments de formulaire pertinents dans les pages de produits.
- Le contraste a été amélioré pour les boutons de suppression d’images et de déplacement d’icônes dans tout le storefront afin d’améliorer la lisibilité pour les utilisateurs peu voyants.
- Un nom accessible et un texte secondaire ont été attribués à l’icône en forme de loupe utilisée pour exécuter des recherches dans l’interface du produit.
- La barre d’outils de l’éditeur de texte enrichi est désormais accessible à l’aide de la touche de tabulation.
- L’entrée Cet élément a un poids sélectionnez-le dans la page de détails Catalogue > Produit a désormais des libellés visibles et un nom accessible.
- Le nom accessible du contrôle inclut désormais le texte de son libellé visible pour le nombre d'éléments par liste déroulante de page.
- Les contrôles de tableau de la page de détails Catalogue > Produit sont désormais dotés de libellés visibles et d’un nom accessible lorsque le tableau est réduit.
- Les liens de modification dans la table Produits possèdent désormais un texte de lien unique et significatif.
- Les déclencheurs qui développent les infobulles fournissent désormais des noms textuels.
- Les boutons du storefront ont désormais des noms accessibles, descriptifs et uniques. Auparavant, les boutons fractionnés avec un bouton de texte et un bouton d’icône de flèche vers le bas adjacent avaient le même nom accessible.
- Le contraste a été amélioré pour les boutons de suppression d’images et de déplacement d’icônes dans tout le storefront afin d’améliorer la lisibilité pour les utilisateurs peu voyants.
- Des alternatives textuelles ont été ajoutées à l’icône en forme de crayon qui s’affiche lorsqu’un commerçant modifie une entrée pour l’accordéon Optimisation du moteur de recherche.
- Un nom accessible et un texte secondaire ont été attribués à l’icône en forme de loupe utilisée pour exécuter des recherches dans l’interface du produit.
- Le champ de saisie de texte de la page produit Nouvelle vue est désormais accessible.
- L’entrée Cet élément a un poids sélectionnez-le dans la page de détails Catalogue > Produit a désormais des libellés visibles et un nom accessible.
AdminGWS
- Les administrateurs disposant d’autorisations restreintes peuvent désormais créer un retour comme prévu.
Serveur principal
- Les administrateurs peuvent désormais se connecter à l’administrateur dans un déploiement pour lequel un chemin d’administration personnalisé est configuré et la clé secrète est activée. Auparavant, Adobe Commerce affichait cette erreur :
Invalid security or form key. Please refresh the page.
- Adobe Commerce ne redirige plus vers la portée Vue Tous les magasins lorsque la hiérarchie multi-magasin change. Auparavant, une fois la hiérarchie enregistrée, les acheteurs étaient redirigés vers une URL de magasin incorrecte et la portée Toutes les vues de magasin était sélectionnée dans un déploiement multi-magasin.
Lots de produits
- Les acheteurs peuvent désormais ajouter un produit groupé avec une taxe sur les produits fixe et deux options à leur panier. Auparavant, Adobe Commerce n’ajoutait pas le produit et affichait cette erreur :
We can't add this item to your shopping cart right now.
- La validation du formulaire sous la forme des attributs
data-validateetmina été ajoutée au champ Quantité du panier pour éviter les valeurs négatives pour les produits groupés.
- La requête
productsfiltre désormais correctement les produits groupés lorsque les produits enfants sont désactivés au niveau de la vue du magasin. Auparavant, la requête renvoyait des produits enfants qui étaient désactivés au niveau de la vue du magasin.
cronefface désormais le cache de catégorie de produits comme prévu lors de l’exécution duindexer_update_all_views. Auparavant, Adobe Commerce affichait un nombre de produits incorrect sur la page de catégorie après la mise à jour en masse de nombreux produits de la catégorie.
- Adobe Commerce met désormais à jour le cache de produit de catégorie comme prévu lorsqu’un produit groupé réapparaît en stock.
- L’algorithme de nettoyage du cache qui s’exécute lors de la réindexation a été optimisé. Les produits groupés s’affichent désormais comme prévu lorsqu’une catégorie est mise en cache lors de la réindexation. Auparavant, les produits groupés ne s’affichaient pas pendant des heures après la mise en cache des catégories de produits lors de la réindexation.
- La conversion de devise se produit désormais comme prévu dans les confirmations par e-mail pour les achats de produits groupés dans des déploiements multi-magasin qui utilisent différentes devises. GitHub-33426
- Les remises de prix spéciaux de prix avancés sont désormais correctement affichées pour les produits groupés avec un préfixe de % dans la grille de produits. Auparavant, une remise de % s’affichait incorrectement avec le préfixe $ au lieu de % dans la grille de produits.
- Le statut du produit groupé dans l’administrateur est désormais automatiquement mis à jour lorsqu’un produit associé modifie son statut.
- Le résolveur GraphQL pour les produits groupés vérifie désormais si les produits groupés enfants ont été désactivés. Auparavant, cette vérification ne se produisait pas et des requêtes telles que
categoryListrenvoyaient des produits enfants qui n’étaient pas vendables.
- Les réponses aux requêtes
cartrenvoient désormais des remises précises pour les produits groupés avec des prix dynamiques. Auparavant, les réponses à la requête incluaient des remises appliquées à chaque produit groupé individuellement.
Cache
- Le cache de page ne croît plus rapidement avec une utilisation standard. GitHub-9458
- Le fait de passer une commande n’entraîne plus la suppression de toutes les balises de cache liées aux produits commandés du cache de vernis. GitHub-30128
- Le cache de page complet du site n’est plus effacé lorsque vous mettez à jour un produit à partir des catégories principales ou exécutez un index pour mettre à jour les attributs du produit ou l’état du stock. Auparavant, le cache de vernis ajoutait les identifiants de catégorie de menu supérieur à toutes les balises du cache de page. GitHub-33465
Panier et passer en caisse
- Le prix minimum annoncé Qu'est-ce que c'est ? lien de la page du panier est désormais cliquable et ouvre la fenêtre contextuelle d’informations comme prévu. Auparavant, cliquer sur ce lien n’avait aucun effet.
- Les acheteurs peuvent désormais passer des commandes sans erreur après une temporisation de session dans les déploiements où le panier persistant est activé. Auparavant, Adobe Commerce affichait une erreur de paiement après un délai d’expiration de session.
- L’affectation d’une valeur d’ordre de tri élevé à un attribut d’adresse du client n’entraîne plus de dégradation des performances sur la page du passage en caisse.
- Adobe Commerce rétablit désormais la quantité de produits du panier à la valeur précédente si la quantité mise à jour n’est pas valide.
- Cliquer sur le bouton Ajouter au panier dans la section Récemment consultés redirige désormais comme prévu vers la page des détails du produit. Auparavant, les acheteurs étaient redirigés vers la page de liste des produits.
- Les acheteurs invités peuvent désormais passer en caisse avec une adresse client qui contient plusieurs types d’attributs d’adresse client personnalisés. Auparavant, les valeurs des attributs personnalisés n’étaient pas correctement formatées lorsqu’elles s’affichaient lors de l’extraction. GitHub-30290
- Adobe Commerce applique désormais correctement le seuil de livraison gratuite aux commandes lorsque les taux du tableau sont activés. GitHub-21832
- Vous pouvez désormais utiliser
POST /V1/guest-carts/:cartId/itemspour ajouter au panier des produits simples avec différentes options. Auparavant, cet appel modifiait la quantité du premier produit simple que vous ajoutiez au lieu d’ajouter un second produit simple avec les options spécifiées. GitHub-32302
- La section Résumé de la commande de la page de passage en caisse affiche désormais la devise et le montant corrects lorsqu’un déploiement est configuré pour
Polandpays et la devisePLN. Auparavant, la page de panier et de passage en caisse affichait le montant 0 PLN.
- Adobe Commerce ne renvoie plus d’erreur lorsqu’un acheteur clique sur Mettre à jour le panier après avoir modifié la quantité d’un produit dans le mini panier. Auparavant, Adobe Commerce affichait cette erreur :
The quote item isn't found. Verify the item and try again.
- Les requêtes de
productsGraphQL pour les produits configurables dans un magasin spécifique renvoient désormais les plages de prix des produits sur le magasin spécifié uniquement. Auparavant, les requêtes renvoyaient des plages de prix pour des produits simples sur des magasins non spécifiés.
- Adobe Commerce ne renvoie plus cette erreur lorsqu’un acheteur ajoute une adresse de facturation à laquelle il manque un champ de rue :
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }". GitHub-33826
- Adobe Commerce ne renvoie plus d’erreur de console lors du passage en caisse dans les magasins desquels le mini panier a été supprimé. GitHub-34513
- Le passage en caisse n’échoue plus au stade du paiement lorsque les valeurs de champ rue de l’adresse de facturation sont manquantes ou que la valeur de champ rue n’est pas un tableau. Auparavant, l’extraction échouait avec cette erreur :
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }". GitHub-33826
- Le total des ventes est désormais correctement calculé dans la grille de rapport des coupons. Auparavant, le total des ventes n'incluait pas le montant des frais d'expédition.
- Les remises globales du panier sont désormais correctement calculées lorsque l’acheteur change de mode d’expédition.
- La liste déroulante du champ État de la page Créer une commande d’administration est désormais renseignée par les valeurs prédéfinies pour le pays sélectionné. Auparavant, ce champ était un champ de texte d’entrée au lieu d’un menu déroulant.
- Adobe Commerce ne renvoie plus d’erreur une fois que vous avez utilisé la mutation
addConfigurableProductsToCartpour ajouter un produit configurable à un panier directement après avoir modifié la vue du magasin.
- Adobe Commerce ne renvoie plus d’erreur lorsque vous utilisez la mutation
addConfigurableProductsToCartpour ajouter au panier un enfant désactivé d’un produit configurable. Auparavant, Adobe Commerce générait une erreur de violation de contrainte d’intégrité.
- Les produits de vente croisée ne sont plus visibles sur la page du panier lorsque le paramètre de configuration Afficher les articles de vente croisée dans le panier est désactivé.
- La valeur d’utilisation du coupon ne change plus si la commande à laquelle le coupon a été appliqué échoue. Auparavant, les coupons générés automatiquement à usage unique étaient marqués comme non valides après l’application du coupon dans le panier, mais la commande n’était pas passée.
- Une validation a été ajoutée au workflow de passage en caisse pour comparer l’adresse postale du client à la valeur par défaut. Si le processus de validation identifie des modifications, il
customer_address_iddéfinit surnullpour le traiter comme une nouvelle adresse client. Auparavant, si le client enregistrait l’adresse sans validation lors du passage en caisse et que ce même client tentait de passer une commande à l’aide de la même adresse après l’application de la validation au champ de passage en caisse , Adobe Commerce n’acceptait pas l’adresse modifiée et générait une exception.
Règles de prix du panier
- La génération des coupons est désormais bloquée jusqu’à ce que la règle de prix de panier associée soit enregistrée avec l’option
autoactivée. Si vous essayez d’enregistrer cette règle sans activer l’optionauto, Adobe Commerce affiche le message suivant :Rule is not saved with auto generate option enabled. Please save the rule and try again.
- Ajout d’un test pour confirmer l’application correcte d’une remise de règle de prix de panier.
- Les règles de prix de panier qui utilisent une condition de SKU avec Si un article est TROUVÉ/INTROUVABLE dans le panier avec Toutes/L’une de ces conditions est vraie fonctionnent désormais comme prévu avec des produits configurables.
- Les règles de prix de panier sont désormais correctement appliquées pour les produits groupés à prix fixe. Auparavant, les règles de prix de panier ne s’appliquaient pas à ces produits lorsqu’au moins un produit enfant avait le même attribut défini dans la condition de règle.
- Un produit au prix de 0 peut désormais être ajouté avec succès au panier lorsqu’Adobe Commerce est configuré avec la règle de prix de panier Remise forfaitaire pour l’ensemble du panier. Auparavant, Adobe Commerce affichait cette erreur :
report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85.
- Correction d’une condition en raison de laquelle la requête
cartrenvoyait un montant de remise inexact lorsque les règles de panier avec des remises à montant fixe étaient activées.
Catalogue
- Adobe Commerce ne renvoie plus d’exception lors de l’exécution d’une action de mise à jour en masse d’attributs sur la grille de produits lorsqu’un produit possède un attribut
datetime.
- Les requêtes GraphQL renvoient désormais des résultats pour les produits enfants d’un produit configurable en fonction des paramètres de filtre de visibilité du ou des produits enfants.
- Adobe Commerce ne modifie plus les prix des produits associés lorsque les attributs de produit configurables sont modifiés. Auparavant, le prix minimum annoncé (MAP) pour un produit configurable remplaçait le prix des produits associés en magasin.
- Les administrateurs peuvent désormais réaffecter le dernier produit restant dans une catégorie et enregistrer la catégorie vide.
- Les valeurs d’attribut de liste déroulante/sélection multiple pour la grille de produit et les filtres Admin sont désormais dérivées comme prévu des paramètres d’administration. Auparavant, les valeurs d’attribut étaient dérivées des paramètres de magasin par défaut.
- Les requêtes de catégorie GraphQL renvoient des informations sur les modifications apportées aux catégories intermédiaires comme prévu.
- Les listes de produits sont désormais rendues avec précision dans l’interface d’administration dans les déploiements avec des produits affectés à la fois à une catégorie parente et à ses sous-catégories, mais à des positions différentes dans chaque catégorie. Auparavant, le rendu de la liste de produits échouait avec cette erreur :
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists. GitHub-33145
- Les attributs à sélection multiple dotés de nombreuses options (plus de 150) peuvent désormais être affectés à de nouveaux produits. Auparavant, les options d’attribut étaient enregistrées dans le tableau
catalog_product_entity_varcharet toutes les options n’étaient pas présentes lorsque vous avez rouvert le produit dans l’Administration. GitHub-33486
- Ajout d'une validation pour le cas où un routeur ne peut pas instancier une classe d'action collectée à partir d'une URL. Adobe Commerce affiche désormais le message d’erreur standard. Auparavant, Adobe Commerce affichait cette erreur :
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare.
- Adobe Commerce calcule désormais correctement les remises lorsque deux règles de panier sont appliquées à une commande qui répond à ces conditions : une règle de panier est appliquée avec un code de coupon et une condition Prix fixe sur l’ensemble du panier et la deuxième règle de prix de panier ne comporte aucun coupon et une condition Pourcentage de remise sur le prix du produit. Auparavant, l’algorithme approprié ne pouvait pas répartir correctement la remise proportionnellement entre les produits du panier lorsqu’une règle de panier précédente avait déjà appliqué une remise sur certains produits.
- L’affectation de nombreux produits (environ 10 000) à une catégorie n’entraîne plus le blocage du navigateur.
- Les attributs d’image sont désormais enregistrés de manière cohérente dans la base de données, que ce soit depuis Admin ou lors d’un import. Auparavant, les valeurs de texte de remplacement d’image étaient enregistrées de manière incohérente. Si l’image existait et que le libellé était défini sur « null », la valeur du libellé n’était pas réinitialisée dans la base de données.
- La requête SQL du widget de catalogue a été optimisée. Auparavant, les requêtes MySQL volumineuses ralentissaient le chargement des pages et entraînaient des pannes MySQL.
- Les filtres de prix fonctionnent désormais correctement avec les produits configurables en rupture de stock. Auparavant, les produits configurables en rupture de stock n’étaient pas affichés dans leur plage de prix correcte.
- La mise à jour d’un produit enfant ne supprime plus la remise de règle de catalogue héritée de son produit configurable parent pendant le processus d’indexation partielle. Auparavant, lorsque nous affections un produit configurable à une catégorie, mais pas à ses produits simples associés, et que nous utilisions cette catégorie pour créer une règle de catalogue, Adobe Commerce supprimait la règle de catalogue affectée au produit simple au cours du processus d’indexation partielle.
- La liste des produits groupés et configurables dans la vue Grille contient désormais uniquement des produits simples et virtuels lors de l’ajout d’options de produit. Auparavant, l’application incluait des produits simples avec des options.
Règle de catalogue
- Les mises à jour quotidiennes des règles de catalogue n’entraînent plus de dégradation des performances. Auparavant, l’indexation partielle des prix des produits du catalogue ne supprimait pas les anciens prix ou dates.
- Adobe Commerce ne supprime plus les règles de prix de catalogue sur les produits configurables lors d’une réindexation partielle. Auparavant, seuls les sous-produits étaient réindexés lorsque les produits configurables étaient réindexés.
- Les règles de prix de catalogue avec la condition category n’est pas category_id s’appliquent désormais aux produits qui n’appartiennent à aucune catégorie.
Produits configurables
- Le nom du libellé d’option de produit configurable est désormais basé sur la vue de magasin sélectionnée lors de la création de la commande d’administration. Auparavant, Adobe Commerce utilisait le nom du libellé à partir de la vue de magasin par défaut.
- Les listes de produits incluent désormais correctement les produits enfants d’un produit en rupture de stock lorsque l’indicateur global d’affichage des produits en rupture de stock est activé. Auparavant, la liste de produits n’incluait pas le produit enfant si l’une des options de plusieurs produits enfants était en rupture de stock lorsque cet indicateur était activé.
- Vous pouvez désormais utiliser la mutation
addConfigurableProductsToCartpour ajouter un produit configurable au panier sur une vue de magasin autre que celle par défaut. Auparavant, vous ne pouviez pas ajouter un produit configurable à un panier lorsque l’ID de site web et l’ID de magasin étaient différents. GitHub-30948
- Les requêtes
productsGraphQL ne renvoient plus de données sur les produits enfants désactivés des produits configurables.
- La création de configurations pour un produit configurable ne remplace plus les modifications apportées aux configurations existantes. Auparavant, le statut des variations existantes était remplacé par le statut par défaut
enabledaprès la génération de nouvelles variations.
- Adobe Commerce ne renvoie plus d’erreur interne lorsque vous tentez d’ajouter au panier un enfant désactivé d’un produit configurable.
Client
- Adobe Commerce prend désormais en compte la portée du site web pour les paramètres régionaux d’administration lors de la création de la commande. Auparavant, les détails de commande tels que les attributs d’adresse du client fonctionnaient correctement sur un seul site web dans un déploiement multisite. GitHub-23254
Segment client
- Le nombre de clients appariés pour un nouveau segment de clients est désormais mis à jour automatiquement lorsque vous créez un compte d’entreprise. Auparavant, vous deviez actualiser les données de segment pour obtenir un comptage précis.
- Les erreurs de validation des champs d’e-mail sur la fenêtre contextuelle de connexion au passage en caisse correspondent désormais aux erreurs de validation des e-mails sur la page de connexion du client lorsqu’un client tente de se connecter à l’aide d’un compte de messagerie non valide.
- Adobe Commerce n’inclut plus de message d’erreur dans l’e-mail des détails de l’expédition lorsqu’un commentaire d’expédition est ajouté par l’administrateur et que la case Notifier le client est activée. Auparavant, les e-mails de confirmation d’expédition incluaient le message suivant :
We're sorry, an error has occurred while generating this content.
- Les valeurs d’ID de région et de pays sont désormais correctement converties dans les modèles d’e-mail. Auparavant, lorsque vous cliquiez sur le lien Aperçu à partir du modèle d’e-mail Administrateur, le pays et le nom de la région ne s’affichaient pas correctement.
- Les e-mails de mise à jour des ventes envoyés par l’administrateur pour les affichages de boutique autres que ceux par défaut contiennent désormais les libellés de statut de commande corrects. Auparavant, ces e-mails affichaient toujours le statut à partir du magasin par défaut. GitHub-29263
- Adobe Commerce inclut désormais
Content-Disposition: inlineen-têtes dans les e-mails comme prévu. GitHub-29258
- Les e-mails de notification de commande et d’expédition fonctionnent désormais comme prévu dans les déploiements utilisant Microsoft Outlook et MS Exchange Server. Auparavant, le corps de l’e-mail était vide, mais contenait une pièce jointe étiquetée ATT*. GitHub-25076
- Les e-mails de commande contiennent désormais des données localisées à l’aide des paramètres régionaux de l’acheteur comme prévu. Auparavant, les e-mails de commande utilisaient les paramètres régionaux d’administration.
- Cliquez sur l’aperçu d’un modèle d’e-mail pour afficher l’aperçu du modèle dans une fenêtre distincte, comme prévu. Auparavant, Adobe Commerce ouvrait l’aperçu du modèle simultanément à partir de la grille Modèles d’e-mail et dans une fenêtre contextuelle.
- Les e-mails de commande asynchrones envoyés à partir d’un site web autre que celui par défaut incluent désormais des URL de logo provenant du site web approprié. Auparavant, ces e-mails incluaient toujours les logos du site web principal ou par défaut. (Une clé par défaut avec une valeur
storeCodea été affectée au deuxième argument de tableau transmis à la fonctionUrlInterfacegetUrl. Cette valeur distingue les URL par rapport à différents magasins/sites web et génère unbaseUrlcorrect pour le contenu d’e-mail envoyé au client ou à la cliente.)
Frameworks
- Les comparaisons non strictes entre des nombres et des chaînes non numériques fonctionnent désormais en convertissant le nombre en chaîne et en comparant les chaînes. Les comparaisons entre des nombres et des chaînes numériques continuent de fonctionner comme avant. Cela signifie que
0 == "not-a-number"est désormais considéré comme faux. GitHub-33780
- Le
Magento\Payment\Helper\Datad’assistance ne crée plus de mises en page dans les constructeurs. Auparavant, lorsque cet helper était utilisé dans des commandes personnalisées sans spécifier d’indicatif régional, Adobe Commerce générait une erreur. GitHub-33908
- Mise à jour de la dépendance du compositeur d’
allure-framework/allure-php-api.
- Adobe Commerce renvoie désormais un code de réponse 500 lorsqu’une exception se produit dans le fichier d’amorçage. Auparavant, Adobe Commerce renvoyait un code d’état 200 OK. GitHub-22196
- Le symbole de devise est maintenant chargé comme prévu sur les pages de détails du produit Storefront. Auparavant, ce symbole disparaissait parfois après le rechargement de la page JavaScript.
- La mise à jour des
symfony/consolen’entraîne plus d’échec lors de l’exécution desbin/magento setup:di:compile. GitHub-33595
- De nouvelles options requises ont été ajoutées aux fichiers
.htaccessetnginx.confdistribués avec Adobe Commerce pour la prise en charge de PHP 8.x. Les options obsolètes ont également été supprimées. GitHub-34358
- Les commerçants peuvent désormais charger une vidéo pour plusieurs produits. Le processus de génération de fichier ajoute désormais une extension au nom de fichier uniquement si le nom de fichier chargé contient une extension. Auparavant, lorsqu’un commerçant tentait de charger puis d’enregistrer la même vidéo pour deux produits différents, Adobe Commerce générait cette erreur :
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699. Cela est dû au fait qu’Adobe Commerce a tenté d’ajouter une extension de fichier au nom, que le nom du fichier chargé ait ou non une extension.
- Correction de problèmes de construction de
sprintf(__())etsprintf(Magento\Framework\Phrase())pour la compatibilité avec PHP 8.x dans toute la base de code. Auparavant, Adobe Commerce générait ce type d’erreur :Expected parameter of type 'string', 'Magento\Framework\Phrase' provided. GitHub-34085
- Amélioration de la validation des paramètres de requête de recherche avancée. GitHub-33589
- L’exécution de
bin/magento support:backup:codecrée désormais une sauvegarde comme prévu. Auparavant, Adobe Commerce créait une sauvegarde, mais générait une erreur.
- Les processus
cronexécutés avec succès se voient désormais attribuer le statutsuccess. Auparavant, le même processuscronpouvait être exécuté deux fois, car les processuscronréussis se voyaient attribuer un statutpending.
- La tâche
staging_synchronize_entities_periodcronfonctionne désormais comme prévu. Auparavant, la première mise à jour d’évaluation était appliquée avec succès, mais Adobe Commerce a généré cette erreur avec les mises à jour suivantes :report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted.
- Le module
Magento_Loggingprend désormais en charge IPv6.
Correctifs généraux
- Adobe Commerce copie désormais tous les champs de produit en fonction de leurs portées définies lors de la duplication d’un produit. Auparavant, les champs nom et description étaient réinitialisés à
globalportée.
- Adobe Commerce n’applique plus l’arrondi delta à une remise lorsque le prix du produit est de 0. Auparavant, Adobe Commerce calculait un montant de remise négatif.
- Les produits dotés d’un attribut Définir comme nouveau auquel une date de début vide et une date de fin expirée sont attribuées peuvent désormais être enregistrés. Auparavant, Adobe Commerce générait cette erreur lorsque vous enregistrez un produit avec les paramètres suivants :
Make sure the To Date is later than or the same as the From Date.
- Adobe Commerce ne duplique plus une page CMS existante dans la hiérarchie CMS lorsque vous modifiez son identifiant d’URL d’optimisation du moteur de recherche. Auparavant, Adobe Commerce créait un nœud dans la hiérarchie CMS, dupliquant un nœud existant.
- Les administrateurs peuvent désormais relancer les opérations qui ont été exécutées pendant la durée de traitement maximale. La valeur maximale par défaut est de 12 heures.
- Les erreurs de canal rompu ne se produisent plus lors du traitement d’une action en masse en raison de messages non confirmés pour le client. Une propriété de nombre de prérécupérations limite désormais ces messages pour le client et évite les erreurs. Auparavant, l’exécution de
bin/magento queue:consumers:start async.operations.allgénérait cette erreur :Broken pipe or closed connection.
- Les acheteurs sont maintenant redirigés vers la page de connexion comme prévu après une deuxième tentative de connexion ayant échoué. Auparavant, les acheteurs étaient redirigés vers une page 404 après une deuxième tentative de connexion infructueuse. GitHub-32885
- La validité du jeton de réinitialisation de mot de passe a été étendue pour éviter l’occurrence d’une condition de concurrence lors de l’envoi de la page de changement de mot de passe. GitHub-29647
- Les autorisations affectées aux nouvelles intégrations sont désormais respectées. GitHub-33347
- Correction d'un problème de régression qui affectait les messages laissés dans les journaux d'exceptions pour le formulaire Contactez-nous. GitHub-34483
- Résolution de plusieurs problèmes liés au chargement des données client dans JavaScript. GitHub-30498
- L’utilisation de
QuoteIdToMaskedQuoteIddans une extension n’augmente plus significativement le temps de réponse. GitHub-33676
- La classe
BundleDiscountPricedansmagento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.phpest maintenant déclarée comme prévu. Auparavant, Adobe Commerce générait cette erreur :Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found. GitHub-33334
- Les valeurs de champ CSV d'échappement écrites par l'adaptateur AWS S3 correspondent désormais aux données écrites par d'autres adaptateurs de système de fichiers.
- Le stockage compatible S3 est désormais pris en charge. GitHub-32114
- La déconnexion d’un appareil ne déconnecte plus automatiquement l’acheteur des autres appareils.
- Adobe Commerce enregistre désormais une page CMS lorsque vous la modifiez à partir de la grille intégrée au niveau du magasin d’affichage lorsque le paramètre de configuration Utiliser la hiérarchie de nœuds parents est désactivé. Auparavant, Adobe Commerce affichait cette erreur et n’enregistrait pas les modifications de votre page CMS :
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.
- Les chemins de navigation s’affichent désormais correctement pour les nœuds qui contiennent la même page. Auparavant, Adobe Commerce affichait le même nom de nœud pour les pages appartenant à plusieurs nœuds. Adobe Commerce a récupéré uniquement le premier nœud d’une page, même s’il en existait plusieurs pour chaque page.
- Les événements de réécriture d’URL lors de la modification en ligne sont désormais consignés dans les rapports.
- Le cookie
mage-messagesn’est pas réinitialisé en l’absence de nouveaux messages.
Cartes cadeaux
- Ajout d’un message d’erreur plus informatif lorsqu’un acheteur saisit une carte cadeau non valide.
GraphQL
- Les mutations
generateCustomerTokenetrevokeCustomerTokenfournissent désormais l’identifiant de cache correct pour l’état de l’utilisateur. Auparavant, ces mutations utilisaient unx-magento-cache-idnon valide, ce qui dégradait les performances.
- La mutation
setBillingAddressToCartutilise désormais correctement le paramètresame_as_shippingpour définir l’adresse de facturation de sorte qu’elle corresponde à l’adresse d’expédition prévue. Auparavant, Adobe Commerce affichait cette erreur :The shipping method is missing. Select the shipping method and try again. GitHub-30924
- Les opérations de panier GraphQL calculent désormais les totaux généraux du panier uniquement lorsque la requête le demande. Auparavant, les opérations du panier calculaient toujours le total général, qui est une opération gourmande en ressources.
- La mutation
addProductsToCartajoute désormais au panier uniquement les produits affectés au magasin défini dans l’en-tête .
- Les requêtes
productsà l’aide de filtres de navigation superposés renvoient désormais des listes de catégories enfants correctes. GitHub-33387
- Les requêtes et les mutations qui renvoient l’objet
ConfigurableCartItemcontiennent des informations sur les variantes configurées comme prévu.
- La requête
productsrenvoie désormais des valeurs d’option de produit de configuration et des valeurs d’attribut de variante. Auparavant, ces valeurs étaient vides dans les réponses aux requêtes.
- La requête
productsfiltre désormais correctement les produits groupés lorsque les produits enfants sont désactivés au niveau de la vue du magasin. Auparavant, la requête renvoyait des produits enfants qui étaient désactivés au niveau de la vue du magasin.
- GraphQL fournit désormais à New Relic des noms de transaction descriptifs, ce qui peut s’avérer utile pour le débogage. GitHub-30915
- La mutation
setShippingAddressesOnCartprend désormais en charge la définition des adresses d’expédition sur un panier avec une valeur de numéro de téléphone vide lorsque le paramètre de configuration Afficher le téléphone Admin est défini sur facultatif. Auparavant, Adobe Commerce générait cette erreur :Field CartAddressInput.telephone of required type String! was not provided.
- Correction d’un problème en raison duquel la mutation
addSimpleProductsToCartvous permettait d’ajouter des produits simples à un panier qui ne sont pas affectés au site web cible.
- Les requêtes MySQL ont été optimisées pour les requêtes
productsGraphQL qui utilisent des paramètres de recherche pour affiner les résultats de recherche.
- La mutation
addConfigurableProductToCartne prend plus en charge l’ajout d’un produit à un panier si le produit n’est pas inclus dans la portée demandée.
- La requête
productsrenvoie désormais uniquement les variantes configurables qui sont affectées à l’entrepôt demandé. Auparavant, toutes les variantes du produit configurable demandé étaient renvoyées.
addSimpleProductsToCartrequêtes peuvent désormais s’exécuter correctement en parallèle. Auparavant, plusieurs demandes pour le même SKU créaient des éléments de ligne en double pour le même ID de panier plutôt que d’augmenter la quantité de produit comme prévu.
- La mutation
addProductsToCompareListpeut désormais être utilisée pour comparer des variantes de produits configurables.
- Lorsque le prix d’un produit de niveau est mis à jour à partir du serveur principal, le nouveau prix est mis à jour correctement sur le panier du client. Auparavant, bien que le sous-total de la section de résumé du panier ait été correctement mis à jour, le sous-total de la ligne n’était pas mis à jour.
- La mutation
addProductsToCartajoute désormais toutes les options sélectionnées au panier lorsqu’elle est utilisée pour ajouter des produits groupés avec plusieurs options de sélection. Auparavant, la mutation ajoutait uniquement la dernière sélection. GitHub-33123
- Les requêtes GraphQL renvoient désormais l’adresse de facturation attendue lorsque la valeur d’un champ téléphonique facultatif est définie sur une chaîne vide. Auparavant, les requêtes renvoyaient une valeur d’adresse nulle. GitHub-30218
- La réponse à la requête
productsrépertorie désormais les produits selon l’ordre de tri spécifié lorsque plusieurs produits ont la même pertinence ou valeur de prix.
- Les demandes de
addSimpleProductsToCartet deaddProductsToCartsimultanées ne génèrent plus d'éléments de devis dupliqués.
productsfiltres de navigation superposés sur les requêtes renvoient désormais les listes correctes des catégories enfants. Seules les sous-catégories directes sont désormais incluses lorsque l’indicateurincludeDirectChildrenOnlyest fourni dans la requête. Auparavant, toutes les catégories étaient incluses en réponse dans la section agrégation lorsqu’un produit était affecté à plusieurs catégories.
- Ajout d’une fonctionnalité de suggestion de recherche pour les requêtes de recherche GraphQL.
- Le champ
OrderAddress.telephoneest désormais facultatif dans la requêtecustomerou dans d’autres requêtes et mutations qui renvoient ou modifient les adresses de commande client.
- Les prix sont désormais correctement mis à jour pour les clients d’un groupe spécifié dans le storefront et l’admin lorsqu’un ID de groupe est modifié via l’API. Auparavant, ces prix n’étaient pas correctement mis à jour lorsqu’un ID de groupe était modifié via l’API.
Image
- Les images de filigrane avec arrière-plans transparents n’ont plus d’arrière-plan blanc sur l’image de produit transparente qu’elle recouvre. Auparavant, lorsque l’image du filigrane et l’image du produit avaient un arrière-plan transparent, le filigrane s’affichait avec un arrière-plan blanc.
- Les logos des factures et des reçus d’expédition sont désormais chargés et affichés comme prévu lorsque AWS S3 est activé.
- La balise de média associée à une image ajoutée à une page CMS dans un déploiement où l’administrateur est défini sur un domaine différent de l’URL du magasin contient désormais les URL de magasin attendues. Auparavant, les balises multimédias contenaient des URL d’administration statiques au lieu des URL de magasin attendues. GitHub-32930
- Adobe Commerce ne renvoie plus d’erreur lorsque vous videz le cache d’images lors du chargement simultané d’images sur le storefront.
Importer/exporter
bin/magento remote-storage:syncn’échoue plus lorsque les noms de fichier sont similaires, mais ne diffèrent que d’un ou deux caractères. Auparavant, la première image était correctement stockée, mais la seconde image, portant le même nom, déclenchait un échec de synchronisation et cette erreur :Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197. GitHub-34337
- Adobe Commerce convertit désormais la date et l’heure dans le nom du fichier d’exportation au fuseau horaire de l’utilisateur ou de l’utilisatrice après une exportation planifiée. Auparavant, ces valeurs n’étaient pas converties et Adobe Commerce affichait la date et l’heure UTC.
- Adobe Commerce ne crée plus d’images en double dans le stockage distant lorsque le même fichier CSV est importé plusieurs fois.
- L’importation n’échoue plus avec le message suivant :
Import failed: Area code not set: Area code must be set before starting a session. GitHub-16171
- Vous pouvez désormais importer avec succès après avoir exécuté
bin/magento app:config:dumpet modifié manuellement lesconfig.php. GitHub-31428
- Les séparateurs à plusieurs valeurs non par défaut peuvent désormais être utilisés dans les attributs à sélection multiple personnalisés. Auparavant, la validation échouait lors de l’importation. GitHub-23156
- La position du produit dans les catégories est désormais correctement attribuée lors de l’importation à partir de CSV.
Index
- Adobe Commerce affiche désormais les produits comme prévu sur le storefront après la réindexation. Auparavant, lorsque les 500 premiers produits réindexés étaient en stock et que les 500 produits suivants étaient en rupture de stock, le storefront n’affichait aucun produit supplémentaire.
- Résolution des problèmes de cohérence dans les fichiers
indexer.xmlfusionnés. Les valeurs autorisées dansclassTypesont désormais les mêmes dans les fichiersindexer.xmlnon fusionnés et fusionnés. GitHub-29609
- Un mécanisme de synchronisation a été implémenté dans les indexeurs de catégorie pour empêcher les indexeurs complets et partiels de s’exécuter en parallèle. Auparavant, lorsque ces indexeurs s’exécutaient en parallèle, les produits pouvaient être temporairement omis des pages de catégorie du storefront ou les pages de catégorie pouvaient être temporairement vides de produits.
Infrastructure
- La méthode
str_containsnon prise en charge a été remplacée par une fonction prise en charge. Il s’agissait d’un problème connu pour Adobe Commerce 2.4.3. GitHub-33680
-
Refactorisation de la base de code pour corriger l'utilisation du mot clé
match, qui est un mot clé réservé en PHP 8.x. GitHub-33626 -
Les balises HTML sont désormais imbriquées et fermées correctement afin de répondre aux normes de JQuery 3.5.x pour les éléments non nuls, y compris les éléments personnalisés.
- Correction des fonctions
abs()etround()pour la compatibilité avec PHP7.x et PHP8.x. GitHub-34322
- La mise à jour des
symfony/consolen’entraîne plus d’échec lors de l’exécution desbin/magento setup:di:compile. GitHub-33595
- Correction de la restriction de la dépendance du compositeur d’
colinmollenhour/cache-backend-redis. GitHub-34177
- La base de code a été refactorisée afin de supprimer les appels aux méthodes obsolètes de
phpunit/phpunit. GitHub-33916
- Adobe Commerce affiche désormais un message d’erreur informatif lorsqu’un administrateur disposant d’une
pubs/mediaen lecture seule tente d’accéder à la page des détails d’un produit qui inclut des images. Auparavant, Adobe Commerce générait une erreur PHP. GitHub-32819
- Toutes les annotations
@apiau niveau des membres ont été déplacées vers leur classe dans toute la base de code.
gift-card Cmsdonnées de widget ont été déplacées deMagento/WidgetSampleData(Magento Open Source) versMagento/GiftCardSampleData(Adobe Commerce). Cela a résolu les problèmes d'installation de (Magento Open Source) avec des exemples de données sur PHP8.1.
- Interfaces marquées dans toute la base de code d’intégration d’Adobe Stock avec
@apiselon les besoins. GitHub-32875
- Les entiers et les nombres flottants des ensembles de résultats sont désormais renvoyés en utilisant des types PHP natifs au lieu de chaînes lors de l’utilisation d’instructions préparées émulées. GitHub-34625
- La création automatique de tableaux à partir de fausses valeurs a été désactivée pour assurer la compatibilité avec PHP 8.1.
- Le
Magento\Payment\Helper\Datad’assistance ne crée plus de mises en page dans les constructeurs. Auparavant, lorsque cet helper était utilisé dans des commandes personnalisées sans spécifier d’indicatif régional, Adobe Commerce générait une erreur. GitHub-33908
- Vous pouvez désormais transmettre un argument
dataà un constructeur d’instance de bloc pardi.xml.
Generator.phpoptimisée pour la lisibilité. GitHub-33809
- Amélioration de la vérification JWK dans la classe
JwsManagerpour gérer les situations où l’algorithme est défini directement dans l’en-tête. Auparavant, ce contrôle ignorait ce scénario valide. GitHub-32636
Mises à niveau pour la compatibilité PHP 8.1
-
Les fonctions obsolètes de PHP 8.1 ont été supprimées de la base de code. GitHub-34497
-
Ajout de déclarations de type retour aux méthodes internes avec des types retour incomplets pour la compatibilité avec PHP 8.1. GitHub-34498
-
Mise à jour du métapaquet de
composer.jsonracine et du fichiercomposer.jsonpour chaque module vers PHP 8.1. GitHub-34009 -
Bibliothèque
jquery.tabstierce (dernière version) -
Packages NPM (dernière version) GitHub-33512, GitHub-33972
-
jquery.cookiebibliothèque tierce (dernière version) GitHub-34427
Mises à jour des dépendances du compositeur
-
Toutes les dépendances du compositeur ont été mises à jour vers les versions compatibles avec PHP 8.1.
-
PHPUnit a été mis à niveau vers la dernière version (9.5.x). Les tests et les structures de test ont été mis à jour pour être compatibles avec la nouvelle version.
Mises à jour des dépendances de JavaScript
jquery-validatebibliothèque tierce GitHub-33853
Less.js(v3.13.1) GitHub-32845
Suppressions et obsolescence de bibliothèques
-
Les bibliothèques suivantes ont été supprimées, car tous les navigateurs pris en charge par Adobe Commerce 2.4.x disposent d’une prise en charge intégrée de cette fonctionnalité :
es6-collections.jsMutationObserver.jsModernizrFormData.js
-
Suppression de la bibliothèque
jquery.hoverIntentJavaScript inutilisée. GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.phpa été abandonné. Il contient la fonctionmoney_format(), qui a été supprimée en PHP 8.x. GitHub-33870 -
Suppression du package
grunt-autoprefixerobsolète et non pris en charge. GitHub-34037
Mises à niveau des bibliothèques
-
Les bibliothèques suivantes ont été mises à niveau vers des versions plus récentes :
script.aculo.usChart.jsmoment.jsmoment-timezone-with-data.jsmatchMedia.jsunderscore.jsPrototypeJSRequireJSLessCSS
Facture
- La conversion en
inta été supprimée pour les identifiants de facture auto-incrémentés lorsqu’ils sont précédés d’une chaîne. Par conséquent, les factures affichent désormais un 0 pour les nombres précédés d'une chaîne. GitHub-34451
Journalisation
- Adobe Commerce ne crée plus d’entrées de journal pour les appels API ayant échoué exécutant des actions en masse dans System > Bulk Actions. Auparavant, les entrées permanentes pour les appels API ayant échoué étaient ajoutées au journal d’actions en masse.
- La création automatique de tableaux à partir de valeurs fausses n’est plus autorisée. GitHub-34499, GitHub-34589
norme de codage Adobe Commerce
- Mise à jour d’
phpunit/ phpunitvers la dernière version du référentielmagento-coding-standard. GitHub-33622
- Mise à jour de la dépendance
webonyx/graphql-phpvers la version ^14.9 dans le référentiel Adobe Commerce coding standard. GitHub-32863
- Ajout d’un nouveau
Magento2.PHP.ArrayAutovivificationde reniflement à la norme de codage Adobe Commerce pour identifier la création automatique de tableaux à partir d’une valeur false. GitHub-34509
- Ajout de nouvelles
Magento2.Functions.DeprecatedFunctionde reniflement à la norme de codage Adobe Commerce. GitHub-34547
- Ajout de fonctions obsolètes pour renifler les
Magento2.Functions.DiscouragedFunctiondans la norme de codage Adobe Commerce. GitHub-34548
- Le reniflement
Magento2.Annotation.MethodAnnotationStructuren’échoue plus avec un faux positif. GitHub-34679
Galerie de médias
- La commande
bin/magento media-gallery:syncn’échoue plus dans les déploiements où AWS S3 est activé.
- Les titres du sous-menu Contenu de la Galerie de médias nouvellement ajoutés s’affichent désormais lorsque les éléments de menu dépassent 11 et que le paramètre de configuration Activer l’ancienne Galerie de médias est activé. GitHub-33889
- Le temps de chargement de l’onglet Galerie de médias lors de la modification d’un produit avec de nombreuses images a été amélioré. GitHub-33434
MFTF
-
CURLOPT_POSTFIELDSn’accepte plus les objets en tant que tableaux. Pour interpréter un objet en tant que tableau, effectuez un cast explicite (array). Cette pratique s’applique également aux autres options qui acceptent des tableaux. GitHub-33781 -
curl_init()renvoie désormais un objetCurlHandleplutôt qu’une ressource. La fonctioncurl_close()n’a plus d’effet. Au lieu de cela, l’instanceCurlHandleest automatiquement détruite si elle n’est plus référencée. GitHub-33781
- Correction d’erreurs dans les tests MFTF pour les produits téléchargeables. GitHub-34270
- Suppression de
CliCacheFlushActionGroupdes modulesCatalogSearch,GroupedProduct,Newsletter,Paypal,QuoteetReview. GitHub-33531
- Les comparaisons non strictes entre des nombres et des chaînes non numériques fonctionnent désormais en convertissant le nombre en chaîne et en comparant les chaînes. Les comparaisons entre des nombres et des chaînes numériques continuent de fonctionner comme avant. Cela signifie que 0 == « not-a-number » est désormais considéré comme faux. GitHub-33780
parse_url()fait maintenant la distinction entre les requêtes et les fragments absents et vides. GitHub-33782
- Mise à jour de la base de code pour éviter une erreur fatale lors de l’utilisation de la méthode
ReflectionType::isBuiltin(). GitHub-34194
Nouveaux groupes d’action
AdminCheckOrderStatusInGridActionGroup GitHub-33747
StorefrontSelectFirstShippingMethodActionGroup GitHub-33773
AdminClickUpdateChangesOnCreateOrderPageActionGroup GitHub-33689
Groupes d'actions
Les actions répétitives ont été remplacées par des groupes d’actions dans ces tests :
AdminAddInStockProductToTheCartTest GitHub-34512
AdminAddBundleItemsTest GitHub-34312
AdminConfigurableProductAddConfigurationTest GitHub-34511
AdminConfigurableProductBulkUpdateTest GitHub-34435
AdminConfigurableProductDisableAnOptionTest GitHub-34511
AdminConfigurableProductOutOfStockAndDeleteCombinationTest GitHub-34316
AdminConfigurableProductOutOfStockTestDeleteChildrenTest GitHub-34316
AdminConfigurableProductRemoveAnOptionTest GitHub-34511
AdminConfigurableProductRemoveConfigurationTest GitHub-34511
AdminCreateAndEditSimpleProductSettingsTest GitHub-34435
AdminCreateAndEditVirtualProductSettingsTest GitHub-34435
AdminCreateInactiveFlatCategoryTest GitHub-34490
AdminCreateInactiveInMenuFlatCategoryTest GitHub-34510
AdminCreateDuplicateCategoryTest GitHub-34414
AdminCreateDuplicateProductTest GitHub-34414
AdminDeleteSimpleProductTest GitHub-33783
AdminEditRelatedBundleProductTest GitHub-34313
AdminMassDeleteBundleProductsTest GitHub-34313
AdminNavigateMultipleUpSellProductsTest GitHub-34314
AdminSimpleProductSetEditContentTest GitHub-34435
AdminSimpleProductTypeSwitchingToConfigurableProductTest GitHub-33788
AdminConfigurableProductTypeSwitchingToVirtualProductTest GitHub-33788
AdminCreateConfigurableProductWithDisabledChildrenProductsTest GitHub-33775
AdminUpdateFlatCategoryAndAddProductsTest GitHub-34490
AdminUpdateTopCategoryUrlWithNoRedirectTest GitHub-33774
AdminUpdateTopCategoryUrlWithRedirectTest GitHub-33774
CatalogProductListWidgetOperatorsTest GitHub-34579
CreateProductAttributeEntityWithReservedKeysTestGitHub-34422
EnableDisableBundleProductStatusTest GitHub-34313
StorefrontCheckRefundGrandTotalActionGroup GitHub-34315
StorefrontInactiveCatalogRuleTest GitHub-33556
StorefrontConfigurableProductCantAddToCartTest GitHub-33786
StorefrontConfigurableProductOptionsTest GitHub-33785
StorefrontConfigurableProductCanAddToCartTest GitHub-33784
StorefrontConfigurableProductGridViewTest GitHub-34311
StorefrontConfigurableProductListViewTest GitHub-34311
StorefrontProductNameWithHTMLEntitiesTest GitHub-33806
StorefrontProductNameWithDoubleQuoteTest GitHub-32991
Nouveaux tests
AdminCreateOrderWithCheckedAppendCommentCheckboxTest GitHub-32381
CheckoutWithEnabledCaptchaTest GitHub-32991
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest GitHub-33635
StorefrontGiftMessageForOrderOnCheckoutCartPageTest GitHub-32821
StorefrontCaptchaCheckoutWithEnabledCaptchaTest GitHub-32821
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest GitHub-33460
Tests refactorisés
CaptchaWithDisabledGuestCheckoutTest GitHub-30828
Newsletters
- Les utilisateurs disposant des autorisations appropriées peuvent désormais gérer les abonnements aux newsletters clientes comme prévu. Auparavant, seuls les administrateurs disposant d’autorisations complètes pouvaient gérer les abonnements aux newsletters des clients sur la page Compte client d’administration .
Ordre
- Les acheteurs peuvent désormais commander à nouveau une commande existante contenant un produit en combinant des options personnalisées de type fichier et liste déroulante de type à partir du storefront et de l’administrateur. Auparavant, Adobe Commerce générait une erreur et ne traitait pas la réorganisation.
- Les factures pour les commandes payées par crédit de magasin et pour lesquelles les taxes produit fixes (FPT) ont été appliquées incluent désormais le total général correct.
- La page Détails de la commande d’administration se charge désormais comme prévu. Auparavant, Adobe Commerce générait l’erreur suivante lors du chargement de la page des détails des commandes pour les commandes avec certaines taxes :
Call to a member function getId() on array.
- Les administrateurs disposant d’autorisations restreintes incluant des droits de commande et d’expédition peuvent désormais afficher la page de commande comme prévu. Auparavant, Adobe Commerce générait une erreur lorsqu’un administrateur disposant de ces autorisations tentait d’afficher une commande. GitHub-14633
- Les acheteurs peuvent désormais passer une commande qui inclut un produit configurable enfant lorsqu’une limite de quantité maximale autorisée est définie.
Modes de paiement
- Les acheteurs peuvent désormais utiliser Braintree pour passer une commande à l’aide d’une adresse de facturation sans région définie dans les déploiements avec 3DS activé. Auparavant, le passage en caisse était bloqué lorsque l’acheteur cliquait sur Passer une commande et l’achat ne pouvait pas être effectué. GitHub-34204
- L’option de paiement Venmo est désormais prise en charge.
- PayPal peut maintenant effectuer le suivi par code BN.
bin/magento setup:upgrades’exécute désormais comme prévu lors de la mise à niveau à partir d’Adobe Commerce 2.4.2-p1. Auparavant, Adobe Commerce générait cette erreur :Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal. GitHub-33678
- L’ID de magasin correct est désormais utilisé pour récupérer les cartes de crédit enregistrées lors du placement de la commande administrateur. Les cartes de crédit stockées s’affichent désormais lors du placement de la commande en fonction du paramètre de configuration de la portée du site web. Auparavant, lorsqu’un administrateur tentait de créer une commande pour un client à partir de l’Administration et sélectionnait la méthode Cartes de crédit stockées , aucune option n’était disponible pour les cartes stockées.
- Les anomalies liées à l'affichage des montants des cartes-cadeaux avec le crédit PayPal ont été résolues. Auparavant, lorsque le crédit PayPal était activé et que plusieurs montants de carte cadeau étaient configurés, si un acheteur modifiait le montant pour la valeur d'une carte cadeau, le storefront ne mettait pas à jour le montant pour les paiements échelonnés. Il s’agissait d’un problème connu dans Adobe Commerce 2.4.3.
PayPal
- Adobe Commerce n'affiche plus d'erreur lors du passage en caisse avec le mode de paiement PayPal Express. Auparavant, bien que le processus de passage en caisse soit terminé, Adobe Commerce affichait cette erreur :
Something went wrong.
- PayPal Express fonctionne maintenant comme prévu à partir du panier. Auparavant, lorsque vous cliquiez sur le bouton PayPal pour commencer le passage en caisse express du panier, Adobe Commerce générait cette erreur :
To check out, please sign in with your email address. GitHub-33445
- PayPal Payflow Pro effectue désormais une capture différée avec les ID de transaction parents corrects dans les déploiements où la passerelle PayPal Payflow Pro avec Action de paiement est définie sur Autorisation. Une transaction Sale est envoyée à Payflow avec un ID de transaction parent du jeton de coffre créé lors du passage en caisse comme prévu. Auparavant, une transaction capture différée était créée et envoyée à PayPal Payflow. GitHub-33445
- Les acheteurs sont maintenant redirigés vers la page de succès comme prévu une fois le paiement avec PayPal Payments Advanced terminé. Auparavant, les acheteurs n’étaient pas redirigés vers cette page même si le paiement avait été traité avec succès et qu’aucune erreur n’avait été consignée.
Performances
- Ajout d’un index à
magento_giftcardaccount.codepour améliorer les performances.
- Le temps d’exécution du chargement de la liste des modules a été amélioré.
- Les performances du cache des termes de recherche populaires ont été améliorées. Auparavant, plus la table
search_queryétait grande, plus la durée d’exécution d’une requête de recherche était longue. GitHub-27559
- Par défaut, Adobe Commerce redimensionne les images de manière synchrone lors de l’enregistrement du produit. Les commerçants peuvent désormais redimensionner les images en tant que processus asynchrone en arrière-plan en apportant des modifications mineures à un fichier
di.xml.
- Les performances de l’indexeur des produits de catégorie ont été améliorées dans les déploiements multi-magasin. GitHub-33984
- Le nouveau cache en mémoire pour les appels système
glob()améliore les performances en réduisant le nombre d’appelsglob(). GitHub-34025
- Les performances du processus de réindexation asynchrone de la grille d’ordres ont été améliorées.
- La consommation de mémoire pendant l’exportation du produit a été optimisée.
- Le chargement des pages de détails du produit avec les produits associés a été optimisé. Les requêtes relatives aux conditions des produits associés ont également été optimisées.
Tarification
- Le tri par prix fonctionne désormais comme prévu lorsque les prix des produits sont proches de zéro ou égaux à zéro et que les catalogues partagés sont activés. Auparavant, les prix de niveau zéro étaient ignorés lors de la réindexation des prix.
- Adobe Commerce ne renvoie plus d’erreur si le filtre de prix de la page Catégorie ne contient pas de seconde valeur. Auparavant, Adobe Commerce générait une exception dans le fichier journal.
AlerteProduit
- Le nouveau client
product_alertaméliore l’envoi des alertes aux clients en créant des messages de file d’attente, en exécutant le client et en améliorant le temps d’exécution. Auparavant, Adobe Commerce générait une exception de mémoire insuffisante lors de l’envoi de plus de 100 000 alertes de produits. Adobe Commerce a également mis plus de 20 heures à envoyer toutes les alertes.
Vidéo du produit
- Adobe Commerce active désormais le bouton Enregistrer et remplit automatiquement les champs lorsque vous saisissez une URL incomplète lors de l’ajout d’une vidéo (Admin Catalogue > Produits > Ajouter une vidéo). Auparavant, le bouton Enregistrer était désactivé et les champs n’étaient pas renseignés.
Autorisations de retour de marchandises (RMA)
- La grille Créer un retour produit d'administration affiche désormais la taxe, y compris les prix, uniquement pour les produits configurés pour afficher la taxe avec les prix. Auparavant, Adobe Commerce ne vérifiait pas les paramètres d’affichage de configuration sur l’indicateur
tax/calculation/price_includes_tax.
Examens
- La vue Liste de produits affiche désormais la notation marquée correcte pour les produits. GitHub-30196
- Les évaluations sont désormais visibles comme prévu lorsqu’un acheteur clique sur Évaluation sur la page du produit storefront.
- L’évaluation par étoiles du produit est désormais cohérente dans les vues Grille et Liste de la page de liste des produits de storefront. Auparavant, le même produit pouvait avoir des évaluations différentes dans les modes d’affichage Grille et Liste.
Récompenses
- Le solde des points de récompense et l’historique des points de récompense affichent désormais le même solde. Les points expirés sont désormais correctement déduits. Auparavant, le solde des points de récompense ne reflétait pas précisément les points expirés.
- Les points de récompense expirés sont désormais marqués comme Expirés dans la section Motif de la grille Historique des points de récompense du storefront.
Ventes
- Les performances des mises à jour de grille de ventes en mode asynchrone pour les tables avec des jeux de données volumineux après la mise à niveau vers MariaDB 10.2.34 ont été améliorées.
- Adobe Commerce supprime désormais les balises HTML comme prévu de la page storefront Compte > Mes commandes > Afficher la commande. Auparavant, Adobe Commerce affichait les balises HTML dans la section de commentaire des commandes des clients du storefront.
- Ajout d’une couverture de test automatisée pour vérifier l’existence d’un index pour
sales_shipment_grid.order_id.
- Les appels
POST V1/ordersmettent désormais à jour les attributs d’extension sans erreur. Auparavant, une erreur de syntaxe SQL se produisait.
Rechercher search-heading
- Les options de navigation superposée pour les fourchettes de prix fonctionnent désormais comme prévu avec les attributs de prix personnalisés. Adobe Commerce utilise la configuration de l’étape de navigation des prix lors du filtrage des attributs de prix personnalisés. Auparavant, Adobe Commerce utilisait la configuration manuelle des étapes.
- Le storefront affiche désormais toutes les sous-catégories de la catégorie actuelle dans la navigation superposée, quel que soit le nombre de catégories disponibles dans le catalogue.
- Les recherches dans les catalogues Elasticsearch ne respectent plus les signes diacritiques. Auparavant, les recherches de termes sans accent donnaient des résultats différents de ceux des recherches effectuées sur le même terme avec un accent.
- Le poids de la recherche est désormais correctement défini sur les attributs de SKU qui contiennent des caractères spéciaux.
category_namea été ajouté aux codes d'attribut de produit réservés au système. Adobe Commerce affiche désormais une erreur si un utilisateur tente de créer un attribut de produit avec le code d’attributcategory_name. Auparavant, les produits n’étaient pas répertoriés dans la catégorie prévue et une erreur Elasticsearch était consignée.
- Les termes de recherche populaires sont désormais mis à jour après chaque requête GraphQL.
- Adobe Commerce ajoute désormais les champs de prix corrects au mappage de l’indice de prix Elasticsearch. Auparavant, les champs de prix incorrects étaient ajoutés à l’index avec l’ID de magasin au lieu de l’ID de site web.
Expédition
- L’e-mail d’expédition inclut désormais le numéro de suivi de l’expédition actuelle uniquement. Auparavant, lorsqu’une commande incluait plusieurs expéditions, l’e-mail de chaque expédition incluait les numéros de suivi de toutes les expéditions liées à la commande.
- Adobe Commerce met désormais à jour le mini panier avec succès lorsqu’un acheteur supprime un produit de son panier en mode multi-expédition, puis passe à une seule adresse d’expédition. Auparavant, les prix des produits n’étaient pas mis à jour comme prévu.
- L'importation des taux de table fonctionne désormais comme prévu lors de l'utilisation de l'adaptateur de stockage S3. Auparavant, Adobe Commerce affichait cette erreur :
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found. GitHub-33072
- Vous pouvez désormais désactiver les e-mails de mise à jour d’expédition comme prévu dans Magasins > Configuration > Ventes > E-mails de vente. GitHub-33165
- Adobe Commerce affiche désormais les frais de livraison gratuits (0) sur les totaux des pages de facture d’administration et de storefront. Auparavant, lorsque l’expédition était égale à zéro pour une commande, Adobe Commerce n’affichait pas le montant d’expédition dans les totaux sur le total d’expédition de la page de facture.
- Les demandes de taux aux transporteurs maritimes en ligne ont été réduites de plusieurs à une seule. L'assurance des colis et le prix de manutention par article/colis sont désormais correctement calculés. Auparavant, Adobe Commerce affichait des tarifs d’expédition incorrects pour les méthodes d’expédition FedEx.
- Adobe Commerce affiche désormais les taux UPS lors de la création d’étiquettes d’expédition pour l’expédition depuis Porto Rico. Auparavant, Adobe Commerce n’affichait pas ces taux d’UPS.
- L’adresse postale d’expédition est maintenant effacée complètement comme prévu après suppression de la zone de saisie. Auparavant, la zone de texte conservait un ou plusieurs caractères après la suppression de l’adresse.
Évaluation
- Les images et les vidéos des mises à jour planifiées des produits sont désormais correctement enregistrées. Auparavant, les vidéos, URL, titres et descriptions étaient supprimés après la création d’une mise à jour planifiée.
- Adobe Commerce affiche désormais l’attribut Prix minimum annoncé dans le formulaire Planifier une nouvelle mise à jour pour les vues de magasin pour lesquelles l’attribut est activé.
- Adobe Commerce n’affiche désormais qu’un seul onglet Images dans le formulaire de mise à jour planifiée du produit comme prévu. Auparavant, Adobe Commerce dupliquait cet onglet.
- Le statut du stock de produits s’affiche désormais correctement dans les aperçus de mise à jour planifiée. Auparavant, le statut du produit s’affichait comme étant en rupture de stock lorsqu’un produit précédemment désactivé était activé lors de la création de la mise à jour de la planification.
Stocker
- La fonction Connexion en tant que client fonctionne désormais comme prévu dans les déploiements contenant plusieurs magasins sur différentes URL. Auparavant, Adobe Commerce ne chargeait pas le magasin approprié, même lors de l’accès au domaine de magasin approprié.
Outil d’analyse à l’échelle du site
- Les commerçants peuvent maintenant accéder à l'outil d'analyse à l'échelle du site comme prévu. Auparavant, les paires de clés rompues empêchaient certains commerçants d’accéder à l’outil.
Taxe
- Adobe Commerce calcule désormais correctement le sous-total du mini panier lorsqu’un client supprime un article après avoir sélectionné l’expédition à plusieurs adresses.
- Adobe Commerce affiche désormais le même taux de taxe sur toutes les pages de passage en caisse lorsque le panier ne contient que des produits virtuels.
- Les prix de niveau pour les produits configurables affichent désormais des valeurs exactes de taxe incluse et exclue sur le storefront. Auparavant, les mêmes valeurs s'affichaient pour les taxes incluses et exclues. GitHub-33673
Test
- Les tests WebAPI sont désormais compatibles avec PHP 8.1. GitHub-34653
- Les tests d'intégration sont désormais compatibles avec PHP 8.1. GitHub-34567, GitHub-34569
- Les commerçants peuvent désormais tester l’expérience de l’acheteur dans le pays où il se trouve, plutôt que dans son lieu d’origine.
- La consommation de mémoire de test d'intégration a été réduite, ce qui améliore les performances de test et réduit le temps nécessaire à l'achèvement du test.
- Ajout d’un test pour vérifier le format d’attribut de date personnalisé pour storefront et Admin.
- Correction des erreurs avec
StorefrontPOWorkflowVerifyApprovalFlowTabTest. GitHub-34378
- Les tests fonctionnels ont été stabilisés pour la compatibilité PHP 8.x. GitHub-34327, GitHub-34188
- Correction de problèmes fonctionnels dans les tests WebAPI. GitHub-34196
- Correction d’erreurs qui entraînaient des tests statiques faux positifs. GitHub-34056
- La couverture de test a été mise à jour pour
call_user_func_array. GitHub-34301
- Le test
Magento\GraphQl\CatalogGraphQl\ProductSearchTestne renvoie plus cette erreur lorsqu’il est exécuté avec AWS Elasticsearch :Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257.
-
Correction de nombreux avertissements de test unitaire non critiques en renommant toutes les variables simulées pour inclure le suffixe
Mocket en supprimant les références à une classe Object Manager obsolète. GitHub-33695 -
Le test
Magento\Framework\MessageQueue\TopologyTestest désormais compatible avec le service AWS MQ for RabbitMQ. Auparavant, ce test échouait avec le message suivant :Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal.
- Les tests unitaires sont désormais compatibles avec PHP 8.1. GitHub-34441
Tests unitaires
Les tests unitaires suivants ont été refactorisés afin d’utiliser PHPUnit au lieu de AspectMock :
AllureHelperTest GitHub-33294
ObjectHandlerUtil GitHub-33584
MockModuleResolverBuilder GitHub-33583
MagentoTestCase GitHub-33582
ModuleResolverTest GitHub-33308
ParallelGroupSorterTest GitHub-33306
SuiteGeneratorTest GitHub-33299
OperationDataArrayResolverTest GitHub-33296
Thème
- Les messages de notification s’affichent désormais correctement lorsqu’un sous-chemin d’accès est configuré dans l’URL de base d’Adobe Commerce.
- Ajout d’un élément
aria-labelau modèle de page du storefront pour indiquer la page à laquelle l’acheteur accédera lorsqu’il clique sur un lien. Auparavant, le même texte de lien était utilisé pour les liens vers différentes pages. GitHub-33075
- Adobe Commerce n’affiche plus de message d’erreur lors du chargement de la page d’accueil d’un magasin avec un thème personnalisé préexistant. Auparavant, Adobe Commerce affichait le message suivant :
The store will not work correctly in the case when cookies are disabled.
Traductions et paramètres régionaux
- Le programme de validation des
UserExpirationn’échoue plus avec les paramètres régionauxde_DEetuk_UA. Auparavant, Adobe Commerce générait une erreur lorsqu’un administrateur tentait de définir une date d’expiration lors de la création d’un nouvel utilisateur à partir de l’Administration avec des paramètres régionaux définis surde_DEouuk_UA. GitHub-32497
- Les noms des régions suisses sont désormais systématiquement présentés en anglais dans les formulaires de création ou de modification d’adresses. GitHub-32602
- Mise à jour des modèles
zip_codes.xmlpour Guernesey afin de prendre en charge les codes postaux GY10 pour l'île de Sercq. GitHub-33144
- Ajout des régions Biélorussie au tableau
directory_country_region. GitHub-33924
- Les anomalies d’affichage avec les storefronts exécutant les paramètres régionaux Philippins ont été résolues. GitHub-33996
- Vous pouvez désormais saisir une date de naissance de client lors de la création d’un compte dans des magasins définis sur un paramètre régional portugais (Portugal). Auparavant, Adobe Commerce générait une erreur lorsque vous tentiez de créer un compte. GitHub-34130
- La page des détails du produit s’affiche désormais avec le paramètre régional Arabe (Arabie saoudite). Auparavant, ce paramètre régional interrompait la page des détails du produit.
Interface utilisateur
- Correction des erreurs avec les tests MFTF qui utilisent
maps.googleapis.com.
- Adobe Commerce tronque désormais les espaces insécables dans le champ de saisie d’e-mail Nous contacter . Auparavant, le formulaire était envoyé sans supprimer les espaces insécables de l’entrée d’e-mail (si elle était indiquée), ce qui provoquait des erreurs dans les fichiers journaux. Le champ Répondre à était également absent de l’e-mail de contact généré à l’intention de l’administrateur du magasin.
- Adobe Commerce affiche désormais les produits associés, les produits de montée en gamme et les produits de vente croisée en fonction de leur position dans l’administration.
.action-closeboutons fonctionnent désormais comme prévu lorsqueMultiselectest utilisé dans une boîte de dialogue modale. Auparavant, le boutonaction-closene fonctionnait pas, car il héritait du CSS du bouton.action-closede la boîte de dialogue modale. GitHub-27240
- Le fragment de code riche Offres est désormais présent dans le champ de prix principal dans la vue Produit. Auparavant, ce fragment de code était absent de ce champ dans le bloc Produits associés dans la vue Produit, ce qui entraînait l’affichage de prix incorrects dans les résultats de recherche Google. GitHub-34063
- Les problèmes de hauteur modale sur les appareils exécutant iOS ont été résolus. GitHub-34467
- Les menus déroulants Actions sont désormais correctement positionnés dans tout le storefront. GitHub-31379
- Les erreurs d’accessibilité avec la navigation sur le panier et les pages de passage en caisse ont été résolues. GitHub-34483
- Les lecteurs d’écran peuvent désormais lire tous les éléments de formulaire pertinents dans les pages de produits.
- L’ordre de tri des widgets de produits du catalogue Storefront (Catalogue > Catégorie > Produits) correspond désormais à l’ordre configuré dans l’administrateur. GitHub-27126
- Le sélecteur de zone géographique fonctionne désormais comme prévu sur la page Créer un compte . GitHub-30099
- La grille des clients d’administration affiche désormais toutes les données client, y compris les nouveaux attributs personnalisés
date, comme prévu. Auparavant, Adobe Commerce générait une erreur et n’affichait pas correctement la grille client d’administration lorsque le jeu d’attributsdateétait défini sous la forme d’une colonne.
- Les libellés d’entrée de la page de détails Catalogue > Produit ont été modifiés afin de refléter précisément l’objectif de l’entrée. Les champs pour lesquels aucune entrée utilisateur n’est requise n’affichent plus de libellés avec un astérisque.
- La barre d’outils de l’éditeur de texte enrichi est désormais accessible à l’aide de la touche de tabulation.
- Le nom accessible du contrôle inclut désormais le texte de son libellé visible pour le nombre d'éléments par liste déroulante de page.
- Les contrôles de tableau de la page de détails Catalogue > Produit sont désormais dotés de libellés visibles et d’un nom accessible lorsque le tableau est réduit.
- Les boutons du storefront ont désormais des noms accessibles, descriptifs et uniques. Auparavant, les boutons fractionnés avec un bouton de texte et un bouton d’icône de flèche vers le bas adjacent avaient le même nom accessible.
- Ajout d'une option d'affichage Aujourd'hui aux graphiques du tableau de bord d'administration des commandes et des montants afin de fournir un résumé des ventes et des commandes tout au long de la journée. GitHub-34008
- L’état actif (clic) du bouton à sélection multiple Fermer fonctionne désormais de manière cohérente. GitHub-34338
- Adobe Commerce n’affiche plus ce message après la mise à niveau lorsque le mode de restriction des cookies est désactivé :
The store will not work correctly in the case when cookies are disabled. GitHub-33811
- Les images de produit en plein écran s’affichent désormais correctement sur les thèmes avec une direction de navigation verticale des miniatures sur les appareils mobiles. Auparavant, les images de produit étaient incorrectement mises à l’échelle ou invisibles sur les thèmes avec une direction de navigation verticale entre les miniatures sur les appareils mobiles en mode plein écran.
- Les messages d’erreur de la page des détails du produit ne disparaissent plus rapidement lorsque le paramètre de configuration Synchroniser les produits du widget avec le stockage principal est activé.
- La validation des valeurs négatives a été ajoutée au champ Quantité à retourner dans le formulaire Créer un retour.
- Adobe Commerce n’affiche plus les adresses en double lorsqu’un acheteur clique sur Modifier l’adresse sur la page Vérification et paiements d’un déploiement dans lequel le paramètre de configuration Recherche d’adresse est activé.
- Le bouton Ajouter des produits est désormais activé comme prévu pour les administrateurs disposant d’autorisations limitées lors de l’utilisation de la portée d’affichage du magasin sur la page Catégorie d’administration.
- Les points d’arrêt d’affichage sont désormais cohérents dans Adobe Commerce.
- Adobe Commerce affiche désormais correctement les attributs de date client personnalisés avec des paramètres régionaux personnalisés sur la page Admin des clients.
- Les images ajoutées à l’aide de Page Builder ne sont plus dupliquées sur le storefront lorsqu’elles sont affichées avec une largeur de fenêtre de navigateur de 768 px. Auparavant, avec cette largeur de fenêtre de navigateur, Adobe Commerce dupliquait les images sur le storefront en affichant la version mobile et la version bureau des images.
Réécritures d’URL
- Les réécritures d’URL ne sont plus regénérées pour toutes les vues de magasin lors de la création d’une vue de magasin lors de l’exécution de
bin/magento setup:upgrade. GitHub-32954
Marchandiseur visuel
- L’option de tri automatique Visual Merchandiser Déplacer les produits en rupture de stock vers le bas fonctionne désormais comme prévu pour les produits configurables lorsque tous les produits simples sont en rupture de stock.
- La règle Marchandiseur visuel n’est plus enregistrée lorsqu’aucune condition n’a été ajoutée.
Framework d’API web
- Les requêtes d’API web pour les ressources client auto-autorisées ne génèrent plus d’erreurs d’autorisation lorsque le panier persistant est activé.
- Vous pouvez maintenant créer des objets en utilisant les classes enfants de
\Magento\Framework\Api\AbstractSimpleObjectBuildersur PHP 7.3. Auparavant,preg_matchlançait ce message d’avertissement lorsqu’Adobe Commerce était hébergé sur Redhat avec PHP 7.3 :Warning: preg_match(): Compilation failed: unrecognized character follows....
- Les totaux récupérés par la requête
PUT /V1/guest-carts/:cartId/collect-totalssont désormais mis à jour par le bonshippingMethod. GitHub-18508
- L’ajout d’un nouveau désérialiseur à l’API REST ne supprime plus les autres désérialiseurs. Auparavant, l’API REST acceptait un nouveau type de contenu, mais les types de contenu définis par CORE pour les API ne fonctionnaient plus et renvoyaient une erreur 400. GitHub-26433
- Vous pouvez désormais supprimer un remplacement pour un paramètre défini dans un fichier
webapi.xml. GitHub-33843
- Adobe Commerce génère désormais une
customertokenpar requêtes d’API GraphQL ou REST comme prévu après plusieurs échecs de tentative de connexion consécutifs. Auparavant, Adobe Commerce ne vérifiait pas si la valeur delock_expires_atdansoauth_token_request_logétait supérieure à la date et à l’heure actuelles. Il renvoyait toujours le nombre de tentatives ayant échoué, ce qui empêchait le client de se connecter. GitHub-34067
- L’ajout d’un ID de guillemet masqué à
QuoteRepository::getListn’entraîne plus une boucle infinie. Auparavant, l’utilisation du processeur de paiements qui dépendait de l’API REST pour mettre à jour les commandes déclenchait ce comportement. GitHub-33675
- Le
/rest/all/V1/categories/<above_created_category_id>L’appel PUT respecte désormais les valeurs spécifiées paravailable_sort_by. Auparavant, la liste déroulante Trier par liste de produits disponible était sélectionnée avec toutes les options possibles dans la page Catégorie et la case Tout utiliser était cochée. GitHub-32596
- Les performances des requêtes d’API REST pour créer des jetons client ont été améliorées.
- Correction d’une erreur qui se produisait lorsque Ajouter le code de magasin aux URL était défini sur Oui et qu’un appel REST n’incluait pas de code de magasin. Bien que la payload soit valide, l’appel a renvoyé l’erreur suivante :
Fatal error: Allowed memory size of **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75.
- Des factures partielles pour la même commande peuvent désormais être créées simultanément à l’aide de l’API REST.
Liste de souhaits
- Adobe Commerce n’affiche plus de liste de souhaits dans la barre latérale de catégorie lorsque l’option Afficher dans la barre latérale est désactivée. Auparavant, Adobe Commerce ignorait cette option.
WYSIWYG
- PageBuilder effectue désormais correctement le rendu des widgets personnalisés avec l’éditeur WYSIWYG.
Problèmes connus
Problème : les commerçants peuvent remarquer des avis de rétrogradation de version de package lors de la mise à niveau d’Adobe Commerce 2.4.4 vers Adobe Commerce 2.4.4-p1. Ces messages peuvent être ignorés. La différence dans les versions de package résulte d’anomalies lors de la génération du package. Aucune fonctionnalité du produit n’a été affectée. Consultez l’article de la base de connaissances Packages rétrogradés après la mise à niveau de la version 2.4.4 vers la version 2.4.4-p1 pour une discussion sur les scénarios et solutions de contournement concernés.
Problème : les commerçants ne peuvent pas effectuer de remboursements partiels pour les commandes payées avec Apple Pay via Braintree. Lorsqu'un commerçant tente de créer un avoir pour un remboursement partiel à partir de la facture de commande, le champ Qté à rembourser n'est pas modifiable. Solution : appliquez des braintree-disabled-partial-capture-for-applepay-googlepay.patch correctifs. Voir l’article de la base de connaissances Adobe Commerce 2.4.4 : Impossible de créer des factures partielles
Problème : les acheteurs ne peuvent pas ajouter un produit à leur panier lorsqu’aucune option n’est sélectionnée dans Admin Store > Configuration > Général > Options du pays > Autoriser les pays. Adobe Commerce affiche à la place cette erreur de console suivante : Failed to load resource: the server responded with a status of 400 (Bad Request).
Problème : la description de Dotdigital sur Rechercher des partenaires et des extensions > Magento Marketplace est obsolète. Voici une description mise à jour :
Dotdigital est une plateforme d’engagement des clients qui aide les spécialistes du marketing digital et les développeurs à diffuser des communications sur le parcours client. Nous exploitons la puissance des données client, pour stimuler l’engagement, la conversion et la fidélisation des marques au fur et à mesure de leur croissance et de leur évolution. Les clients adorent notre plateforme conviviale qui connecte les données propriétaires aux systèmes, affichant de puissantes informations et automatisant les messages cross-canal prédictifs.
Plus de 350 employés de Dotdigital sont au service des moyennes et moyennes entreprises du monde entier et de tous les secteurs d'activité. Nous aspirons à inspirer un marketing responsable et nous sommes engagés envers la durabilité, la confidentialité et la sécurité. Dotdigital est fière d'être la première plateforme d'automatisation marketing neutre en carbone au monde, certifiée ISO 14001, ISO 27701 et ISO 27001.
Voir Dotdigital — Marketing Automation pour les informations d’achat et de téléchargement.
Contributions de la Communauté
Nous sommes reconnaissants envers l’ensemble de la communauté Magento Open Source et souhaitons saluer leurs contributions à cette version.
L’équipe d’ingénierie de communauté Magento Contributors tient à jour une liste des principaux contributeurs individuels et partenaires par mois, trimestre et année. Depuis cette page Contributeurs, vous pouvez suivre les liens vers leurs relations publiques fusionnées sur GitHub.
Contributions des partenaires
Le tableau suivant présente les contributions des partenaires. Ce tableau répertorie le partenaire qui a contribué à la demande d’extraction, le numéro de la demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).
Contributions des contributeurs individuels
Le tableau suivant identifie les contributions des membres de notre communauté. Ce tableau répertorie le membre de la communauté qui a contribué à la demande d’extraction, le numéro de demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).
Configuration requise
Notre pile technologique est construite sur PHP et MySQL. Pour plus d'informations, voir Configuration requise.
Instructions d’installation et de mise à niveau
Vous pouvez installer Adobe Commerce 2.4.4 à l’aide du compositeur.
Kits d’outils de migration
L’outil de migration de données permet de transférer les données de stockage Magento 1.x vers Magento 2.x. Cette interface de ligne de commande comprend des fonctions de vérification, de suivi de la progression, de journalisation et de test. Pour obtenir des instructions d’installation, voir Installation de l’outil de migration des données. Envisagez d’explorer le référentiel de migration de données ou d’y contribuer.
Le kit de migration du code permet de transférer les extensions et personnalisations de magasin Magento 1.x existantes vers Magento 2.x. L’interface de ligne de commande comprend des scripts permettant de convertir des modules et des mises en page Magento 1.x.