Points forts de Magento Open Source 2.4.6
Recherchez les points forts suivants dans cette version.
Améliorations de la sécurité
Cette version comprend huit correctifs de sécurité et améliorations de la sécurité de la plateforme.
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 :
-
Les lacunes des logs d’actions d’administration ont été corrigées par un audit plus spécifique des actions dans les vues de grille, les actions en masse et les exportations.
-
La validation reCAPTCHA n'échoue plus lors du passage en caisse lorsque des erreurs inattendues se produisent lors du traitement des paiements. GitHub-35093
-
Nouvelle configuration système pour exiger une confirmation par e-mail lorsqu’un utilisateur administrateur modifie son e-mail. Pour réduire la vulnérabilité du site, un nouveau paramètre de configuration du système (désactivé par défaut) a été ajouté pour exiger une confirmation par e-mail lorsqu’un utilisateur administrateur modifie son adresse e-mail : Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Lorsque cette option est activée, l’application demande une confirmation par e-mail chaque fois que l’utilisateur administrateur modifie son adresse e-mail. Le module suivant est affecté par cette modification :
Magento_Customer
.
Améliorations de Platform
Magento Open Source 2.4.6 introduit la prise en charge de PHP 8.2. PHP 8.1 reste entièrement pris en charge.
La prise en charge de PHP 7.4 a été supprimée de cette version. Vous ne pouvez pas exécuter Magento Open Source 2.4.6 sur PHP 7.4.
Magento Open Source prend désormais en charge les éléments suivants :
-
Compositeur 2.2.x. Le compositeur 1.x a été supprimé.
-
Redis 7.0.x. Bien que la compatibilité avec Redis 6.2 soit toujours présente, nous vous recommandons de déployer cette version avec Redis 7.0.x, car Redis 6.2 devrait atteindre sa fin de vie en 2024.
-
OpenSearch est désormais pris en charge comme moteur de recherche par défaut pour les déploiements sur site et dans le cloud de Magento Open Source. Il est pris en charge en tant que moteur de recherche indépendant pour Magento Open Source. Cette version prend en charge OpenSearch v2.x et a été testée avec OpenSearch 2.5. Bien que la compatibilité avec OpenSearch 1.x soit toujours présente, nous vous recommandons d’utiliser cette version avec OpenSearch 2.x. Vous pouvez installer et exécuter Magento Open Source et Magento Open Source 2.4.6 avec OpenSearch 2.x sur Cloud et sur site Conditions préalables pour les moteurs de recherche.
-
Elasticsearch 8.x. Voir Mise à niveau d’Elasticsearch.
-
MariaDB 10.6 (version LTS). Cette version est toujours compatible avec MariaDB 10.4, mais nous vous recommandons de la mettre à niveau vers MariaDB 10.6.
Autres mises à niveau et remplacements
-
Le schéma DHL a été migré de la v6.2 vers la v10.0.
-
Les bibliothèques JavaScript obsolètes ont été mises à jour vers leurs dernières versions et les dépendances obsolètes ont été supprimées. Ces modifications sont rétrocompatibles.
-
La compatibilité PHP 7.4 a été supprimée des bases de code de Commerce et Magento Open Source.
-
Les dépendances Symfony ont été mises à niveau vers la nouvelle version de LTS. Les dépendances sont les suivantes
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
a été supprimé des bases de code de Commerce et de Magento Open Source. GitHub-21406 -
Mise à niveau de la bibliothèque
jQuery/fileUpload
vers la version 10.32. -
Les composants Zend Framework (ZF1) qui ont atteint leur fin de vie ont été supprimés de la base de code. Voir Modifications non rétrocompatibles mises en évidence.
-
Les dépendances Laminas ont été mises à jour pour prendre en charge PHP 8.2.
-
Le plug-in
laminas/laminas-dependency-plugin
Composer a été supprimé. GitHub-36515 -
Zend_Filter
remplacé parlaminas/laminas-filter
. -
Mise à niveau de
web-token/jwt-framework
vers la version 3.0.5. (dernière version) -
Mise à niveau de
allure-framework/allure-phpunit
vers v2.x. -
Mise à niveau de la bibliothèque
Chart-js
vers la version 3.9.1
Mises à jour de l’accessibilité
L’objectif de cette version était de créer une expérience de storefront sur Venia (PWA) plus perceptible, plus exploitable, plus compréhensible et plus robuste. Ces améliorations comprennent :
- Le libellé de texte visuel du bouton Sign in correspond désormais à son nom accessible. (Il est recommandé que le nom accessible d’un élément de l’interface utilisateur commence par le texte du libellé visible.)
- Des noms accessibles descriptifs ont été ajoutés aux boutons dans tout le storefront.
- Des libellés descriptifs verbaux ont été ajoutés aux cases à cocher Has Video dans les filtres de recherche.
- Les utilisateurs utilisant uniquement le clavier peuvent désormais accéder à toutes les fonctionnalités de page sur le storefront. Auparavant, les acheteurs ne pouvaient pas accéder aux liens de sous-navigation en utilisant uniquement les touches.
Intégration d’Adobe Commerce avec Adobe IMS
Les modules Adobe IMS suivants ont été découplés du code principal d’Adobe Commerce et de Magento Open Source et sont désormais regroupés en un métapaquet distinct :
adobe-ims
adobe-ims-api
admin-adobe-ims
La nouvelle version v2.2.0 de adobe-ims-metapackage
est fournie avec Adobe Commerce 2.4.6 et Magento Open Source 2.4.6. Aucune fonctionnalité n’a été modifiée dans cette version.
Braintree
- Le bouton Pay Later et les bannières (messages) pour l’Italie et l’Espagne ont été activés pour Braintree.
- La messagerie PayLater avec PayPal Vault a été activée.
- Ajout de la protection contre la fraude et des hooks web ACH. Le hook web de protection contre la fraude est déclenché lorsqu’une décision relative aux risques a été prise dans Braintree. Le hook web ACH est déclenché lorsque le statut d'un paiement ACH est mis à jour à
settled
ousettlement decline
.
- Ajout du hook web LPM (Local Payment Methods).
GraphQL
Les améliorations apportées aux performances de GraphQL sont les suivantes :
Amélioration du temps de réponse lors de l’interrogation de catégories avec les autorisations de catégorie activées. Les temps de réponse se sont améliorés lors de l’interrogation de produits dans des catégories pour lesquelles les autorisations de catégorie sont activées et qui contiennent de nombreux groupes de clients ou catalogues partagés. Les modifications de code qui prennent en charge cette amélioration des performances incluent :
- Le fonctionnement du résolveur GraphQL a été optimisé.
- Le fournisseur de données ne réinitialise plus les données mises en cache à l’exécution pour chaque nouveau produit en cours de traitement, ce qui a amélioré les performances.
- Le traitement des autorisations de produit a été optimisé dans le résolveur GraphQL. Les autorisations de produit sont désormais appliquées aux collections de produits et non plus sur une base par produit.
- Autorisations optimisées lues dans les catalogues partagés dans la mutation
addProductsToCart
. - Les autorisations de produit ont été optimisées avec les fragments intégrés de produit.
Performances optimisées du rendu de l’arborescence des catégories. La requête categoryList
a été optimisée pour prendre en charge les clients avec un grand nombre de catégories. Les commerçants qui utilisent cette requête pour rechercher plus de 1 500 catégories avec jusqu’à cinq niveaux de sous-catégories imbriquées remarqueront une amélioration des performances. Le chargement des enfants de catégorie par refactorisation du code a été amélioré en supprimant les appels de méthode inutiles, en améliorant la mise en cache de l’arborescence de catégorie et en chargeant les données de catégorie de manière récursive. Les modifications de code qui prennent en charge cette amélioration des performances incluent :
- La récupération des métadonnées des attributs personnalisés pour les modèles de catégorie a été améliorée.
- La récupération de l’ID de catégorie a été améliorée et les appels
getChildren
ont été réduits. - Le chargement des enfants de catégorie a été amélioré.
Temps de réponse des requêtes d’opérations de panier en vrac réduits. Les mutations d’ajout de produit ont été optimisées pour améliorer les performances des requêtes lors de l’ajout de jusqu’à 500 produits simples et configurables. Les produits groupés ne sont pas affectés. Les mutations optimisées comprennent addProductsToCart
, addConfigurableProductsToCart
, addDownloadableProductsToCart
, addSimpleProductsToCart
, addVirtualProductsToCart
, addWishlistItemsToCart
et updateCartItems
.
la requête client prend désormais en charge le tri des commandes. L’objet de sortie orders
de la requête customer
contient désormais un champ de tri. Vous pouvez désormais trier les commandes par numéro de commande ou date de création, et par ordre croissant ou décroissant.
Nouvelles mutations :
deleteCustomer
Page Builder
Page Builder v.1.7.3 est compatible avec Magento Open Source 2.4.6.
PWA Studio
PWA Studio v.13.0.x est compatible avec Magento Open Source 2.4.6. Il comprend plusieurs améliorations pour améliorer l’accessibilité. Pour plus d’informations sur 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.
Problème connu
Problème : New Relic n'est pas actuellement compatible avec PHP 8.2. Les déploiements exécutant New Relic peuvent exécuter Adobe Commerce 2.4.6 sur PHP 8.1, mais pas PHP 8.2. Solution de contournement : exécutez Adobe Commerce 2.4.6 sur PHP 8.1 jusqu’à ce qu’une nouvelle version de New Relic soit disponible et prenne en charge PHP 8.2. Cette version est prévue pour l’été 2023.
Problèmes résolus
Nous avons corrigé des centaines de problèmes dans le code principal de Magento Open Source 2.4.6.
Installation, mise à niveau, déploiement
- Le déploiement de contenu statique n’expire ni n’échoue lors de déploiements standard ou compacts avec plusieurs paramètres régionaux et sites web.
- La stratégie compacte ne provoque plus de référence non valide à un domaine externe lors de l’exécution du déploiement de contenu statique (
bin/magento set:static-content:deploy -f --strategy compact
).
- L’exécution de
bin/magento setup:di:compile -vvv
(ou avec les options-v
ou-vv
) renvoie désormais un message informatif en cas d’échec. GitHub-35391
- Magento Open Source ne renvoie plus l’exception suivante lorsque vous exécutez la commande
bin/magento setup:upgrade
dans un déploiement exécutant déjà l’outil de migration de données :PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34
. GitHub-35604
- La commande
bin/magento setup:db:status
n’échoue plus dans les environnements exécutant MySQL 8.0.29. Auparavant, la sortie de commande indiquait à tort que le schéma déclaratif était obsolète. GitHub-35671
- La commande
composer install
ne remplace plus les fichiers.gitignore
. GitHub-32888
- L’exécution de
bin/magento sampledata:remove
pour supprimer les exemples de données après la mise à niveau sur Alpine Linux n’échoue plus avec cette erreur :Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
. GitHub-36062
bin/magento setup:upgrade
s’exécute maintenant correctement après la première exécution decomposer install --no-dev
. GitHub-36351
- Les exceptions et les entrées de trace de pile d’exceptions sont désormais incluses dans
var/log/exception.log
. GitHub-36054
Magento Open Source renvoie désormais une erreur de validation de paramètre lorsque vous utilisez la ligne de commande pour définir une connexion Redis sans mot de passe.
Accessibilité
- Les boutons Proceed to Checkout, Review Order et Place Order du workflow de passage en caisse fonctionnent désormais comme prévu avec une entrée au clavier.
- L’indication visuelle du focus sur les boutons lors de l’utilisation de TAB ou de SHIFT + TAB pour parcourir les commandes de page fonctionne désormais comme prévu.
Lecteurs d’écran
- Le lecteur d’écran de la page d’historique des commandes lit désormais la description correcte de l’image.
Les lecteurs d’écran annoncent maintenant :
- Nombre total d’éléments trouvés dans les résultats de recherche comme prévu
- Nom de l’utilisateur connecté lorsqu’un utilisateur se connecte avec succès à l’aide des commandes du clavier
- L’en-tête de la page de résultats de recherche de produit lit désormais la valeur correcte pour l’élément
<title>
- Indique si les champs de saisie sont obligatoires
- État actuel correct des éléments d’accordéon (réduits et développés)
- Lorsque le contenu de la page a été actualisé après que l’utilisateur a cliqué sur le bouton Create an account
Lots de produits
- La mise à jour du produit groupé via l’API pour une vue de magasin spécifique ne remplace désormais pas les autres données de vues de magasin pour le même produit groupé. Auparavant, les titres des options de produit groupées étaient remplacés par le titre de la première option pour d’autres affichages de magasin.
- Les produits groupés peuvent désormais être filtrés avec succès à partir de Admin Catalog > Products lors de l’utilisation d’un paramètre régional néerlandais. Auparavant, Magento Open Source affichait cette erreur lorsque vous essayiez de filtrer par
Type: Bundle Product
:Something went wrong with processing the default view and we have restored the filter to its original state
. GitHub-35704
- La grille de produits ne renvoie plus d’exception lorsque le prix spécial des produits groupés dépasse 1 000. Auparavant, lorsque vous recherchiez le produit par SKU ou accédiez à Catalog > Products, Magento Open Source générait cette erreur :
Non Numeric value encountered
. GitHub-36284)
- Les colonnes des fichiers PDF des avoirs et des factures pour les commandes contenant un mélange de produits groupés et simples sont désormais correctement rendues. Auparavant, les colonnes étaient déformées ou mal alignées.
- Dans les requêtes GraphQL qui contiennent un fragment de
BundleProduct
, l’objetitems.options.product
contient les données attendues. Auparavant, l’objet pouvait être nul dans certains cas.
- Les quantités décimales des options de lot sont désormais correctement rendues lorsque Quantity uses decimals est activé. Auparavant, seule la partie entière de la quantité était rendue, et non le composant fractionnaire. Par exemple, une quantité de 1,5 a été rendue sous la forme 1,0. GitHub-35964
- Les requêtes de produit GraphQL renvoient désormais uniquement les options de produit groupé dans la portée du magasin interrogé.
- Les produits qui ne sont pas affectés à des catégories, mais qui sont des options de produit pour des produits groupés ou groupés sont désormais renvoyés dans les réponses lorsque le paramètre de configuration Allow Category Browsing est activé pour le client qui envoie la requête.
Cache
- Le cache de pleine page n’est plus vidé après l’exécution de la commande, sauf si le produit commandé est en rupture de stock. Auparavant, le cache était purgé pour la catégorie chaque fois qu’une expédition était créée.
- Les données sont désormais mises en cache avec succès lorsque le cache L2 est configuré et que les données distantes sont partiellement évincées. Auparavant, après avoir vidé uniquement le cache de données sans hachages de ces données, le nouveau cache n’était pas enregistré tant que les hachages de données existaient.
- Correction de défauts dans les
CatalogUrlResolverIdentity
et lesCmsUrlResolverIdentity
qui empêchaient la mise en cache. Cela affectait la mise en cache des requêtes d’itinéraire sur plusieurs requêtes.
Panier et passer en caisse
- Les acheteurs peuvent désormais ajouter un article supplémentaire à leur panier lorsque celui-ci contient la quantité minimale du produit simple.
- Les appels d’API REST pour récupérer les données du panier renvoient désormais les mêmes valeurs de
grand_total
et debase_grand_total
lorsque la devise du magasin et la devise de base sont identiques. GitHub-34649
- La valeur exportée de Maximum Qty Allowed in Shopping Cart correspond désormais à la valeur par défaut définie dans le paramètre de configuration Admin.
- Magento Open Source calcule désormais correctement le total général pour les remboursements des commandes avec une remise pour l’expédition.
- Google reCAPTCHA fonctionne désormais comme prévu pour les commandes de storefront. Auparavant, Magento Open Source affichait ces erreurs lorsque Google ReCAPTCHA n’était pas sélectionné avant qu’un acheteur ne tente de passer une commande :
ReCaptcha validation failed, please try again
etNo such cart with id = ID
.
- L’actualisation d’image CAPTCHA respecte désormais le paramètre de configuration Admin et n’est pas déclenchée lorsque le paramètre est désactivé. Auparavant, l’actualisation était déclenchée à chaque modification du mode de paiement, que le paramètre soit activé ou désactivé. GitHub-34855
- Magento Open Source affiche désormais une fenêtre contextuelle de confirmation comme prévu avant de rediriger un acheteur vers la page suivante lorsque l’acheteur modifie la quantité de produit sur la page du panier sans mettre à jour le panier, puis tente d’accéder à la page suivante.
- Les acheteurs peuvent désormais réduire la quantité d’un produit de leur panier après sa diminution dans l’administration. Auparavant, Magento Open Source générait l’erreur suivante lorsqu’un acheteur tentait de réduire la quantité de produit :
The requested qty is not available
. GitHub-35780
- Magento Open Source ne renvoie plus d’erreur dans la console JavaScript lorsque la quantité de produits dépasse la valeur maximale configurée lors du passage en caisse avec expédition multiple. Magento Open Source affiche désormais un message d’erreur informatif à la place. GitHub-36184
- La quantité d’articles sur la page du panier n’est plus représentée sous la forme d’un nombre négatif lorsqu’un acheteur utilise la touche fléchée vers le bas de son clavier pour modifier la quantité de produits. GitHub-36299
- Les acheteurs ne peuvent plus ajouter au panier un produit d’une catégorie qui est désormais interdite après avoir modifié le groupe de clients auquel l’acheteur appartient. Magento Open Source vérifie désormais l’accès aux autorisations des groupes de clients pour des catégories spécifiques lorsque les paramètres de configuration des autorisations ont été modifiés.
- Les paniers des clients ne sont plus vidés avant la création de la commande de l’administrateur et le contenu du panier est désormais restauré en cas d’annulation ou d’abandon de la commande. Les articles ne sont désormais supprimés du panier qu’après la création de la commande. Auparavant, chaque fois qu’un utilisateur administrateur tentait de créer une commande sur la page Admin Gérer le panier , le panier était vidé.
- Le mini panier affiche désormais les images correctes des produits après l’exécution de
bin/magento catalog:image:resize
. Auparavant, toutes les images étaient remplacées par l’image d’espace réservé de produit par défaut. GitHub-35535
- Le passage en caisse peut maintenant se terminer avec succès lorsque l’adresse de livraison contient un attribut d’extension. Auparavant, Magento Open Source générait cette erreur :
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
. GitHub-34202
- La mutation
addBundleProductsToCart
n’ajoute plus de produits à un devis si une option de produit requise n’a pas de valeur. GitHub-25676
- Magento Open Source renvoie désormais un message informatif lorsqu’une mutation
addProductsToCart
échoue lors de l’ajout d’un produit au panier avec des autorisations insuffisantes.
- Magento Open Source ne renvoie plus d’erreur sur la page du panier lorsque la commande rapide est utilisée pour ajouter un produit dont la quantité dépasse le stock disponible.
Règle de prix du panier
- Les options d’expédition gratuite de la règle de prix du panier définies lors de la création de la règle sont désormais appliquées aux commandes comme prévu. Auparavant, les options de livraison gratuite appliquées lors de la création de la règle étaient ignorées lors du passage en caisse et la livraison gratuite n’était pas autorisée lorsque la règle était appliquée. GitHub-35013
- La colonne
discount_percent
de la tablesales_order_item
d'un produit est maintenant renseignée comme prévu avec le pourcentage de remise lorsque la quantité de remise d'article n'est pas définie ou est supérieure ou égale à la quantité d'article de commande. Auparavant, cette colonne n’était pas renseignée lorsqu’une règle de prix de panier était appliquée à ce produit.
Catalogue
- Le widget Liste de produits n’affiche plus les prix incorrects ou mis en cache pour un acheteur connecté. Le prix affiché dans le widget de la page d’accueil correspond désormais à l’adresse de l’acheteur et est mis à jour lorsque l’acheteur met à jour l’adresse. Auparavant, le cache du navigateur ne mettait pas à jour les prix des produits sur la page d’accueil en fonction des règles fiscales du groupe de clients.
- La fonction Comparer les produits fonctionne désormais correctement dans un déploiement multi-site web et dépend du site web.
- Magento Open Source n’affiche plus les données de la page précédente lorsque vous rechargez une page de détails du produit. Auparavant, lorsque la page des détails du produit était rechargée, les données du premier onglet étaient fusionnées avec les données nouvellement chargées pendant une fraction de seconde.
- Les catégories comportant des sous-catégories peuvent désormais être développées dans le menu principal sur les appareils mobiles comme prévu. Auparavant, les acheteurs ne pouvaient pas ouvrir ni développer des catégories avec des sous-catégories dans les déploiements mobiles. GitHub-35329
- Les listes de catégories sont désormais mises à jour comme prévu lorsqu’un produit est affecté à un nouveau site web ou magasin. Auparavant, l’indexeur de prix de produit n’était pas marqué comme non valide et il a ensuite été redéclenché lors d’une exécution de
cron
comme prévu. Par conséquent, l'entrée de prix du produit était manquante dans le tableau de l'indice des prix et n'était pas affichée dans le nouveau magasin ou site Web.
- Le nombre d’inventaires de storefront est désormais exact lorsque le paramètre de configuration Display Out of Stock Products est activé. GitHub-35899
- La page de catégorie n’est plus vide lorsque le paramètre Allow All Products Per Page est activé. GitHub-35900
- L’option de configuration Display Out of Stock Products fonctionne désormais comme prévu une fois activée. Auparavant, tous les produits s’affichaient comme étant en rupture de stock sur le storefront lorsque cette option était activée sur l’administrateur. GitHub-35898
- Le tri des produits par attributs booléens fonctionne désormais comme prévu. GitHub-36390
- Les remises de règle de prix catalogue ne sont plus appliquées aux options de produit personnalisées à prix fixe, mais sont appliquées uniquement au prix d'origine du produit.
- Les règles de prix de catalogue prennent désormais en compte la portée sélectionnée et sont appliquées aux produits uniquement pour les sites web pour lesquels l’attribut dispose d’une valeur d’option correspondant à la règle. Auparavant, la règle ne prenait pas en compte la portée sélectionnée dans les déploiements multisites. GitHub-36049
- Les attributs de couleur et de taille des options d’échantillon sont désormais présélectionnés dans la page des détails du produit lorsqu’un acheteur modifie le produit configurable à partir de la page Mon panier. (La version jQuery 3.x prend désormais en charge le nom du widget
swatchRenderer
, qui est désormais en casse mixte.) Auparavant, l’option d’échantillon n’était pas présélectionnée.
- Les clients sont désormais avertis des baisses de prix de produits lorsque le client est abonné à l’alerte de baisse de prix. Auparavant, les notifications de baisse de prix n’étaient pas toujours envoyées en raison de la mise en cache au niveau de l’application.
- Les règles de catalogue basées sur des SKU avec la condition is not one of fonctionnent désormais comme prévu.
- Magento Open Source ne suppose plus par erreur qu’une catégorie est la catégorie parent d’une autre en fonction du chemin d’accès à la catégorie. Auparavant, lorsque deux catégories étaient adjacentes et qu’un ID de catégorie commence par l’ID de catégorie d’une autre catégorie, Adobe Commerce supposait que les catégories avaient la même catégorie parente. GitHub-32464
Produits configurables
- Magento Open Source ne renvoie plus d’erreur lorsqu’un utilisateur administrateur ajoute manuellement des produits à un produit configurable auquel sont déjà affectés de nombreux produits simples. Auparavant, Magento Open Source affichait cette erreur :
Something went wrong with processing the default view and we have restored the filter to its original state
.
- Les acheteurs ne peuvent plus ajouter de produits configurables avec une quantité vendable de 0 à leur panier dans les déploiements avec les commandes en souffrance désactivées. Magento Open Source indique désormais que le produit est en rupture de stock. GitHub-35319
- La création d’un nouveau produit par l’importation d’un produit configurable avec de nombreuses options à partir d’une vue de magasin différente entraîne désormais une copie exacte du premier produit comme prévu. Auparavant, l’ordre de tri des options configurables du nouveau produit était incorrect, et les titres n’étaient pas traduits dans les paramètres régionaux de la nouvelle vue de magasin dans les déploiements avec plusieurs vues de magasin et paramètres régionaux. GitHub-35200
- Les produits configurables avec tous les produits enfants en rupture de stock sont désormais affichés comme en rupture de stock sur le storefront.
- Les SKU et noms de produits configurables s’affichent désormais avec précision. Auparavant, les noms et SKU s’affichaient comme non définis après le déplacement d’un groupe d’attributs au-dessus du groupe Détails du produit dans Stores > Attribute set. GitHub-36309
Coupons
- Une logique de validation a été ajoutée au workflow Gérer les codes coupon pour appliquer les paramètres de code coupon lors de la génération des coupons. Auparavant, la génération du code de coupon ignorait le paramètre Code Length lorsque la valeur Qté du coupon était supérieure à 2 500.
- Les points de récompense sont désormais ajoutés au compte d'un client comme prévu lorsqu'un coupon de récompense est appliqué lors du passage en caisse avec la méthode de paiement PayPal Express.
- Vous pouvez désormais appliquer un code de coupon lors de la création d’une commande administrateur lorsque la règle de prix du panier comporte le poids comme condition. Auparavant, les codes de coupon n’étaient pas définis si d’autres champs n’étaient pas sélectionnés pour le produit. GitHub-36271
- Vous pouvez désormais filtrer les rapports de coupon en fonction de plusieurs règles de prix de panier. GitHub-36272
- Les options personnalisées sont désormais appliquées et enregistrées lorsqu’un utilisateur administrateur appuie sur Enter lors de la configuration d’un produit avec des options personnalisées. Auparavant, vous pouviez sélectionner des options et ajouter le produit à une commande, mais les options n’étaient pas enregistrées et l’utilisateur administrateur était invité à sélectionner à nouveau les options du produit. GitHub-35284
- Les codes promotionnels peuvent désormais être exportés au format XML Excel. Auparavant, le fichier généré ne contenait pas tous les codes coupon sélectionnés, mais uniquement le nombre d’éléments sélectionnés dans le sélecteur d’éléments par page.GitHub-36073
cron
- La tâche cron
catalog_index_refresh_price
s’exécute maintenant correctement. Auparavant, Magento Open Source consignait cette erreur pendant l’exécution cron :report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
.
Devise monétaire
- Un espace manquant entre les symboles de devise personnalisée et les prix a été ajouté aux prix des produits storefront et admin. La condition et l’expression régulière appropriées ont été ajoutées pour permettre un NBSP personnalisé dans les symboles de devise. Par exemple, IDRx 105.00 s’affichait auparavant sous la forme IDRx105.00.
- Magento Open Source n’envoie plus d’e-mails en double à un client après la création d’une commande à partir de l’administrateur.
- Les e-mails de commande de l’administrateur ne sont plus envoyés lorsque le paramètre Email order confirmation est désactivé. GitHub-36256
- Les options d’image ne s’affichent plus comme balises HTML dans l’avoir, la confirmation de commande et les e-mails des clients de facture (modèle par défaut) pour les produits avec des options personnalisées.
Frameworks
- Les utilisateurs administrateurs peuvent désormais ouvrir la page Admin Store > Configuration lorsqu’aucun pays ne figure dans le paramètre Pays de l’Union européenne (Stores > Configuration > General > Country options > European Union Countries). Auparavant, lorsqu’un utilisateur administrateur tentait d’ouvrir cette page, Magento Open Source générait l’erreur suivante :
TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46
. GitHub-35901
- Les dépendances
jquery.cookie
fonctionnent désormais comme prévu avec les dépendances JavaScript. Auparavant, vous ne pouviez pas utiliser d’alias pour lesjquery/jquery.cookie
. GitHub-35913
- La commande
bin/magento i18n:collect-phrases
inclut désormais<title>
texte dans le fichier CSV exporté. GitHub-35462
Magento\Framework\Code\Reader\ArgumentsReader::getParentCall()
prend désormais en charge les arguments de constructeur nommés. Vous pouvez désormais appeler une fonction en définissant les paramètres par leur nom.
- Les erreurs sont désormais consignées comme prévu dans le fichier
exception.log
. Auparavant, bien que les erreurs étaient consignées dans le fichiersystem.log
, elles ne l’étaient pasvar/log/exception.log
.
- Les commerçants peuvent désormais spécifier un fournisseur SMTP externe personnalisé. GitHub-26104
- Les intégrations OAuth peuvent désormais être réautorisées comme prévu sur les déploiements exécutant Magento Open Source 2.4.3-p2. Auparavant, la réautorisation échouait avec cette erreur :
The attempt to post data to consumer failed due to an unexpected error. Please try again later
. Magento Open Source a également tenté de déchiffrer des valeurs non chiffrées. GitHub-35313
- Le paramètre de
rowId
correct est désormais transmis lorsque leurlKey
de catégorie est enregistré pour les catégories qui ont des catégories enfants. Auparavant, le mauvaiscategoryId
était transmis lors de l’enregistrement duURLKey
de catégorie.
- Le code d’attribut de produit
event
a été ajouté à la liste des codes d’attribut de produit réservés, ce qui élimine les erreurs associées à l’utilisation d’un attribut avec ce nom sur le storefront. Auparavant, l’application générait cette erreur sur les pages de détails du produit et de recherche/liste de produits lorsqueevent
était utilisé :report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23
.
- Les messages d’erreur de validation de Storefront qui se produisent lors du placement de la commande s’affichent désormais de manière cohérente. Auparavant, les messages s’affichaient, étaient réduits, puis réapparaissaient. GitHub-35651
- Les consommateurs AMQP n’échouent plus en raison d’une fonction
trim()
obsolète sur les déploiements exécutant PHP 8.1. Auparavant, lorsque le client AMQP démarrait après l’installation, Magento Open Source générait cette erreur :Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143
. GitHub-35380
- La méthode
getFilteredTimerIds
fonctionne désormais comme prévu. La classeMagento\Framework\Profiler\Driver\Standard\Stat
est désormais compatible avec PHP 8.1. Auparavant, Magento Open Source renvoyait une exception lorsque cette méthode était appelée. GitHub-35307
- Suppression de la dépendance sur la bibliothèque
imagemin-svgo
.
- Le processus du modèle de minimisation traite désormais correctement les commentaires consécutifs lorsque le premier commentaire commence par
//
. GitHub-34880
- Correction d'une requête de base de données émise par le module
BundleGraphQl
qui renvoyait cette erreur :"debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130"
.GitHub-34991