Weitere Versionsinformationen

Obwohl der Code für diese Funktionen mit vierteljährlichen Releases gebündelt ist, werden mehrere dieser Projekte (z. B. Progressiven Webs Application (PWA Studio)) ebenfalls unabhängig voneinander veröffentlicht. Fehlerbehebungen für diese Projekte werden in den separaten, projektspezifischen Versionsinformationen dokumentiert, die in der Dokumentation für jedes Projekt verfügbar sind.

Wenden Sie AC-3022.patch an, um DHL weiterhin als Versandunternehmen anzubieten

DHL hat die Schemaversion 6.2 eingeführt und wird die Schemaversion 6.0 in naher Zukunft einstellen. Adobe Commerce 2.4.4 und frühere Versionen, die die DHL-Integration unterstützen, unterstützen nur Version 6.0. Händler, die diese Versionen bereitstellen, sollten AC-3022.patch so bald wie möglich beantragen, DHL weiterhin als Reederei anzubieten. Informationen Herunterladen und Installieren des Patches finden Sie im Knowledgebase-ArtikelApply a patch to continue offer DHL as shipping carrier) .

Wenden Sie den MC-43048__set_rate_limits__2.4.3.patch an, um das Problem mit der API-Ratenbegrenzung zu beheben

Dieser Hotfix bietet eine Lösung für das Problem, dass Web-APIs keine Anfragen verarbeiten können, die mehr als 20 Elemente in einem Array enthalten. Dieses Problem betrifft Bereitstellungen mit Magento Open Source 2.4.3, Adobe Commerce 2.4.3 oder 2.3.7-p1. Diesen Versionen wurde eine integrierte Ratenbegrenzung hinzugefügt, um DoS-Angriffe (Denial-of-Service) zu verhindern. Der standardmäßige Maximalwert wurde auf 20 festgelegt. Dieser Patch setzt die Standardbegrenzung auf einen höheren Wert zurück. Wenn Sie vermuten, dass Ihr Store einen DoS-Angriff erlebt, empfiehlt Adobe, die standardmäßigen Eingabebeschränkungen auf einen niedrigeren Wert zu senken, um die Anzahl der Ressourcen zu beschränken, die angefordert werden können. Siehe den Web-API kann Anfragen mit mehr als 20 Elementen im Array nicht verarbeiten Knowledgebase-Artikel.

Wenden Sie AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch an, um einen schwerwiegenden PHP-Fehler beim Upgrade zu beheben

Beim Upgrade auf Magento Open Source 2.4.3 kann der folgende schwerwiegende Fehler auftreten:

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

Dieser Fehler resultiert aus der Verwendung der str_contains-Funktion, die eine PHP 8.x-Funktion ist. Die Anwendung Open Source 2.4.3 unterstützt PHP 8.x nicht. Dieser Hotfix ersetzt diese Funktion durch eine unterstützte PHP 7.x-Funktion. Siehe den Artikel Adobe Commerce-Upgrade 2.4.3, 2.3.7-p1 PHP Fatal Error Hotfix Knowledge Base.

Highlights

Achten Sie auf die folgenden Highlights in dieser Version.

Wesentliche Sicherheitsverbesserungen

Diese Version umfasst 33 Sicherheitskorrekturen und Verbesserungen der Plattformsicherheit. Viele dieser Sicherheitskorrekturen wurden auf 2.4.2-p2 und 2.3.7-p1 rückportiert.

33 Sicherheitsverbesserungen, die die Schwachstellen bei Remote Code Execution (RCE) und Cross-Site Scripting (XSS) beheben

Bisher sind keine bestätigten Angriffe im Zusammenhang mit diesen Problemen aufgetreten. Bestimmte Schwachstellen können jedoch ausgenutzt werden, um auf Kundeninformationen zuzugreifen oder Administratorsitzungen zu übernehmen. Die meisten dieser Probleme erfordern, dass ein Angreifer zunächst Zugriff auf den Administrator erhält. Daher erinnern wir Sie daran, alle erforderlichen Schritte zu unternehmen, um Ihren Administrator zu schützen, einschließlich, aber nicht beschränkt auf diese Bemühungen: IP-Zulassungsauflistung, Zwei-Faktor-Authentifizierung, die Verwendung eines VPN, die Verwendung eines eindeutigen Standorts anstelle von /admin und gute Passworthygiene. Unter Adobe-Sicherheitsbulletin finden Sie eine Erläuterung dieser behobenen Probleme.

Zusätzliche Sicherheitsverbesserungen

Die Sicherheitsverbesserungen für diese Version verbessern die Einhaltung der neuesten Best Practices für die Sicherheit, einschließlich:

  • Ein neues Composer-Plug verhindert Abhängigkeitsverwirrungen und identifiziert bösartige Pakete mit denselben Namen wie interne Pakete im öffentlichen Paket-Repository. Siehe den Blogpost von Adobe-Versionen Neues Composer-Plug-in mit Version 2.43.

  • Ratenbegrenzung ist jetzt in -APIs integriert um DoS-Angriffe (Denial-of-Service) zu verhindern. Web-APIs erlegen jetzt Einschränkungen hinsichtlich der Größe oder Anzahl der Ressourcen auf (der standardmäßige Maximalwert ist auf 20 festgelegt und kann je nach Geschäftsanforderungen auf einen anderen Wert konfiguriert werden), die von einem Client angefordert werden können. Informationen Konfigurieren dieserfinden Sie unter „Ratenbegrenzung“.

  • Die Abdeckung von ReCAPTCHA wurde erweitert um:

    • Web-APIs mit entsprechenden HTML-Seiten werden über ReCAPTCHA behandelt. (Dies schließt Web-APIs aus, auf die von Integrationen zugegriffen wird.) Die ReCAPTCHA-Abdeckung schützt Endpunkte vor Spam-Angriffen. Wenn auf Web-APIs durch einen Integrationsdienst eines Drittanbieters zugegriffen wird, der OAuth verwendet, ist ReCAPTCHA deaktiviert.

    • Die Seite „Bestellung aufgeben“ und zahlungsbezogene Web-APIs. Der reCAPTCHA-Schutz für diese Seiten ist standardmäßig deaktiviert und kann vom Administrator aktiviert werden. Diese Abdeckung fügt einen Anti-Brute-Force-Mechanismus hinzu, um Geschäfte vor Kardierangriffen zu schützen.

NOTE
Ab Version 2.3.2 werden wir indexierte Common Vulnerabilities and Expositions (CVE)-Nummern mit jedem Sicherheitsfehler zuweisen und veröffentlichen, der uns von externen Parteien gemeldet wurde. Auf diese Weise können Benutzer nicht adressierte Schwachstellen in ihrer Bereitstellung leichter identifizieren. Weitere Informationen zu CVE-Kennungen finden Sie unter CVE.

Verbesserungen der Infrastruktur

Diese Version enthält Verbesserungen, die die Qualität des Frameworks verbessern, sowie die folgenden Funktionsbereiche:

  • Kundenkonto

  • Katalog

  • CMS

  • OMS

  • Import/Export

  • Promotions und Targeting

  • Warenkorb und Checkout

  • B2B

  • Staging und Vorschau

PayPal Pay Later wird jetzt Bereitstellungen unterstützt, die PayPal enthalten. Mit dieser Funktion können Käufer eine Bestellung in zweiwöchentlichen Raten bezahlen, anstatt den vollen Betrag zum Zeitpunkt des Kaufs zu bezahlen.

Neuer use_application_lock-Indizierungsmodus. Im use_application_lock Modus können Sie die Neuindizierung aktivieren, indem Sie entweder Umgebungsvariablen verwenden oder die app/etc/env.php konfigurieren. Bei aktiviertem Modus müssen Sie den Indexer nach einem Fehler nicht mehr manuell zurücksetzen. Siehe Verwenden des Anwendungssperrmodus für Neuindizierungsprozesse.

Plattformverbesserungen

Version 2.4.3 ist noch nicht mit PHP 8.x kompatibel, aber die folgenden Plattformupgrades bringen uns der zukünftigen Kompatibilität mit PHP 8.x näher.

  • Core Composer-Abhängigkeiten und Bibliotheken von Drittanbietern wurden auf die neuesten Versionen aktualisiert, die mit PHP 8.x kompatibel sind.

  • Die KnockoutJS-Bibliothek wurde auf Version 3.5.1 (die neueste Version) aktualisiert.

  • Die veraltete TinyMCE v3-Bibliothek wurde entfernt. Das Magento_Tinymce3Banner und die MFTF-Tests im Zusammenhang mit TinyMCE v3.x wurden aus Adobe Commerce entfernt.

  • Magento Open Source 2.4.3 wurde getestet und als kompatibel mit Redis 6.0.12 bestätigt. (Version 2.4.x bleibt kompatibel mit Redis 5.x.)

  • Die Laminas-Bibliotheksabhängigkeiten wurden auf PHP 8.x-kompatible Versionen aktualisiert. Einige redundante Abhängigkeiten wurden aus der composer.json-Datei entfernt. Magento Open Source 2.4.3 verwendet Laminas 3.4.0.

Leistungsverbesserungen

Diese Version enthält Verbesserungen, die die Indexierungszeit für Produktpreis- und Katalogregel-Indexer verkürzen. Händler können jetzt eine Website aus einer Kundengruppe oder einem freigegebenen Katalog ausschließen, wodurch die Anzahl der Datensätze für die Indizierung reduziert und die Indizierungszeiten verkürzt werden.

Adobe Stock-Integration

Diese Version enthält Adobe Stock Integration v2.1.1.

GraphQL

Mit dieser Version wird die GraphQL-Abdeckung für freigegebene Routen hinzugefügt. Die Routenabfrage und RoutableInterface unterstützen Routing-Anfragen für Produkt-, Kategorie- und CMS-Seiten. Die urlResolver Abfrage wird nicht mehr unterstützt, und ihre Funktionalität wurde durch die route Abfrage ersetzt.

Weitere Informationen zu diesen Verbesserungen finden Sie 🔗 GraphQL-Entwicklerhandbuch.

Page Builder

Page Builder ist jetzt als gebündelte Erweiterung in Magento Open Source verfügbar. Es ist jetzt das standardmäßige Tool zur Inhaltsbearbeitung für Adobe Commerce 2.4.3 und Magento Open Source 2.4.3. Er kann den WYSIWG-Editor durch beliebige Drittanbietermodule ersetzen.

Page Builder ersetzt den TinyMCE-Editor in den folgenden Admin-Bereichen:

  • CMS-Seite
  • CMS-Block
  • Kategoriebeschreibung
  • Produktbeschreibung

Alle in TinyMCE erstellten Inhalte wurden als HTML in Page Builder migriert.

PWA Studio

Weitere Informationen zu Verbesserungen und Fehlerbehebungen finden Sie unter PWA Studio-Versionen. Unter Kompatibilität finden Sie eine Liste der PWA Studio-Versionen und der entsprechenden kompatiblen Versionen.

Upgrade-Kompatibilitätstool

Der Umfang des Upgrade-Kompatibilitätstools wurde auf der Grundlage von Feedback aus der Community erweitert. Schließen Sie sich unserem #upgrade-compatibility-tool Slack-Kanal an, um Unterstützung vom Adobe-Produktteam und der Community zu erhalten und um Unterstützung bei der zukünftigen Ausrichtung des Tools zu erhalten.

Vom Anbieter entwickelte Erweiterungen

In den folgenden Artikeln finden Sie Aktualisierungen zu Funktionen und Änderungen in dieser Version:

Behobene Probleme

Wir haben Hunderte von Problemen im Code 2.4.3 behoben.

Installation, Upgrade, Bereitstellung

  • Der bin/magento setup:db:status-Befehl gibt jetzt eine Meldung zurück, die angibt, dass nach einem erfolgreichen Upgrade alles auf dem neuesten Stand ist. Zuvor hat die Anwendung diesen Fehler angezeigt: Declarative Schema is not up to date.
  • Konfigurationswerte werden jetzt beim erneuten Laden des Formulars beibehalten, wenn die Erstellung eines neuen konfigurierbaren Produkts fehlschlägt. Zuvor gingen beim Neuladen des Formulars Werte verloren, und die Anwendung zeigte diesen Fehler an: The value specified in the URL Key field would generate a URL that already exists. GitHub-32102
  • Die Anwendung löst keine Ausnahme mehr aus, wenn Sie bin/magento setup:upgrade ausführen, um von einer Magento Open Source-Bereitstellung mit Redis auf Adobe Commerce zu aktualisieren.
  • Bereitstellungen, die auf Galera-Clustern ausgeführt werden, unterstützen jetzt mehr Kunden. GitHub-31038
  • Administratoren können sich jetzt erfolgreich bei einer -Bereitstellung anmelden, wenn die Anwendung entweder mit der Option —use-rewrites=0 oder in core_config_data_table mit web/seo/use_rewrites auf 0 installiert wurde. GitHub-32100
  • sortOrder für AsyncCssPlugin aktualisiert. Die Anwendung lädt jetzt AsyncCssPlugin vor dem JsFooterPlugin. GitHub-30882
  • Magento\Config\Model\Config\PathValidator prüft jetzt den Anzeigepfad , um festzustellen, ob ein Element vorhanden ist, und verwendet bei einem Konfigurationspfad den config.xml Pfad stattdessen zur Validierung. GitHub-27678
  • Das Kompilieren von Less-Dateien mit Grunt oder durch Server-seitige Kompilierung liefert nun dieselben Ergebnisse. Zuvor. .abs- styles, die andere .abs- styles in _extends.less erweitert, wurden beim Kompilieren mit Grunt nicht richtig ausgegeben. Dies führte zu Unterschieden zwischen Produktions- und Entwicklungsbereitstellungen. GitHub-7231

Adobe Stock-Integration

  • Die Anwendung zeigt jetzt eine informative Nachricht und einen Link zur Seite Admin Stores > Configuration > Erweitert > System auf der Seite Suchen nach Adobe Stock an, wenn API-Schlüssel (Client-ID) und Client- nicht festgelegt sind. Zuvor hat die Anwendung diesen Fehler angezeigt: We couldn't find any records und kein Link.

Backend

  • Admins mit eingeschränktem Zugriff (die beispielsweise nur Zugriff auf eine Website haben) können Kategorien, die auf den globalen Umfang festgelegt sind, nicht mehr bearbeiten.
  • Der generierte Systembericht (System > Support > Systembericht) wird jetzt korrekt gerendert. Zuvor war der Berichtsinhalt falsch ausgerichtet.
  • Die Anwendung deaktiviert jetzt die Validierung im Feld Preis wie erwartet, wenn die Einstellung Dynamischer Preis bei der Erstellung eines Bundles aktiviert wird. Zuvor gab es einen Validierungsfehler, als Sie einen Wert aus dem Feld Preis entfernten, als die Einstellung Dynamischer Preis aktiviert war. GitHub-26214
  • Unendliche Weiterleitungen treten nicht mehr auf, wenn sich die Admin-URL in Bereitstellungen, in denen die Anwendung so konfiguriert ist, dass sie von zwei URLs aus zugänglich ist, von der Standard-Website-URL unterscheidet.

Produkte im Paket

  • Sie können jetzt die addProductsToCart-Mutation verwenden, um einem Warenkorb ein Bundle-Produkt mit mehr als einer Kontrollkästchen-Option hinzuzufügen.
  • Die Preisindizierung von Bundle-Produkten wird jetzt mithilfe temporärer Tabellen durchgeführt, wodurch das Sperren von Datenbanktabellen vermieden wird. Zuvor verwendete die Anwendung physische Tabellen, was zu gesperrten Tabellen führte.
  • Der Preis eines Bundle-Artikels kann jetzt auf 0,00 festgelegt werden. Als Sie zuvor zur Bearbeitungsseite zurückkehrten, nachdem Sie den Preis auf 0,00 gesetzt hatten, wurde der Preis auf den Standardwert zurückgesetzt. GitHub-32383
  • Bestelldetails für Bestellungen, die Paketprodukte enthalten, zeigen jetzt den korrekten Preis für die Paketprodukte an, wenn der Preis vor der Bestellung geändert wurde.
  • Der Lagerstatus des Bundle-Produkts wird jetzt auf der Grundlage des Lagerstatus seiner untergeordneten Produkte aktualisiert. Zuvor wurden Bundle-Produkte als nicht vorrätig angezeigt, wenn eine Option aus dem Produkt entfernt wurde, und das Bundle-Produkt hatte zwei Optionen mit derselben SKU.
  • Ein Administrator kann jetzt den Wert für das Attribut Shipment Type eines Bundle-Produkts ändern, nachdem es in eine andere Attributgruppe verschoben wurde. Zuvor wurde dieses Attribut immer mit einem Together Wert gespeichert, wenn es in eine andere Attributgruppe als die Standardgruppe im Attributsatz verschoben wurde.
  • Die GraphQL-setGuestEmailOnCart-Mutation aktualisiert jetzt die Gast-E-Mail korrekt. Zuvor wurden die Angebotstabellen und die Angebotadressen-Tabellen nicht aktualisiert.
  • Das Hinzufügen, Entfernen oder Aktualisieren eines untergeordneten Produkts zu einem Produktpaket über die REST-API ruft jetzt eine Neuindizierung durch den Trigger wie erwartet auf. Trigger Zuvor wurde bei diesen Aktionen keine Neuindizierung vorgenommen. Infolgedessen änderte das Bundle-Produkt seinen Lagerstatus erst nach der manuellen Neuindizierung.
  • Die Anwendung zeigt jetzt die richtige Preisspanne für Bundle-Produkte mit Stufenpreisen an. GitHub-30284
  • Die Anwendung zeigt jetzt den gleichen Gesamtpreis wie erwartet auf der Warenkorbseite und im Versandschritt des Checkout-Workflows an, nachdem sich der Preis einer Bundle-Option geändert hat.
  • Sie können jetzt ein Produktpaket erfolgreich konfigurieren, indem Sie über einen Warenkorb eines Kunden darauf zugreifen. Zuvor wurde die Seite „Produkt konfigurieren“ nie vollständig geladen, und Sie konnten Ihre Einstellungen nicht speichern.
  • Händler können jetzt für ein Produktpaket in jeder Shop-Ansicht einer Multi-Store-Bereitstellung einen eindeutigen Preis zuweisen. Website-spezifische Preise werden in der catalog_product_bundle_selection_price Tabelle gespeichert. Zuvor basierte der Preis eines Bundle-Produkts in der Anwendung nicht auf dem Website-Umfang, selbst wenn Stores > Configuration > Catalog > Catalog > Price > Catalog Price Scope auf Website gesetzt war. In catalog_product_bundle_selection_price wurden keine webseitenspezifischen Preise gespeichert. GitHub-12584
  • Rechnungen für Bundle-Produkte zeigen jetzt die richtige Menge für die zugehörigen einfachen Produkte an, wenn Dynamische Preisfindung deaktiviert ist. Zuvor hatten einfache Produkte, die mit dem Bundle-Produkt verknüpft waren, die Menge des übergeordneten Produkts (nicht das Bundle-Produkt). GitHub-30802
  • Die updateProductsInWishlist-Mutation aktualisiert jetzt erfolgreich Elemente, die zu einem Bundle-Produkt in einer Wunschliste gehören. Zuvor löschte diese Mutation das Element, anstatt das Wunschlistenelement zu aktualisieren, und erstellte ein neues, wodurch die Element-ID geändert wurde.

Cache

  • Die varnish6.vcl wurde aktualisiert, um das Zwischenspeichern der Kundenseite zu umgehen.

CAPTCHA

  • CAPTCHA validiert jetzt die von einem Kunden bereitgestellten Daten korrekt, und CAPTCHA-Felder werden nun wie erwartet angezeigt, nachdem ein Kunde mehrmals erfolglos versucht hat, mit PayPal Payflow Pro einen Checkout durchzuführen.
  • Die CAPTCHA-Validierung schlägt auf der Zahlungsseite des Checkout-Workflows nicht mehr zufällig fehl.
  • Die Anwendung zeigt jetzt CAPTCHA-Felder wie erwartet an, nachdem die Anzahl der fehlgeschlagenen Abschlussversuche überschritten wurde. Zuvor hat die Anwendung zwar Sie aufgefordert, die CAPTCHA-Abfrage erneut zu versuchen, aber die CAPTCHA-Felder nicht angezeigt.
  • CAPTCHA funktioniert jetzt auf der Kaufbestätigungsseite erwartungsgemäß. Nachdem ein Käufer eine CAPTCHA-Frage korrekt beantwortet hatte, wurde der Lader auf der Kaufbestätigungsseite noch nie abgeschlossen und die Anwendung zeigte diesen Fehler an: captchaData[formId] is undefined. (Dieser Fehler trat nur auf, wenn der Käufer denselben Browser verwendete, von dem aus er zuvor auf eine Bereitstellung mit 2.3.5-p1 zugegriffen hatte.)
  • _.isEmpty() Einchecken der defaultCaptcha.js-Datei wurde jetzt erfolgreich abgeschlossen. Zuvor wurden diese Prüfungen nicht abgeschlossen, sodass die Checkout-Seite nach dem Upgrade nicht geladen werden konnte. GitHub-31641

Warenkorb und Checkout

  • Die Anwendung berücksichtigt jetzt gebietsschemaspezifische Dezimalstellen beim Konvertieren und Aktualisieren der Produktmenge im Warenkorb.
  • Die Anwendung zeigt nun die Validierungsmeldung für Geschäftsbedingungen nur noch dann im entsprechenden Block an, wenn ein Käufer auf die Schaltfläche Bestellung aufgeben klickt. Zuvor wurde diese Nachricht im Block Rabattcode anwenden angezeigt, wenn ein Käufer im Checkout-Workflow die Zahlungsmethode geändert hat: The order wasn't placed. First, agree to the terms and conditions, then try placing your order again.
  • Die Anwendung verwirft jetzt Änderungen am Formular der Rechnungsadresse im Schritt Bezahlung an der Kasse, wenn der Käufer nicht auf die Schaltfläche Aktualisieren klickt und zum Versandschritt zurückkehrt.
  • Produkte mit einer anpassbaren Option (File) jetzt wie erwartet aktive Links während des Multi-Shipping-Checkout-Prozesses enthalten. Zuvor fehlte dieser Link. GitHub-31095
  • Der Admin-Warenkorb zeigt jetzt die Produktpreise in den richtigen Währungen für Geschäfte an, die mehrere Währungen unterstützen. Zuvor wurden die Preise mehr als einmal in die angegebene Währung umgerechnet - zunächst, wenn Produkte aus der Storefront zum Warenkorb hinzugefügt wurden, und dann erneut, wenn die Bestellung anschließend auf dem Admin gerendert wurde.
  • Käufer können jetzt ein Produkt in ihren Warenkorb legen, dessen Mindest-Werbepreis (MAP) den regulären Produktpreis überschreitet.
  • Käufer können jetzt beim Auschecken mit mehreren Adressen ihre Rechnungsadresse erfolgreich aus dem Checkout-Workflow ändern.
  • Alle von Gästen erstellten Paid-Payment-Transaktionen werden nun in der Datenbank gespeichert und in der Admin wie erwartet angezeigt. Zuvor wurde nur eine kleine Teilmenge gleichzeitiger Bestellungen in der Datenbank gespeichert und die meisten Bestellungen gingen aufgrund von Zeitüberschreitungen verloren, die sich aus Datenbanksperren ergaben. GitHub-25862
  • Die Anwendung zeigt jetzt korrekt Inline-Begrüßungsnachrichten an, die Sonderzeichen enthalten, wenn ein Gast ein Produkt in den Mini-Warenkorb legt. Zuvor hat die Anwendung das Produkt nicht zum Mini-Warenkorb hinzugefügt oder die Begrüßungsnachricht angezeigt. GitHub-32250
  • Die Versandseite des Checkout-Workflows wird jetzt erfolgreich geladen, wenn der Versand im Geschäft aktiviert ist. Zuvor gab die Anwendung einen JavaScript-Fehler aus und die Versandkassenseite wurde nicht vollständig gerendert.
  • Das itemResolvers Argument wurde zur di.xml hinzugefügt. Daher ist der Checkout nicht mehr fehlerhaft, wenn konfigurierbare und gruppierte Produktmodule deaktiviert sind. GitHub-30860
  • Die Anwendung zeigt jetzt die Optionsschaltflächen im Abschnitt Zahlungs- und Versandinformationen wie beim Workflow „Admin-Neubestellung“ erwartet an. GitHub-30257
  • Die Anwendung wendet jetzt die Regeln für den Warenkorbpreis korrekt mit einem festen Rabatt auf Warenkorbebene an, wenn der Warenkorb ein Produkt mit mehreren Optionen enthält. Zuvor wurde die Warenkorbpreisregel nicht vollständig auf die Bestellung angewendet. GitHub-30952
  • Die Schaltfläche Zum Warenkorb hinzufügen in der Ansicht der Kategorieliste funktioniert jetzt wie erwartet. GitHub-32232
  • Sie können jetzt POST /V1/carts/mine/items verwenden, um eine benutzerdefinierte Anzahl gruppierter Produkte zu einem Warenkorb hinzuzufügen. GitHub-26909
  • Die Anwendung füllt den Bereich Rechnungsadresse des Checkout-Workflows nicht mehr mit der Versandadresse. Wenn zuvor das Feld Bundesland/" für die Rechnungsadresse leer war und sich die Versand- und Rechnungsadressen unterschieden, hat der Antrag das Feld Rechnungsadresse Bundesland/) mit Informationen aus der Lieferadresse ausgefüllt. GitHub-31608

Katalog

  • Die Massenaktualisierung der Attribute Mengeninkremente aktivieren und Mengeninkremente funktioniert jetzt erwartungsgemäß. GitHub-29544
  • Die Anwendung gibt keinen JavaScript-Fehler mehr aus, nachdem Sie die Synchronisierung aktueller Produkte mit dem Administrator aktiviert haben. Zuvor hat die Anwendung den folgenden JavaScript-Fehler angezeigt: Cannot read property 'status' of undefined.
  • Aktualisierungen des benutzerdefinierten Design-Layouts werden jetzt erwartungsgemäß angewendet. Zuvor wurden Aktualisierungen des benutzerdefinierten Design-Layouts ignoriert.
  • Der Cache für die Produktkategorie wird jetzt während der indexer_update_all_views-Ausführung wie erwartet von cron gelöscht. Zuvor waren die Produktzahlen auf der Kategorieseite nach der Neuindizierung falsch.
  • Attributwerte bleiben jetzt unverändert, wenn in einer REST-API-Anfrage für Produktaktualisierungen für eine Store-Ansicht kein Attribut angegeben wird. Wenn zuvor kein Attribut angegeben wurde, setzt die Anwendung den Attributwert auf den Standardwert des Bereichs zurück.
  • Das Admin-Produktraster (Admin Katalog > Produkte) zeigt jetzt die richtige Produktanzahl an, wenn Produkte nach SKU gefiltert werden.
  • Die Anwendung zeigt jetzt den genauen Lagerstatus an, wenn ein Produkt zu einer CMS-Seite hinzugefügt wird, wenn die Kategorieberechtigungen aktiviert sind, und verhindert die Anzeige des Preises für die angegebene Kundengruppe. Zuvor wurden alle Produkte als nicht vorrätig angezeigt, unabhängig vom tatsächlichen Lagerstatus.
  • Das Eingabefeld Advanced Pricing Customer Group Price hat jetzt eine Mindestbreite von fünf Stellen. Zuvor waren in diesem Feld nur zwei Symbole auf Displays mit niedriger Auflösung sichtbar.
  • Das Programm löscht jetzt erfolgreich ein Produktmedienbild, nachdem ein Produkt gelöscht wurde. Zuvor blieb das Produktmedienbild nach erfolgreichem Löschen des Produkts im Ordner.
  • Das Seitenlayout wird jetzt erwartungsgemäß aktualisiert, wenn Sie ein Produkt in Admin erstellen oder bearbeiten und anschließend eine Design-Update-Planung erstellen. GitHub-32007
  • Ein benutzerdefiniertes Produktattribut mit einem Wert von null kann jetzt erfolgreich als leer gespeichert werden. Zuvor wurde dieser Wert von der Anwendung nicht auf leer aktualisiert.
  • Die benutzerdefinierten Aktualisierungsdateien des Kategorielayouts gelten jetzt erwartungsgemäß für die Produkte. Zuvor stimmte das Aktualisierungs-Datei-Handle (catalog_category_view_*) nicht mit dem Produkt-Handle überein. GitHub-27285
  • Die Sortierung wurde für die Spalte Feste Produktsteuer (FPT) in der Admin-Produktliste deaktiviert. Zuvor konnte die Seite „Produkte“ nicht neu geladen werden, nachdem die FTP-Spalte sortiert wurde.
  • Die Vorschau des Page Builder-Produkte-Widgets funktioniert jetzt wie erwartet in einer Bereitstellung über mehrere Websites, wenn übereinstimmende Produkte auf jeder Website einen anderen Preis haben.
  • Die Sortierung nach Position bei der Produktsuche mithilfe von GET /rest/V1/products/?searchCriteria[filterGroups] funktioniert jetzt erwartungsgemäß. Zuvor hatte die Produktsammlung keinen Feld- position Sortierwert. GitHub-31591
  • Admin-Benutzer können jetzt doppelte Leerzeichen in den Feldern Name und SKU im Produktraster sehen. Zuvor reduzierte die Anwendung mehrere Leerzeichen in einem einzigen Leerzeichen.
  • Produkte werden jetzt als nicht vorrätig in der Storefront angezeigt, wenn die verkaufbare Menge auf der Admin-Seite 0 beträgt. Zuvor wurden diese Produkte als vorrätig in der Storefront aufgeführt, und die Anwendung zeigte eine aktive Schaltfläche Zum Warenkorb hinzufügen. GitHub-31117
  • Administratoren können jetzt Produkte mit anpassbaren Optionen (File) dem Raster „Artikel bestellt“ im Abschnitt „Warenkorb“ (Spalte „Kundenaktivitäten„) der Seite „Admin Customer“ hinzufügen. Zuvor hat die Anwendung das Element nicht zur Liste hinzugefügt, da der Wert vor dem Einfügen in \Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions nicht korrekt formatiert war.
  • Die Anwendung fordert die Käufer nicht mehr auf, eine Produktoption für ein gebündeltes Produkt auszuwählen, das nur eine Option hat.
  • Das Programm zeigt jetzt alle Unterkategorien in Layout-Aktualisierungen (Anker- und Nicht-Anker-Kategorien) während der Erstellung eines neuen Widgets an.
  • Die product-Abfrage überschreibt nicht mehr die Standardwerte für alle Store-Ansichten in einer Multi-Store-Bereitstellung, wenn ein Produktname nur für eine Store-Ansicht aktualisiert wird. GitHub-31083
  • Magento Open Source aktualisiert die erwartete Gesamtseitenanzahl, wenn Sie den Wert pro Seite der Liste Admin-bezogene Produkte, Up-Sells und Crosssell ändern. GitHub-31059
  • Administratoren können jetzt Produkte mit zwei oder mehr anpassbaren Optionen (File) einer Bestellung nach SKU hinzufügen.
  • Die Anwendung gibt keinen Fehler mehr aus, wenn ein Admin mit eingeschränkten Berechtigungen im Admin-Bereich ein Produkt-Widget zu einer CMS-Seite hinzufügt. Zuvor gab es diesen Fehler, als der Administrator auf die Schaltfläche Speichern klickte: We are sorry, an error has occurred while generating the content.
  • Produktdetailseiten werden jetzt geöffnet, wobei die anpassbare Datumsoption mit dem Datum aus der vorherigen Bestellung ausgefüllt wird, wenn JavaScript-Kalender verwenden aktiviert ist. Der benutzerdefinierte Datumsoptionen-Werteauflöser greift jetzt auf ein alternatives Format zurück, wenn der Wert nicht basierend auf der aktuellen Konfiguration formatiert ist. Zuvor war der Wert der benutzerdefinierten Datumsoption leer.
  • Die Anwendung zeigt jetzt nur noch einen Fehler im Warenkorb an, wenn das Produkt nicht vorrätig ist. Zuvor wurden in der Anwendung redundante Meldungen angezeigt. GitHub-27469
  • Sie können jetzt beim Erstellen oder Aktualisieren eines Bundle-Produkts mit dem POST /V1/product/:sku-Endpunkt die required_options- und has_options-Bundle-Attribute wie erwartet festlegen. Zuvor wurden diese benutzerdefinierten Attribute trotz der Bemühungen, sie auf 1 (eins) festzulegen, auf 0 (null) gesetzt.
  • Admins können jetzt ein Produkt mit einer anpassbaren Option (File) einer Bestellung nach SKU hinzufügen. GitHub-30285
  • Sie können jetzt ein Produkt und einen Preis speichern, ohne type_id anzugeben. GitHub-13639
  • Gruppenprodukte sind jetzt in der Storefront verfügbar, wie erwartet, wenn eine REST-PUT /V1/products/:sku/links-Anfrage verwendet wird, um ein neues untergeordnetes Produkt mit einem neuen Gruppenprodukt zu verknüpfen. Zuvor wurden Produkte nach der Ausführung von bin/magento cron:run nicht korrekt indiziert.
  • Sie können kein Produkt mehr mit einem NULL SKU-Wert erstellen. Zuvor konnten Sie ein Produkt ohne SKU-Wert über ein benutzerdefiniertes Import-Tool oder direkt in der Datenbank erstellen, aber als Sie versuchten, es über die Admin zu bearbeiten, gab die Anwendung einen Fehler aus. GitHub-27411, GitHub-32525
  • Wenn Sie einem einfachen Produkt die erforderlichen benutzerdefinierten Optionen hinzufügen, wird es nicht mehr ohne Warnung aus den übergeordneten zusammengesetzten Produkten entfernt. Die Anwendung zeigt jetzt eine informative Warnung an und speichert das Produkt nicht. Zuvor wurden die Produktänderungen in den Anwendungen gespeichert und es wurde keine Warnung angezeigt. GitHub-30492

Katalogregel

  • Die products Abfrage gibt jetzt die aktuellen Werte zurück, wenn eine Katalogpreisregel auf ein Element angewendet wird. GitHub-26738
  • Temporäre Tabellen, die mit catalogrule_product__temp beginnen, werden jetzt erwartungsgemäß gelöscht, wenn die Neuindizierung fehlschlägt, nachdem eine Warenkorb- oder Katalogregel abgelaufen ist, deaktiviert wurde oder inaktiv wird. GitHub-22273
  • Zeitzonen werden nun in \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById und \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds auf die gleiche Weise angewendet. GitHub-29549

CMS-Inhalte

  • Große Bilder werden jetzt beim Hochladen wie erwartet skaliert, wenn die Konfigurationseinstellung Frontend-Größe aktivieren aktiviert ist.
  • Fehlerkorrektur - Die Fehlerbehandlung für den CMS-Seitenspeichercontroller funktioniert jetzt. Wenn zuvor ein Error-Objekt für das cms_page_prepare_save-Ereignis ausgelöst wurde, hat die Anwendung dieses Objekt an die addExceptionMessage-Funktion übergeben und damit ihren Vertrag gebrochen, da diese Funktion eine Exception erwartet. Dies wurde durch Hinzufügen einer Fehlermeldung mithilfe der addErrorMessage behoben. GitHub-30149

Konfigurierbare Produkte

  • Die Anwendung dupliziert keine Produktminiaturen mehr in der Bildergalerie eines Produkts, wenn Sie auf die konfigurierbaren Optionen eines Produkts klicken.
  • Das Konfigurations-Popup, das die Anwendung beim Bearbeiten eines konfigurierbaren Produkts aus einer Wunschliste anzeigt, wird jetzt wie erwartet geschlossen, wenn Sie auf die Schaltfläche OK klicken.
  • Die Anwendung generiert jetzt korrekt Rechnungen für Bestellungen, die nur ein konfigurierbares Produkt enthalten. GitHub-31143
  • Käufer können jetzt über eine nicht standardmäßige Store-Ansicht konfigurierbare Produkte zu ihrem Warenkorb hinzufügen. Zuvor hat die Anwendung folgenden Fehler angezeigt: Could not add item to cart. Please check required options and try again, wenn ein Käufer in einer nicht standardmäßigen Store-Ansicht versuchte, ein konfigurierbares Produkt hinzuzufügen. GitHub-31660

Content Security Policy (CSP)

  • Die Inhaltssicherheitsrichtlinie unterstützt jetzt das Laden von base64-kodierten Bildern und Schriftarten durch data: scheme.

Cron

  • Cron-Bereinigungsabfragen wurden überarbeitet, um die folgenden Leistungsprobleme zu reduzieren oder zu beseitigen: cron Aufträge bleiben in einem ausstehenden Zustand stecken, die MySQL-Abfragen werden zunehmend langsamer und die CPU-Nutzung steigt. GitHub-26507
  • cronjobs, die sich seit mehr als 24 Stunden im Status running befinden, werden jetzt automatisch in Status error geändert. Daher kann eine neue Instanz dieses Auftrags erneut ausgeführt werden, und Sie müssen den Auftragsstatus nicht manuell ändern, wenn ein Auftrag fälschlicherweise auf Status running festgelegt bleibt. Wenn ein cronjob im Status "running" feststeckt, hat die Anwendung verhindert, dass neue Instanzen desselben Auftrags gestartet werden, und Sie mussten den Auftragsstatus manuell ändern. GitHub-8933
  • cron Aufträge werden jetzt erwartungsgemäß abgeschlossen und lösen diesen Serialisierungsfehler nicht mehr aus: [Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28'). GitHub-18409
  • indexer_update_all_views Cron-Aufträge werden jetzt nach einem vorherigen Fehler wie erwartet ausgeführt. Der fehlgeschlagene Durchlauf wird im cron_schedule schedule als fehlgeschlagen markiert und der nachfolgende Durchlauf schlägt nicht automatisch fehl. Zuvor wurde die cron_schedule mit ausstehenden Aufträgen gefüllt, und indexer_update_all_views Cron-Auftrag wurde nicht ausgeführt. GitHub-23054
  • cron Deadlocks treten nicht mehr auf, weil cron versuchen, eine Sperre in großen Bereitstellungen zu setzen, in denen sich Gruppen überschneiden. GitHub-8933
  • cron Deadlocks treten in der cron_schedule nicht mehr auf, nachdem nur einige cron Aufträge ausgeführt wurden. GitHub-22438

Benutzerdefinierte Kundenattribute

  • Das Bundesland im Adressbuch des Storefront-Kundenkontos wird jetzt als geladen und bleibt ein Dropdown-Seitenelement. Die Senden-Schaltfläche ist jetzt deaktiviert, bis alle Seitenelemente vollständig geladen wurden. Zuvor hat die Anwendung dieses Feld als Textfeld geladen, bevor sie es als Dropdown-Element gerendert hat. Käufer konnten Werte in das Textfeld eingeben und speichern, was später während des Checkouts einen Fehler verursachte.
  • Die Anwendung gibt keinen Fehler mehr aus, wenn Sie beim Hochladen von Dateien ein Kundenadressattribut mit einem Dateianhang im Feld Admin-Kundenadresse speichern. Dies ist aufgrund einer fehlenden Rückgabeanweisung in der Controller-Aktion aufgetreten. Zuvor gab die Anwendung den folgenden Fehler aus: Something went wrong while saving the file.
  • REST GET Cart-API-Aufrufe geben jetzt korrekte benutzerdefinierte Attributwerte für Abrechnungs- und Versandadressen zurück. Zuvor wurden benutzerdefinierte Adressattribute auf der Seite mit den Bestelldetails auf der Seite „My Account Storefront“ und in „Admin“ falsch angezeigt.
  • Die Anwendung verarbeitet jetzt erfolgreich Dateien, die Kundenadressattribute mit dem Eingabetyp file (attachment) enthalten. Zuvor hat die Anwendung diesen Fehler beim Hochladen der angehängten Datei ausgegeben: Something went wrong while saving the file.

KUNDE

  • Das Filtern nach dem Erstellungsdatum des Kontos liefert jetzt Ergebnisse, die den konfigurierten Zeitzoneneinstellungen entsprechen und alle relevanten erstellten Konten erfassen.
  • Der Kundenrasterfilter verwendet jetzt eine korrekte Website-Option für einen eingeschränkten Benutzer, wenn die Daten zuvor zwischengespeichert wurden. Zuvor hat der Kundenrasterfilter Website-Parameter aus dem Cache abgerufen und falsche Daten für eingeschränkte Benutzer eingefügt.
  • Die Anwendung löst auf der Admin-Kundenseite keine Ausnahme mehr aus, wenn eine Website in einer Bereitstellung mit mehreren Websites gelöscht wird. Zuvor hat die Anwendung, wenn ein Administrator versucht hat, auf die umfassende Kundenliste zuzugreifen, nicht alle Kunden angezeigt und daher folgenden Fehler ausgegeben: The website with id 2 that was requested wasn't found. Verify the website and try again.
  • Admins mit -Berechtigung können jetzt Kundinnen und Kunden über die Registerkarte Kontoinformationen des Kunden verschiedenen Websites neu zuweisen.
  • Sie können jetzt eine Datei erfolgreich hochladen, wenn Sie ein Kundenadressattribut mit dem Eingabetyp (File) erstellen. Wenn Sie zuvor versucht haben, eine Datei hochzuladen und zu speichern, hat die Anwendung folgenden Fehler ausgegeben: Something went wrong while saving the file.

Verzeichnis

  • Die Anwendung löst keine Ausnahme mehr aus, wenn ein Käufer während des Versandabschnitts des Checkout-Workflows eine ungültige Postleitzahl eingibt. GitHub-23371

herunterladbar

  • Die Anwendung zeigt jetzt in der E-Mail Neue Bestellung Links zu herunterladbaren Produkten an, wenn die Bestellung sowohl ein herunterladbares Produkt als auch ein konfigurierbares Produkt mit einer herunterladbaren Option enthält. Zuvor zeigte die Anwendung den Link zum eigenständigen herunterladbaren Produkt an, jedoch nicht den Link zum konfigurierbaren Produkt mit einer herunterladbaren Option.

EAV

  • Datumswerte des Kundenadressattributs werden jetzt im vierstelligen anstatt im zweistelligen Format gespeichert.

E-Mail

  • Der Link zum Zurücksetzen des Kennworts auf der Seite zum Zurücksetzen des Admin-Kennworts funktioniert jetzt erwartungsgemäß. Wenn zuvor eine benutzerdefinierte Vorlage für die Seite „Administratorkennwort zurücksetzen“ verwendet wurde, hat die Anwendung diese Meldung angezeigt, als ein Administrator auf den Link in der E-Mail geklickt hat: Your password reset link has expired. Dies trat auf, weil die benutzerdefinierte E-Mail-Vorlage die falsche Variable für die Benutzer-ID enthielt.
  • Das Senden von Kunden-E-Mails über den Administrator funktioniert jetzt ordnungsgemäß, wenn sie auf der Store-Ansichtsebene aktiviert sind. Zuvor hat die Anwendung keine Kunden-E-Mails gesendet, wenn die E-Mail-Benachrichtigungseinstellungen auf Store-Ansichtsebene, aber nicht auf globaler Ebene aktiviert waren.
  • Die Anwendung sendet jetzt E-Mails wie erwartet in Bereitstellungen mit mehreren Websites, in denen nicht alle Websites das asynchrone Senden von E-Mails aktiviert haben. Wenn diese Einstellung zuvor auf mindestens einer Website deaktiviert war, wurde von keiner Website eine E-Mail gesendet, selbst wenn sie aktiviert war. E-Mails mit Rechnungen, Sendungen und Gutschriften hatten ähnliche Probleme. E-Mails mit Bestellkommentaren, Rechnungskommentaren, Versandkommentaren und Gutschriften wurden jedoch erfolgreich gesendet. GitHub-31950
  • PDF und Rechnungsrechnungen enthalten nun für Bundle-Produkte die erwarteten Preise. Zuvor enthielten die PDF-Rechnungen den falschen Preis für Bundle-Produkte. GitHub-12856
  • Die Filtermethode der E-Mail-Vorlage wurde um eine Zeichenfolgenumwandlung erweitert, um sicherzustellen, dass der Rückgabewert eine string ist. Zuvor gab die Anwendung ein phrase -Objekt zurück, wenn eine Ausnahme erfasst wurde, während sie sich nicht im Entwicklermodus befand. Dies wiederum löste eine tödliche Uncaught TypeError aus. GitHub-32671
  • Bestätigungs-E-Mails für Bestellungen werden jetzt wie erwartet gesendet, wenn der asynchrone Versand aktiviert ist (Stores > Configuration > Sales > Sales-E-Mails > Allgemeine Einstellungen > Asynchroner Versand) auf einer Website in einer Multi-Site-Bereitstellung. GitHub-31950
  • Die Anwendung protokolliert jetzt einen Fehler wie erwartet, wenn eine Ausnahme auftritt, da ein Kunde versucht, eine E-Mail über das Formular „Kontakt“ zu senden. GitHub-23645

Frameworks

  • Übergeordnete Klassen in der Admin-Klasse werden jetzt zusammen mit der ursprünglichen Klasse und den geerbten Schnittstellen auf Docblock-Anmerkungen überprüft. Da übergeordnete Klassen nicht überprüft wurden, führte die Durchführung von kundenbezogenen Aktionen in der Admin, die ein Ereignis ausgelöst haben, zu einem Fehler. Die Anwendung hat diesen Fehler im Ausnahmenprotokoll protokolliert: report.CRITICAL: Method's return type must be specified using @return annotation..
  • Die Anwendung gibt keinen schwerwiegenden Fehler mehr aus, wenn der Redis-Server in einer Bereitstellung angehalten wird, in der das Caching von Redis-Seiten aktiviert ist.
  • Die Anwendung berücksichtigt jetzt die Einstellung Medienordner aus Sicherung ausschließen wenn das Backup mit bin/magento config:set system/backup/functionality_enabled 1 aktiviert ist. Zuvor wurde der Medienordner trotz dieser Einstellung gesichert, da der Pfad zu /magento falsch mit einem doppelten // gebildet wurde.
  • Die Anwendung übersetzt jetzt alle übersetzbaren Zeichenfolgen wie für die Admin-Warenkorbseite erwartet. Zuvor wurde die Übersetzungslast zu spät ausgeführt und alle Beobachter übersprungen, die für die Vorab-Dispatch-Aktion des Controllers abonniert waren. GitHub-31849
  • Die Formularvalidierung auf der Seite Neues Kundenkonto erstellen funktioniert jetzt erfolgreich, wenn die Einstellung Als Kunde anmelden Erweiterung aktivieren deaktiviert ist. Zuvor gab die Anwendung einen JavaScript-Fehler aus.
  • Die Ausnahmebehandlung für untergeordnete Prozesse, die von ProcessManager unterbrochen werden, wurde verbessert. Wenn jetzt eine Ausnahme auftritt, wird der Hauptprozess beendet und eine Fehlermeldung wird nur einmal angezeigt. Zuvor wurden mehrere Indexerfehler protokolliert und mehrere Meldungen angezeigt. GitHub-30622
  • Globale Magento Open Source-Plug-ins (z. B. webapi_rest und graphql ) werden für einen neuen benutzerdefinierten Bereichstyp nicht mehr ausgelöst, wenn die di.xml dieser Bereichsdatei keine registrierten Plug-ins enthält.
  • Ausnahmen, die während der Initialisierung auftreten, werden nicht mehr zwischengespeichert und führen jetzt Trigger für einen 500-Antwort-Code aus.
  • Der letzte in einer communication.xml zusammengeführte Handler überschreibt nicht mehr alle zuvor erstellten Handler. GitHub-29528

Allgemeine Fehlerbehebungen

  • Die Anwendung zeigt jetzt die richtige Anzahl von Sternen auf der Seite „Meine Produktbewertungen“ und auf der Seite „Letzte Überprüfungen“ von MyAccount an. Zuvor hat der Antrag die Überprüfungsstarts nur auf die erste Überprüfung angewendet und die anderen Überprüfungen auf der Seite nicht gestartet.
  • Account-Links in Headern folgen jetzt WCAG-Standards. Zuvor enthielten Account-Links in Headern doppelte IDs, wodurch die WCAG-Validierung fehlschlug.
  • Die Anwendung gibt keine vom Systemprotokoll generierten Fehler mehr aus, wenn ein Gasteinkäufer eine ungültige Adresse verwendet. Zuvor zeigte die Anwendung gelegentlich diesen Fehler an, anstatt die Seite zu rendern: No such entity with addressId. GitHub-15115
  • Das Ändern der Bildgröße wird bei Bildern im nicht unterstützten Format nicht mehr angehalten. Zuvor wurde der Prozess gestoppt, als catalog:images:resize auf ein nicht unterstütztes Bildformat stieß, und die Anwendung zeigte folgenden Fehler an: bin/magento catalog:images:resize Unsupported image format.
  • Die Unterstützung von WEBP und AVIF für Logo-Bilder wurde dem Administrator hinzugefügt. GitHub-32495
  • Sie können den Umfang des media_gallery-Attributs nicht mehr ändern. Wenn Sie den Umfang des media_gallery-Attributs zuvor wieder in global geändert haben, hat die Anwendung einen Fehler ausgegeben.
  • Verwandte Produkte, die als geplante Aktualisierung hinzugefügt wurden, werden nach dem Enddatum der Aktualisierung nicht mehr auf einer Storefront-Produktseite angezeigt. GitHub-469
  • Die Filterung funktioniert jetzt in der Liste der geplanten Exporte wie erwartet, wenn der Entitätstyp ausgewählt ist. Zuvor funktionierte der Filter nicht und die Anwendung gab einen JavaScript-Fehler aus. GitHub-361
  • Kategoriebilder werden jetzt erwartungsgemäß aus dem catalog/tmp/category in den catalog/category kopiert, wenn Kategorien mithilfe der Datenbankspeichermethode gespeichert werden. Die Bildzeile in der media_storage_file_storage hat nun auch die richtige directory_id. GitHub-11995
  • Händler werden jetzt wie erwartet über ungültige Caches benachrichtigt, nachdem sie Änderungen an der CMS-Hierarchie gesendet haben. Zuvor hat die Anwendung beim Speichern der CMS-Hierarchie Caches nicht ungültig gemacht.
  • Redundante AJAX-Anfragen an den Warenkorbabschnitt des Warenkorbs wurden reduziert. Zuvor hat die Anwendung die Zwischensumme des Warenkorbs nicht ordnungsgemäß geladen, was das erneute Laden des Warenkorbs ausgelöst hat.
  • Bei Bereitstellungen mit PHP 7.4 gibt die Anwendung jetzt einen 404-Fehler zurück, wenn die Einstellung Generate „category/product“ URL Rewrites auf No gesetzt ist und ein Käufer versucht, auf einen nicht vorhandenen Kategoriepfad zuzugreifen. Zuvor gab die Anwendung einen 500-Fehler zurück, der wie folgt lautet: Trying to access array offset on value of type bool. GitHub-31984
  • nowdoc hat heredoc im Magento_Backend-Umschalter ersetzt. GitHub-32262
  • Argentinien, Bolivien, Chile, Ecuador, Guyana, Paraguay, Peru, Suriname und Venezuela wurden dem directory_country_region hinzugefügt. GitHub-31169
  • Die Regionen Albanien, Dänemark, Griechenland, Island, Portugal und Schweden wurden dem directory_country_region hinzugefügt. GitHub-31040
  • Nachrichten werden jetzt in der MySQLMQ-Nachrichtenwarteschlange als Fehler gekennzeichnet, wenn Ausnahmen auftreten. GitHub-18140
  • Die Anwendung verweist jetzt beim Laden der Steuerinformationen für die Seiten „Admin-Gutschrift“ und „Rechnung“ auf das richtige Klassenobjekt. GitHub-31197
  • Die Royal Mail Click & Drop-Integration funktioniert jetzt erwartungsgemäß. Zuvor gab die Anwendung diesen Fehler aus, als Sie versuchten, diese Integration zu aktivieren: Sorry! Something went wrong. Please try again later. GitHub-28996
  • Die Anwendung zeigt jetzt eine informative Fehlermeldung an, wenn eine falsche Lieferung, Gutschrift oder Rechnungs-ID in einer URL übergeben wird. Zuvor gab es einen schwerwiegenden Fehler. GitHub-30424
  • Rekursion am Speicherort der statischen Dateien wurde entfernt. Die Anwendung zeigt jetzt eine 404-Seite anstelle eines 500-Fehlers an. Zuvor führte ein Fehler in der standardmäßigen NGINX-Konfiguration zu einer unendlichen Rekursion. GitHub-31530
  • Der Name der cms_index_noroute.xml wurde in cms_noroute_index.xml geändert. GitHub-31300
  • Die .editorconfig wurde überarbeitet, um die automatische Formatierung db_schema_whitelist.json Dateien zu korrigieren. GitHub-31171
  • Durch Ändern der Größe eines Browserfensters duplizieren Trigger keine Bindungsvergrößerungsereignisse mehr. GitHub-30788
  • Die Anwendung löst beim Filtern von Magento\Users\Model\ResourceModel\Users\Collection nach user_id keine SQL-Ausnahme mehr aus. GitHub-31216

Geschenkkarten

  • Die Validierungslogik für Preisbereiche wurde der Seite zur Geschenkkartenerstellung hinzugefügt. Zuvor konnte ein Administrator eine Karte mit einem Mindestwert erstellen, der den Höchstwert überschritt. GitHub-493
  • Die addRequisitionListItemsToCart Abfrage gibt jetzt den erwarteten Betrag einer benutzerdefinierten Geschenkkarte zurück, wenn die Anfrage keinen Wert für allow_open_amount enthält.

Geschenknachricht

  • Administratoren werden jetzt nach der Anmeldung direkt zur angeforderten Admin-Seite weitergeleitet. Wenn sich ein Administrator angemeldet hat, wurde er zuvor zum Admin-Dashboard weitergeleitet (oder zu der als Startseite konfigurierten Seite) und musste manuell zu seinem Ziel navigieren. GitHub-31042

Google Tag Manager

  • Die UI-Komponente für die Rechnungsadresse auf der Zahlungsseite des Checkout-Workflows verwendet jetzt die Angebotsadresse korrekt, wenn Google Tag Manager aktiviert ist. Zuvor ist auf der Zahlungsseite ein JavaScript-Fehler aufgetreten.

GraphQL

  • Die GraphQL products-Abfrage gibt jetzt Attributoptionen zurück, die in derselben Sortierreihenfolge wie auf der Attributbearbeitungsseite sortiert sind.
  • Die Antwort auf die { category(id: 2){ children { name children { name } } } } GraphQL-Anfrage enthält jetzt eine korrekt sortierte Kategoriestruktur.
  • Das CartItemPrices-Objekt enthält jetzt die neue fixed_product_taxes GraphQL , die ein Array der festen Produktsteuern zurückgibt, die auf ein Warenkorbelement angewendet werden. Zuvor wurden feste Produktsteuern, die auf einen Warenkorbartikel angewendet wurden, nicht in die Warenkorbabfrage einbezogen.
  • Leere Anfragen an GraphQL geben jetzt den Antwort-Code 200 anstelle von 500 aus. Zuvor hat der GraphQL-Parser eine Ausnahme ausgelöst, bevor das Abfrageergebnis generiert wurde.
  • Die applyRewardPointsToCart-Mutation aktualisiert nun den Gesamtwert eines Warenkorbs, um den Wert der abgezogenen Belohnungspunkte genau widerzuspiegeln. GitHub-486
  • Deaktivierte Produkte sind nicht mehr in der GraphQL-Antwort enthalten, wenn GraphQL zum Verknüpfen von Upsell-Produkten verwendet wird.
  • Händler können jetzt die GraphQL-setShippingAddressesOnCart verwenden, um Rechnungs- und Versandadressen für den Warenkorb eines Käufers festzulegen, wenn der Gast-Checkout deaktiviert ist.
  • Die categoryList Abfrage löst keine Ausnahme mehr aus, wenn sie mehrere Fragmente im CategoryTree enthält. GitHub-31086
  • Die GraphQL product-Abfrage gibt jetzt die richtigen Kundengruppenpreise zurück.
  • Die GraphQL products-Abfrageantwort sortiert Aggregationen jetzt nach der Position der Produktattribute.
  • Die Anwendung gibt bei GraphQL-Abfragen keine Typfehler mehr aus, wenn die Produkt- und Kategorie-URL-Suffixe Nullwerte enthalten. GitHub-30909
  • Das CustomizableDateValue-Objekt enthält jetzt das type. Sein Wert ist eine Auflistung, die auf DATE, DATE_TIME oder TIME festgelegt werden kann.
  • Die Anfrage zur POST V1/products/special-price-delete löscht jetzt nur den Preis mit einem angegebenen store_id erwartungsgemäß. Zuvor wurden durch den Aufruf alle Sonderpreise für die angegebene SKU aus allen Stores entfernt. GitHub-25907
  • Fehlerkorrektur - Das Attribut country_code in der createGiftRegistry-Mutation ist jetzt fehlerfrei.
  • Es wurden Probleme mit dem giftRegistryUid der updateGiftRegistryItems-Mutation behoben.
  • Es wurde eine zusätzliche Prüfung hinzugefügt, um zu verhindern, dass die updateGiftRegistryRegistrants-Mutation verwendet wird, um zufällige Personen als Registrierende zu einem Geschenkgutachten hinzuzufügen.
  • Die addConfigurableProductsToCart Mutation gibt jetzt die richtige Miniaturansicht des angegebenen Produkts zurück. Zuvor wurde die Miniaturansicht des übergeordneten Produkts zurückgegeben.
  • Die products Abfrage zeigt den Sonderpreis eines Produkts nicht mehr an, wenn die Sonderpreisperiode für ein künftiges Datum festgelegt ist. GitHub-30210, GitHub-29631
  • Die customer-Abfrageantwort enthält jetzt das total_giftcard-Attribut als Teil des OrderTotal.
  • Es wurde ein Problem behoben, das dazu führte, dass die products-Abfrage fehlerhafte Informationen zu Preisstufen für Artikel zurückgab, für die keine Preisstufe festgelegt war. GitHub-32279

Bild

  • Sie können jetzt die Bundle-Attribute required_options und has_options wie erwartet beim Erstellen oder Aktualisieren eines Bundle-Produkts mit dem Endpunkt POST /V1/product/:sku festlegen. Zuvor wurden diese benutzerdefinierten Attribute trotz der Bemühungen, sie auf 1 (eins) festzulegen, auf 0 (null) gesetzt.

Import/Export

  • Der Filter Kategorie-IDs für Produktentitäten im Raster „Entitätsattribute der Seite exportieren“ funktioniert jetzt erwartungsgemäß.
  • Der Status des gruppierten Produktbestands wird jetzt erwartungsgemäß auf Nicht vorrätig aktualisiert, wenn alle untergeordneten Produkte nicht vorrätig sind. GitHub-32647
  • Der konfigurierbare Produktbestandsstatus wird jetzt erwartungsgemäß automatisch aktualisiert, wenn der Status des untergeordneten Produktbestands durch den Import aktualisiert wird. Zuvor wurde der Produktbestandsstatus nicht automatisch aktualisiert, wenn der Lagerstatus untergeordneter Produkte durch den Import aktualisiert wurde.
  • Sie können jetzt leere Werte in einem geplanten Export speichern. Zuvor hat die Anwendung leere Filterwerte nach der Exporterstellung oder dem Speichern aktualisiert. Sowohl no- als auch not specified Werte wurden in der Datenbank durch null dargestellt, und ein Wert von not selected wurde mit no überschrieben.
  • Der Exportprozess berücksichtigt jetzt den Umfang der Benutzerrolle beim Exportieren von Produkten, Lagerquellen und Kundenentitäten. Zuvor ignorierte der Exportprozess den Benutzerrollenbereich, der den Export von Entitäten mit privaten Benutzerrollen ermöglichte.
  • Die Anwendung legt jetzt die Produktsteuerklasse auf None fest, wenn ein Produkt mit tax_class_name Werten None oder 0 importiert wird. Wenn product tax_class_name zuvor in der CSV-Datei None wurde, hat das Programm eine neue Steuerklasse None erstellt, die die vorhandene Steuerklasse dupliziert hat. Wenn product tax_class_name in der CSV-Datei 0 wurden, ignorierte die Anwendung diesen Wert, und die Produktsteuerklasse änderte sich nach dem Import nicht.
  • Admins können jetzt die name der bundle_values eines Produktpakets erfolgreich über den Admin ändern. Zuvor hatte das Programm das Produkt als nicht vorrätig in der Storefront angezeigt, nachdem Sie den Namen von der Administratorin bzw. dem Administrator geändert hatten. Produkte wurden auch mit derselben SKU zu einem einzigen Abschnitt mit Bundle-Optionen zusammengeführt.
  • Die Anwendung berücksichtigt jetzt den Benutzerbereich beim Exportieren von Kundendaten. Wenn Sie zuvor versucht haben, Kunden zu exportieren, hat die Anwendung Kundendaten aus allen Websites exportiert.
  • Die Anwendung entfernt jetzt während des CSV-Dateiimports Produktbeziehungen zwischen Upsell, Crosssell und zugehörigen Produkten wie erwartet, wenn __EMPTY__VALUE__ in der CSV-Datei angegeben ist.
  • Der Export von benutzerdefinierten Adressdaten für viele Kunden (Admin System > Export) führt nicht mehr routinemäßig zu einem Speicherfehler. Zuvor hat die Anwendung beim Exportieren benutzerdefinierter Adressdaten versucht, alle Kundendaten zu laden, was zu einer Speichererschöpfung führte, und es wurde ein Fehler ausgegeben, durch den es nicht möglich war, Speicher zuzuordnen.
  • Doppelte Stufenpreise werden während des standardmäßigen CSV-Importvorgangs nicht mehr importiert. Zuvor fehlte die Validierung, um den Import doppelter Stufenpreise zu verhindern, und als doppelte Stufenpreise auftraten, konnten Händler die Produkte nicht speichern. Händler sahen diesen Fehler auch, als sie versuchten, einen Produktwechsel zu planen: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry….
  • Alle Produktbilder werden jetzt beim Import validiert. Zuvor hat die Anwendung nur das erste Bild validiert, wenn ein Produkt mehrere Bilder hatte. GitHub-28236
  • Sie können jetzt eine Region wie beim Import erwartet aus einer Kundenadresse löschen. Zuvor hat sich die zugewiesene Region nicht geändert, wenn eine Kundenadresse mit einer leeren Region importiert wurde.
  • Produkte mit JSON- oder HTML-Inhalten als zusätzliche Produktattribute werden jetzt korrekt in eine CSV-Datei exportiert. Zuvor enthielt die CSV-Datei überlappende Datenzeichenfolgen in falschen Feldern.

Index

  • Process Manager wird jetzt mit einem Fehler beendet, wenn ein untergeordneter Prozess fehlschlägt. Process Manager wurde zuvor immer erfolgreich beendet, wenn die Anzahl der an den Prozess übergebenen Funktionen (z. B. Indexerdimensionen) kleiner war als der Wert der MAGE_INDEXER_THREADS_COUNT Umgebungsvariablen. GitHub-30964
  • Produkte sind jetzt wie erwartet in den Suchergebnissen der Storefront verfügbar, wenn Produkte über eine REST-PUT verknüpft werden /V1/products/:sku/links eine -Anfrage gesendet wird, wenn der Indexermodus auf "beim Speichern“ ist.
  • Der Indexer der Katalogpreisregel funktioniert jetzt erwartungsgemäß, wenn der Indexermodus auf "beim Speichern“ ist. GitHub-370
  • Das Löschen einer deaktivierten Kategorie, die kein Produkt enthält, hat jetzt keine Auswirkungen mehr auf die Katalogsuche und die flachen Indextabellen der Kategorie. Zuvor wurde durch das Löschen einer inaktiven Kategorie eine vollständige Neuindizierung ausgelöst. GitHub-23297
  • Benutzerdefinierte Indexer können jetzt für Abonnements verschiedene Entitätsspaltennamen verwenden. Zuvor verwendete der Datenbank-Trigger den Spaltennamen aus dem Indexer, der zuletzt auf "nach Zeitplan“ festgelegt war anstelle des vorgesehenen Indexers. GitHub-21853
  • Die Anwendung sendet keine AJAX-Anfragen mehr zum Neuladen von Kundendatenabschnitten (Magento_Customer/js/section-config), die von der Anfrage nicht betroffen sind. GitHub-31948
  • Die folgenden Indexer werden nicht mehr ungültig, nachdem Sie Produkte in einer Kategorie hinzugefügt, entfernt oder neu angeordnet haben: catalog_category_product und catalogsearch_fulltext (und deren abhängige Elemente). Zuvor lösten diese versehentlichen Entfernungen eine vollständige Neuindizierung von Sites aus. Eine vollständige Neuindizierung wird jetzt unter diesen Bedingungen verhindert, wenn der flache Katalog nicht aktiviert ist.

Infrastruktur

  • Die pelago/emogrifier wurde von Version 3.1.0 auf 5.0.0 aktualisiert. Diese Aktualisierung führte zur Einführung von abwärtsinkompatiblen Änderungen an der Magento\Email\Model\Template\Filter. Der geänderte Code wird beim Rendern der E-Mail-Vorlagen ausgeführt. Siehe BIC-.
  • Es wurde ein Problem mit \Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds behoben, das das Speichern eines neuen Produkts verhinderte.
  • Die veraltete TinyMCE v3-Bibliothek wurde entfernt. Das Magento_Tinymce3Banner und die MFTF-Tests im Zusammenhang mit TinyMCE v3.x wurden aus Adobe Commerce entfernt.
  • Die Anwendung gibt im Formular „Kontakt“ keinen Invalid header value detected mehr aus, wenn ein Käufer eine E-Mail-Adresse mit französischen diakritischen Zeichen (z. B. „é“, „è„) eingibt. Die Anwendung konvertiert jetzt UTF-8-Buchstaben im Benutzernamen in ASCII-Codierung. Zuvor wurden UTF-8-Briefe im eindeutigen Abschnitt der E-Mail-Adresse nicht in ASCII-Kodierung konvertiert.
  • Die Anwendung gibt keinen schwerwiegenden PHP-Fehler mehr aus, wenn ein Plug-in zu einer übergeordneten Klasse hinzugefügt wird. GitHub-31291
  • Die README.md-Dateien für die folgenden Module wurden aktualisiert: Magento_Msrp, Magento_MsrpConfigurableProduct, Magento_MsrpGroupedProduct, Magento_Multishipping, Magento_MysqlMq. GitHub-32577
  • phpcpd wurde aus Gründen der PHP 8-Kompatibilität auf Version 6.0.3 aktualisiert.
  • colinmollenhour/php-redis-session-abstract wurde zur Kompatibilität mit PHP 8 auf Version 1.4.4 aktualisiert. GitHub-32709
  • Fehlerkorrektur - Eine ungültige Kombination aus Tabulatoren und Leerzeichen in der phpstan.neon-Datei wurde korrigiert. GitHub-31239
  • Die Verwendung veralteter $_isScopePrivate in der Code-Basis wurde entfernt. GitHub-30506
  • Seiten-Layouts sind in nicht mehr hartcodiert Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container. Infolgedessen gibt die Funktion getPageLayouts() jetzt die tatsächliche Liste der Seiten-Layouts zurück, die von den verschiedenen Modulen erwartungsgemäß deklariert wurden. Zuvor wurden nur hartcodierte Layouts zurückgegeben. GitHub-31168
  • Die composer.lock wurde auf die neueste Version des Coding Standard aktualisiert. GitHub-31152
  • Der magento/module-jwt-framework-adapter wurde eine fehlende Abhängigkeit vom web-token/jwt-framework hinzugefügt. GitHub-32578
  • Der fotorama.js-Bibliothek wurden passive Listener hinzugefügt, um die Punktzahl der Lighthouse-Metriken zu verbessern. GitHub-31140
  • Die Datei README.md für das Modul Google Analytics wurde aktualisiert. GitHub-32616
  • Process Manager verarbeitet Ausnahmen jetzt ordnungsgemäß in verzweigten Prozessen. Der Hauptprozess ist jetzt beendet, und die Anwendung zeigt jetzt nur noch einmal eine Fehlermeldung an. Außerdem werden die Ausnahmen aus den verzweigten Prozessen jetzt verarbeitet, wenn sie im Hauptprozess ausgelöst werden. Zuvor protokollierte die Anwendung mehrere Indexerfehler und zeigte mehrere Fehlermeldungen an. GitHub-30622
  • Die Anwendung gibt keinen Fehler mehr aus, wenn ein Plug-in zu einer übergeordneten Klasse hinzugefügt wird. (Der optionsProvider Parameter wird jetzt nach der getContentIdentities in Assest.php deklariert.) Zuvor gab die Anwendung folgenden Fehler aus: Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface. GitHub-31291
  • Die Ausführung von Magento\Framework\Filesystem\Io\Ftp::ls() auf einem leeren Ordner gibt jetzt erwartungsgemäß ein leeres -Array zurück. Zuvor gab die Anwendung diese Ausnahme aus: Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…. GitHub-31288
  • Die update Methode für sowohl Rollen als auch Regeln wurde in app/code/Magento/Authorization/Model/Role.php als veraltet markiert. GitHub-30756
  • Die Verkettung für SameSite-Cookie-Parameter wurde korrigiert. Zuvor wurde das lex Suffix durch eine falsche Verkettung an value, domain und andere Parameter angehängt. GitHub-26377, GitHub-32440
  • In der gesamten Code-Basis wurde allure-framework/allure-phpunit auf Version 1.3.1 aktualisiert. Zuvor hat die Anwendung diesen Fehler angezeigt: Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74. GitHub-24635
  • Die Anwendung zeigt jetzt informativere Fehler an, wenn bei der Ausführung von bin/magento-Befehlen im Produktionsmodus Fehler auftreten. Zuvor hat die Anwendung entweder keine Fehlermeldungen angezeigt oder Meldungen angezeigt, bei denen Informationen fehlten. GitHub-32786
  • Das ArrayIterator PHP-Objekt wurde aktualisiert, damit es mit PHP 7.4 erwartungsgemäß funktioniert. GitHub-32088
  • Die Anwendung gibt keinen Fehler mehr aus, wenn ein Kunde versucht, eine Bestellung abzuschließen, obwohl keine Spediteure verfügbar sind. Stattdessen werden die Kaufbestätigungsseite und die folgende Nachricht angezeigt: Sorry, no quotes are available for this order at this time. Zuvor zeigte die Anwendung eine leere Checkout-Seite an und zeichnete diese Meldung im Ausnahmegenehmigungsprotokoll auf: array_keys() expects parameter 1 to be array, null given. GitHub-30830
  • Die Anwendung protokolliert nicht mehr jedes Cookie als separaten Kontext. Das $_COOKIE-Array wurde ebenfalls in eine Zeichenfolge konvertiert. Da bisher jedes Cookie als separater Kontext protokolliert wurde, protokollierte die Anwendung, wenn die Anzahl der Cookies 50 überschritt, diese Nachricht: Unable to send the cookie. Maximum number of cookies would be exceeded. GitHub-31334

Rechnung

  • Beim Erstellen neuer Rechnungen in Admin funktioniert das Kontrollkästchen E-Mail-Kopie von jetzt erwartungsgemäß. Zuvor wurde das Kontrollkästchen ignoriert, wenn die globale Einstellung zum Senden von Rechnungs-E-Mails in Verkaufs-E-Mails aktiviert war. Sie ist jetzt konsistent und funktioniert auf die gleiche Weise wie die Seiten zur Erstellung von Sendungen und Gutschriften. GitHub-28511

Mediensammlung

  • bin/magento media-gallery:sync schlägt jetzt beim Verarbeiten von PNG-Bildern ohne XMP-Informationen wie erwartet fehl.
  • Einträge in der catalog_product_entity_media_gallery-Tabelle werden erwartungsgemäß entfernt, wenn zugehörige Produkte gelöscht werden. GitHub-17727
  • Bilddetails können jetzt in der Mediensammlung aktualisiert werden, wenn die JavaScript-Minimierung aktiviert ist. Zuvor wurden Bilddetails nicht gespeichert und die Anwendung zeigte diesen Fehler an: TypeError: Cannot read property 'call' of undefined in jquery.validate. GitHub-31633

MFTF

Neue Funktionen und Fehlerbehebungen im MFTF-Kern werden im Änderungsprotokoll zum Functional Testing Framework beschrieben.

  • Die Befehle magento indexer:reindex und cache:flush sowie die Aktionsgruppe AdminReindexAndFlushCache wurden aus Tests entfernt, um die Ausführung für die folgenden Module zu verbessern: Bundle, Catalog, CatalogRule, CatalogRuleConfigurable, CatalogUrlRewrite, Downloadable, Indexer, Paypal und Sales. GitHub-31031
  • AdminSubmitCategoriesPopupActionGroup wurde Tests hinzugefügt, um Testfehler zu vermeiden. GitHub-31251
  • Tests wurden mit StorefrontCheckQuickSearchStringActionGroup und StorefrontAssertProductNameOnProductMainPageActionGroup (bestehende Aktionsgruppen) umgestaltet. GitHub-31251

Überarbeitete Tests

Die folgenden Tests wurden überarbeitet, um die Ausführungszeit zu verbessern:

AddOutOfStockProductToCompareListTest

AdminApplyTierPriceToProductWithPercentageDiscountTest

AdminCheckingCreditMemoTotalsTest

AdminCheckDashboardWithChartsTest

AdminConfigDefaultProductLayoutFromConfigurationSettingTest

AdminCreateInvoiceTest

AdminCreateOrderAddProductCheckboxTest

AdminMassOrdersCancelCompleteAndClosedTest

AdminMassOrdersCancelProcessingAndClosedTest

AdminMassOrdersHoldOnCompleteTest

AdminMassOrdersHoldOnPendingAndProcessingTest (Ersatz für veraltete AdminMassOrdersHoldOnPendingAndProcessingTest)

AdminMassOrdersUpdateCancelPendingOrderTest

AdminMassProductPriceUpdateTest

AdminMassUpdateProductAttributesMissingRequiredFieldTest

AdminOrdersReleaseInUnholdStatusTest

AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest

AdminSortingByWebsitesTest

AdminUpdateSimpleProduct

AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest

AdminValidateShippingTrackingNumberTest

CancelOrdersInOrderSalesReportTest

ProductsQtyReturnAfterOrderCancelTest

StorefrontConfigurableProductBasicInfoTest

Aktionsgruppen

Wiederholte Aktionen wurden in diesen Tests durch Aktionsgruppen ersetzt:

AdminCheckConfigurableProductPriceWithDisabledChildProductTest

AdminConfigurableProductCreateTest

AdminConfigurableProductRemoveAnOptionTest

AdminCreateProductDuplicateUrlkeyTest

AdminCreateSimpleProductNegativePriceTest

AdminCreateSimpleProductZeroPriceTest

AdminCreateVirtualProductFillingRequiredFieldsOnlyTest

AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest

AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest

AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest

Neue Aktionsgruppen

AdminClearFiltersOnGridActionGroup

AdminClickAddNewPageOnPagesGridActionGroup

AdminClickInsertWidgetActionGroup

AdminClickRefundOfflineOnNewMemoPageActionGroup

AdminFillAccountInformationOnCreateOrderPageActionGroup

AdminGoToOrderStatusPageActionGroup

AdminOpenCMSPagesGridActionGroup

AdminSelectAttributeSetOnEditProductPageActionGroup

AssertAdminProductIsAssignedToCategoryActionGroup (ersetzt das Filtern des Produktrasters durch SKU und das Klicken auf die erste Zeile (um die Ausführungszeit für Tests zu verkürzen)

AssertLinkActionGroup

AssertStorefrontCartDiscountActionGroup

ClickPlaceOrderActionGroup

SaveCmsPageActionGroup

StorefrontAssertProductNameIsNotOnProductMainPageActionGroup

StorefrontGuestCheckoutProceedToPaymentStepActionGroup

StorefrontHoverProductOnCategoryPageActionGroup

StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup

Gelöschte Aktionsgruppen

  • CliIndexerReindexActionGroup (oder Werteänderung) aus Tests entfernt, um die Ausführungszeit für die Backend-, Bundle-, BundleImportExport-, Catalog-, CatalogRule-, CatalogSearch-, Checkout-, Downloadable-, LoginAsCustomer-, Elasticsearch-, SalesRule Search-, Elasticsearch6-, Store Swatches UrlRewrite Weee Wishlist-, Indexer-, LayeredNavigation-, Newsletter- und Sales-Module zu verbessern.
  • CliCacheFlushActionGroup aus Catalog, CatalogUrlRewrite, Checkout, Config, ConfigurableProduct, Contact, Cookie, CurrencySymbol, Customer, Downloadable, Elasticsearch, Fedex, Elasticsearch6, Msrp, Sales, Swatches, Indexer, LayeredNavigation,LoginAsCustomer, Multishipping, Translation, UrlRewrite, Vault, Weee, Wishlist, und Modulen entfernt.