Versionshinweise zu Magento Open Source 2.4.7

Magento Open Source 2.4.7 führt Unterstützung für PHP 8.3 ein. Es enthält Hunderte von Fehlerbehebungen und Verbesserungen. Core Composer-Abhängigkeiten und Drittanbieter-Bibliotheken wurden auf die neuesten verfügbaren Versionen aktualisiert. Diese Version erhöht die GraphQL-Abdeckung für benutzerdefinierte Attribute und GraphQL Resolver-Caches. Außerdem werden kürzlich aktualisierte FedEx- und UPS-Dienste unterstützt.

NOTE
Adobe Commerce-Versionen können abwärtskompatible Änderungen (BICs) enthalten. Informationen zum Überprüfen rückwärtsinkompatibler Änderungen finden Sie unter BIC-Referenz. Wichtige rückwärtskompatible Probleme werden unter BIC-Highlights beschrieben. Nicht alle Versionen führen wichtige BICs ein.

Weitere Versionsinformationen

Obwohl der Code für diese Funktionen mit Versionen des Magento Open Source-Core-Codes gebündelt ist, werden mehrere dieser Projekte auch 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.

Highlights in Magento Open Source 2.4.7

Beachten Sie die folgenden Highlights in dieser Version.

Sicherheitsverbesserungen

Diese Version enthält dieselben Sicherheitsverbesserungen und Verbesserungen der Plattformsicherheit, die in Adobe Commerce 2.4.6-p5, 2.4.5-p7 und 2.4.4-p8 enthalten sind. Unter Adobe-Sicherheitsbulletin finden Sie die aktuelle Diskussion zu diesen behobenen Problemen.

Bisher sind keine bestätigten Angriffe im Zusammenhang mit diesen Problemen aufgetreten. Bestimmte Schwachstellen können jedoch potenziell ausgenutzt werden, um auf Kundeninformationen zuzugreifen oder Administratorsitzungen zu übernehmen. Die meisten dieser Probleme erfordern, dass ein Angreifer zunächst Zugriff auf den Admin erhält. Daher möchten wir Sie daran erinnern, alle erforderlichen Schritte zum Schutz Ihres Administrators zu unternehmen, einschließlich, aber nicht beschränkt auf diese Bemühungen:

  • IP-auf die Zulassungsliste setz
  • Zweifaktorauthentifizierung
  • Verwendung eines VPN
  • Verwendung eines eindeutigen Standorts anstelle von /admin
  • gute Passworthygiene

Zusätzliche Sicherheitsverbesserungen

Verbesserungen der Sicherheit in dieser Version verbessern die Einhaltung der neuesten Best Practices für die Sicherheit.

  • Änderungen am Verhalten nicht generierter Cache-Schlüssel:

    • Nicht generierte Cache-Schlüssel für Bausteine enthalten jetzt Präfixe, die sich von Präfixen für automatisch generierte Schlüssel unterscheiden. (Nicht generierte Cache-Schlüssel sind Schlüssel, die über die Syntax der Vorlagenanweisung oder die Methoden setCacheKey oder setData festgelegt werden.)
    • Nicht generierte Cache-Schlüssel für Blöcke dürfen jetzt nur Buchstaben, Ziffern, Bindestriche (-) und Unterstriche (_) enthalten.
  • Beschränkungen der Anzahl der automatisch generierten Couponcodes. Magento Open Source beschränkt jetzt die Anzahl der automatisch generierten Couponcodes. Der Standardwert ist maximal 250.000. Händler können die neue Konfigurationsoption Code Quantity Limit (Stores > Settings:Configuration > Customers > Promotions) verwenden, um zu verhindern, dass das System mit vielen Coupons überlastet wird.

  • Optimierung des standardmäßigen Prozesses zur URL-Erstellung für Administratoren. Die Generierung der Standard-Admin-URL wurde für eine erhöhte Zufälligkeit optimiert, wodurch generierte URLs weniger vorhersagbar werden.

  • Eine neue Einstellung für die Vollseitencache-Konfiguration kann dazu beitragen, die Risiken im Zusammenhang mit dem HTTP {BASE-URL}/page_cache/block/esi-Endpunkt zu verringern. Dieser Endpunkt unterstützt nicht eingeschränkte, dynamisch geladene Inhaltsfragmente aus Commerce-Layout-Handles und -Blockstrukturen. Die neue Konfigurationseinstellung Handles params size legt den Wert des Parameters handles dieses Endpunkts fest, der die maximal zulässige Anzahl von Handles pro API bestimmt. Der Standardwert dieser Eigenschaft ist 100. Händler können diesen Wert über Admin ändern (Stores > Settings:Configuration > System > Full Page Cache > Handles params size). Siehe Konfigurieren der Commerce-Anwendung für die Verwendung von Varnish.

  • Subresource Integrity (SRI)-Unterstützung wurde hinzugefügt, um PCI 4.0-Anforderungen für die Überprüfung der Skriptintegrität auf Zahlungsseiten zu erfüllen. Die Unterstützung von Subresource Integrity (SRI) bietet Integrations-Hashes für alle JavaScript-Assets, die sich im lokalen Dateisystem befinden. Die standardmäßige SRI-Funktion wird nur auf den Zahlungsseiten für die Admin- und Storefront-Bereiche implementiert. Händler können die Standardkonfiguration jedoch auf andere Seiten erweitern. Siehe Subresource Integrity im Commerce PHP Developer Guide.

  • Änderungen an der Content Security Policy (CSP) - Konfigurationsaktualisierungen und -verbesserungen für Adobe Commerce Content Security Policies (CSPs), um die Anforderungen von PCI 4.0 zu erfüllen. Weitere Informationen finden Sie unter Inhaltssicherheitsrichtlinien im Commerce PHP Developer Guide.

    • Die standardmäßige CSP-Konfiguration für Zahlungsseiten für Commerce-Admin- und Storefront-Bereiche ist jetzt restrict -Modus. Für alle anderen Seiten ist die Standardkonfiguration der Modus "report-only". In Versionen vor 2.4.7 wurde CSP für alle Seiten im report-only -Modus konfiguriert.

    • Es wurde ein Nonce-Anbieter hinzugefügt, um die Ausführung von Inline-Skripten in einer CSP zu ermöglichen. Der Nonce-Provider erleichtert die Generierung eindeutiger Nonce-Zeichenfolgen für jede Anfrage. Die Zeichenfolgen werden dann an die CSP-Kopfzeile angehängt.

    • Es wurden Optionen hinzugefügt, mit denen benutzerdefinierte URIs konfiguriert werden können, um CSP-Verstöße für die Seite "Auftrag erstellen"in der Admin- und die Seite "Auschecken"im Storefront zu melden. Sie können die Konfiguration vom Administrator hinzufügen oder den URI zur Datei config.xml hinzufügen.

      note note
      NOTE
      Die Aktualisierung der CSP-Konfiguration auf den Modus “restrict” könnte vorhandene Inline-Skripte auf den Zahlungsseiten in Admin und Storefront blockieren, was beim Laden einer Seite den folgenden Browserfehler verursacht: Refused to execute inline script because it violates the following Content Security Policy directive: "script-src. Beheben Sie diese Fehler, indem Sie die Konfiguration der Whitelist so aktualisieren, dass erforderliche Skripte zugelassen werden. Siehe Fehlerbehebung im Commerce PHP Developer Guide.
  • Native Ratenbegrenzung für Zahlungsinformationen, die über REST- und GraphQL-APIs übermittelt werden. Händler können jetzt die Ratenbegrenzung für die Zahlungsinformationen konfigurieren, die mit REST und GraphQL übertragen werden. Diese zusätzliche Schutzschicht unterstützt die Vermeidung von Kartenangriffen und verringert möglicherweise das Volumen von Kartenangriffen, bei denen viele Kreditkartennummern gleichzeitig getestet werden. Dies ist eine Änderung des Standardverhaltens eines vorhandenen REST-Endpunkts. Siehe Ratenbegrenzung.

  • Das Standardverhalten der GraphQL-Abfrage isEmailAvailable und des REST-Endpunkts (V1/Customers/isEmailAvailable) wurde geändert. Standardmäßig geben die APIs jetzt immer true zurück. Händler können das ursprüngliche Verhalten aktivieren, indem sie die Option "Enable Guest Checkout Login"im Admin auf "yes"festlegen. Dies kann jedoch Kundeninformationen für nicht authentifizierte Benutzer verfügbar machen.

Plattformverbesserungen

Plattformaktualisierungen für diese Version verbessern die Einhaltung der neuesten Best Practices für die Sicherheit.

Magento Open Source 2.4.7 umfasst die folgenden Plattformaktualisierungen:

  • PHP 8.3-Kompatibilität. Diese Version führt die Unterstützung für PHP 8.3 ein. Magento Open Source unterstützt jetzt sowohl PHP 8.3 als auch 8.2. PHP 8.2 wird bis zu seinem Ende des Dienstes (EOS) im Dezember 2025 unterstützt. Nach Dezember 2025 sollten alle Händler, die 2.4.7-Bereitstellungen ausführen, auf PHP 8.3 migrieren.

Magento Open Source 2.4.7 ist noch immer nur zu Aktualisierungszwecken mit PHP 8.1 kompatibel. PHP 8.1 wird nicht unterstützt und wird nicht empfohlen. Magento Open Source 2.4.7 Core-Code, alle gebündelten Erweiterungen sowie alle Adobe-eigenen Erweiterungen und SaaS-Dienste sind mit PHP 8.3 kompatibel.

  • RabbitMQ 3.13-Unterstützung. Diese Version ist mit der neuesten Version von RabbitMQ 3.13 kompatibel. Die Kompatibilität mit RabbitMQ 3.11 bzw. 3.12 bleibt bestehen, was bis August 2024 bzw. Dezember 2024 unterstützt wird. Adobe wird jedoch nur mit RabbitMQ 3.13 Magento Open Source 2.4.7 empfohlen.

  • Composer 2.7.x. Die Kompatibilität mit Composer 2.2.x bleibt bestehen.

  • Unterstützung des Unterschiedlichen Cache 7.4. Diese Version ist mit der neuesten Version von Varnish Cache 7.4 kompatibel. Die Kompatibilität mit den Versionen 6.0.x und 7.2.x bleibt erhalten. Wir empfehlen jedoch die Verwendung von Magento Open Source 2.4.7 nur mit Varnish Cache Version 7.4 oder Version 6.0 LTS.

  • Kompatibilität mit Elasticsearch 8.11

  • Unterstützung von OpenSearch 2.12 und OpenSearch 1.3

  • Redis 7.2

  • Die Bibliothek extjs wurde durch die neueste Version von jsTree ersetzt.

  • jquery/fileUpload -Bibliothek wurde entfernt.

Alle JavaScript-Bibliotheken und NPM-Abhängigkeiten im Magento Open Source-Core-Code wurden auf die neuesten verfügbaren Versionen aktualisiert. Alle Bibliotheksabhängigkeiten von Laminas wurden auf die neueste Version aktualisiert, die mit PHP 8.3 kompatibel ist.

Weitere Upgrades

  • Das Commerce UPS XML API Gateway wurde in die neue Commerce UPS REST API migriert, um Aktualisierungen zu unterstützen, die UPS an seinem API-Sicherheitsmodell vornimmt. (UPS implementiert ein OAuth 2.0-Sicherheitsmodell (Trägertoken) für alle APIs.) Alle vorherigen Commerce UPS XML-APIs wurden aus der Codebasis von Magento Open Source 2.4.7 entfernt.

  • Die Magento Open Source integration mit FedEx wurde von alten FedEx-WSDL-Webdiensten auf die neuesten FedEx-RESTful-APIs migriert. FedEx Web Services Tracking, Address Validation und Validate Postal Codes WSDLS wird im Mai 2024 eingestellt.

  • Unterstützung für die neue Versandmethode USPS Ground Advantage. Dies ist eine vordefinierte Integration in die neue Versandmethode von USPS, USPS Ground Advantage, die im Juli 2023 veröffentlicht wurde. Diese neue Integration kann verwendet werden, um Versandtarife abzurufen und Sendungen und Rückgaben über den USPS-Versanddienst zu planen. Die Versandmethode "USPS Ground Advantage"ersetzt diese Versandmethoden, die bei der Veröffentlichung der Versandmethode USPS Ground Advantage Versand eingestellt wurden:

    • USPS Retail Ground
    • erstklassiger Paketdienst
    • Parzelle auswählen Boden
  • Temando-Versandmodule wurden aus der Codebasis der Magento Open Source entfernt. Diese Funktion wurde in Magento Open Source 2.4.4 eingestellt.

Leistungsverbesserungen und Verbesserungen der Skalierbarkeit

Magento Open Source 2.4.7 umfasst die folgenden Verbesserungen der Magento Open Source-Performance und -Skalierbarkeit:

  • Verbesserte Indexverwaltung. Der neue Befehl indexer:set-status unterstützt die dynamische Verwaltung des Indexerstatus. Administratoren können diesen Befehl verwenden, um den Indexerstatus in suspended, invalid oder valid zu ändern. Diese Funktion ist besonders nützlich für die Verwaltung der Systemleistung bei umfangreichen Massenvorgängen, z. B. Produktimporten oder -aktualisierungen, da sie die Kontrolle darüber ermöglicht, wann Indexer automatisch durch die Cron-Aufträge des Systems ausgelöst werden. Siehe Verwalten der Indexer.

  • Seite mit Produktlisten für komplexe Produkte mit vielen Optionen. Die Ladezeit für Produktseiten mit komplexen Produkten mit mehr als 100 Optionen wurde verbessert. Die Leistung von GraphQL-Anfragen zur Auflistung von Produkten nach Kategorie wurde ebenfalls verbessert.

  • Leistungsverbesserungen bei den Verkaufsregeln. Verbesserte Leistung von Unternehmensbereitstellungen mit vielen (rund 100.000) aktiven Vertriebsregeln. Bei Enterprise-Bereitstellungen, die Promotions stark implementieren, werden häufig viele aktive Warenkorbregeln bereitgestellt. Bei diesen Unternehmensimplementierungen mit Magento Open Source 2.4.7 wird die Leistung im Zusammenhang mit der Anzahl der konfigurierten Warenkorbpreisregeln während des Checkout-Vorgangs nicht beeinträchtigt.

  • Schnellere Speichervorgänge von Konfigurationen auf Store-Ebene für Bereitstellungen mit vielen Stores. Das Speichern von Konfigurationseinstellungen in Bereitstellungen mit mehr als 500 Stores kann zeitaufwendig sein. Das neue Modul Async Config ermöglicht asynchrone Konfigurationsspeichervorgänge, indem ein Cron-Auftrag ausgeführt wird, der mithilfe eines Verbrauchers den Speichervorgang in einer Nachrichtenwarteschlange verarbeitet. AsyncConfig ist standardmäßig deaktiviert.

  • Schnellere Generierung des Konfigurationscache für große Konfigurationen. Der Befehl "bin/magento cache:clean config" erwärmt jetzt den Konfigurationscache, wenn der Konfigurationscache aktiviert ist. Dadurch wird die Ausfallzeit reduziert, die zum Generieren des Konfigurationscaches für große Konfigurationen erforderlich ist. Konfigurationsspeichervorgänge bereinigen den Cache nicht mehr, bevor Daten in den Cache geschrieben werden. Dies verringert auch die Zeit, die andere Anforderungen gesperrt werden, während Konfigurationsdaten geschrieben werden.config_scopes

Braintree

  • Vaulted PayPalund Pay Later Änderungen—Abgemeldete Kunden, die ihr PayPal-Konto zuvor abgerufen/gespeichert haben, haben die Möglichkeit, Folgendes zu bezahlen:

    • Pay Now (ohne sich bei ihrem PayPal-Konto anmelden zu müssen, kann der Benutzer mit seiner Standardkarte bezahlen)
    • Bezahlen mit einer anderen Finanzierungsquelle
    • Mit einem anderen Konto bezahlen
    • Schaltfläche PayPal Pay Later oder PayPal Credit
  • 3DS-Unterstützung fürGoogle Pay: Unterstützung der 3DS-Verifizierung für die nicht-tokenisierten Google Pay Karten. Weitere Informationen finden Sie in der Braintree-Dokumentation .

  • Vault Apple Pay Payments—Ermöglichen Sie angemeldeten Kunden, ihre Apple Pay-Zahlungen an ihr Commerce-Speicherkonto zu verwerten/zu speichern, um sie für zukünftige Transaktionen zu verwenden. Dadurch wird die Anzahl der Schritte beim Checkout reduziert und ein schnelleres Checkout-Erlebnis für den wiederkehrenden Kunden geschaffen.

  • Vault Google Pay Payments—Ermöglichen Sie angemeldeten Kunden, ihre Google Pay-Zahlungen an ihr Commerce-Speicherkonto zu verwerten/zu speichern, um sie für zukünftige Transaktionen zu verwenden. Dadurch wird die Anzahl der Schritte beim Checkout reduziert und ein schnelleres Checkout-Erlebnis für den wiederkehrenden Kunden geschaffen.

  • Vault Venmo Payments—Ermöglichen Sie angemeldeten Kunden, ihre Venmo-Konten für zukünftige Transaktionen in ihrem Commerce-Speicherkonto zu verwerten/zu speichern. Dadurch wird die Anzahl der Schritte beim Checkout reduziert und ein schnelleres Checkout-Erlebnis für den wiederkehrenden Kunden geschaffen.

  • Vault ACH Payments - Erlauben Sie angemeldeten Kunden, ihre ACH-Zahlungen an ihr Commerce-Speicherkonto zu übergeben/zu speichern, damit sie sie für zukünftige Transaktionen verwenden können. Dadurch wird die Anzahl der Schritte beim Checkout reduziert und ein schnelleres Checkout-Erlebnis für den wiederkehrenden Kunden geschaffen.

  • Express PaymentSchaltflächen am oberen Rand des Checkout - Um ein schnelleres Checkout-Erlebnis zu ermöglichen, haben wir am Anfang des Checkout Express Payment Optionen eingeführt. Kunden können jetzt mit den Zahlungen PayPal, PayPal Pay Later, Apple Pay und Google Pay Express zahlen.

  • BraintreeVersionshinweise und Support-Links in der Admin-Konfiguration - Händler können jetzt direkt vom Commerce-Administrator auf den Braintree-Support und die Versionshinweise online verweisen.

  • GraphQL-Unterstützung für alle Braintree -Zahlungsmethoden mit Ausnahme vonVenmo - In der GraphQL-API werden weitere Konfigurationen bereitgestellt. Dies ist besonders für Headless-Anwendungen nützlich.

  • VaultingZahlungen im Kontenbereich—Angemeldete Kunden können jetzt Vault/store neue Kredit-/Debit-Karten und PayPal Konten im Kundenkontobereich verwenden. Zuvor konnten Kunden beim Speichern ihrer Zahlungen für eine spätere Verwendung nur Vault/Speicher speichern, wenn sie eine Transaktion beim Checkout abschließen. Jetzt können sie neue Kredit-/Debitkarten und PayPal-Konten verwerten, ohne eine neue Transaktion erstellen zu müssen.

  • Frictionless Transactions—Frictionless-Transaktionen beschleunigen den Zahlungsvorgang, indem sie die Anzahl der Klicks/Schritte des Kunden reduzieren, um eine Online-Kreditkartentransaktion abzuschließen. Zuvor (wenn 3DS aktiviert war) wurde jeder Kunde mit 3DS konfrontiert. Mit der neuen Funktion "Frictionless Transactions"werden Kunden nur dann für 3DS herausgefordert, wenn sie von der Bank angefordert werden. Dies reduziert den Warenkorbabbruch, erhöht die Konversionsraten und führt zu mehr Umsatz.

  • Webhooks dispute: Wenn ein Kunde eine Transaktion in Braintree anfechtet, wird der Streitstatus jetzt an Commerce weitergeleitet. Er ist im Raster Sales > Order durchsuchbar und an jede Bestellung angehängt.

GraphQL

Magento Open Source 2.4.7 beinhaltet verbesserte GraphQL-Caching-Funktionen, GraphQL-Schemaunterstützung für benutzerdefinierte Attribute, Unterstützung für Abbruch von Headless-Bestellungen und verbessertes Resolver-Caching.

  • Flexiblere Verwaltung des Warenkorbs. Die clearCart -Mutation löscht jetzt den Inhalt eines bestimmten Warenkorbs in einer einzigen Aktion. Sie ersetzt die nicht mehr unterstützte clearCustomerCart-Mutation.

  • Verbesserungen bei der Erstellung von Warenkorbmutationen. Die createGuestCart -Mutation wurde hinzugefügt, um die veraltete createEmptyCart -Mutation zu ersetzen. Wenn Sie zuvor createEmptyCart verwendet haben, konnten Sie nicht feststellen, ob der Warenkorb für einen Gast- oder angemeldeten Kunden war.

  • Bestellelemente enthalten jetzt Produktbilder. OrderItemInterface zeigt Produktbilder an, die es ermöglichen, Bilder mit bestellten Produkten zu verknüpfen und effizienter zu laden. GitHub-32369

  • Erweiterte Unterstützung für Resolver-Caching. Die folgenden GraphQL-Abfrageauflöser können jetzt im GraphQL Resolver Results-Cache zwischengespeichert werden, was die Leistung bei Abfragen mit POST-Anforderungen verbessert:

    • Magento\CustomerGraphQl\Model\Resolver\Customer::resolve
    • Magento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolve
    • Magento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolve
    • Magento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
  • Unterstützung für die Stornierung einer Bestellung. Mit der Mutation cancelOrder kann ein Kunde eine Bestellung stornieren und dabei die Kennung und einen Stornogrund übergeben.

  • Erweiterte Unterstützung für benutzerdefinierte Attribute. Die Unterstützung benutzerdefinierter GraphQL-Attribute wurde durch die Anreicherung von API-Daten verbessert, um alle Attributtypen zu unterstützen. Das GraphQL-EAV-Attributschema unterstützt jetzt das Erweitern von Kundenattributen und Kundenadressen-Objekten in der Admin-Konsole und das Abrufen dieser Attribute mithilfe von GraphQL. Zu den speziellen Verbesserungsbereichen gehören:

    • erweiterte/hinzugefügte benutzerdefinierte Attribute Unterstützung für bestimmte Bereiche wie Kunden- und Kundenadressen
    • Hinzugefügte Zwischenspeicherung für benutzerdefinierte Attribute
    • Erweiterte Unterstützung vorhandener benutzerdefinierter Attribute für Produkte
  • Verbesserte GraphQL-Caching-Funktionen verbessern die Seitenladegeschwindigkeit. Den Abfragen wurde eine Caching-Funktion hinzugefügt, die die Seitenladezeit für die meisten PWA-Seiten beschleunigt:

  • Verbesserte Leistung des GraphQL-Parsers. Die Leistung des GraphQL-Parsers wurde verbessert, indem die Anzahl der Aufrufe der Parse-Methode pro Anfrage reduziert wurde. Jetzt heißt es einmal. Zuvor wurde der Parser mindestens dreimal aufgerufen.

Neue Felder für bestehende Mutationen

  • Das Feld quickorder_active wurde zu den Abfragen storeConfig und availableStores hinzugefügt. Dieses Feld gibt an, ob die Funktion für die schnelle Bestellung aktiviert ist.

  • Die folgenden Felder wurden zu den Mutationen setBillingAddressOnCart und setShippingAddressesOnCart hinzugefügt:

    • fax
    • middlename
    • prefix
    • suffix

Neue Abfragen und Mutationen

Eingestellte Abfragen und Mutationen

Inventory management

Inventory management (v1.2.7) bietet Tools zum Verwalten des Produktbestands. Diese von der Community entwickelte Funktion ist mit Adobe Commerce und Magento Open Source Core Code integriert.

Magento Open Source Extension-Metapaket

Diese Version enthält das Magento Open Source Extension-Metapaket v1.0.0, in dem ausgewählte Magento Open Source-Erweiterungen automatisch mit dieser Kernversion gebündelt werden. Die Version dieser Erweiterung, die in diesem Metapaket enthalten ist, wird installiert, wenn composer update ausgeführt wird. Dadurch wird das Upgrade der Erweiterung bei der Aktualisierung auf die neueste Kernversion vereinfacht. Diese Erweiterung verwaltet einen unabhängigen Veröffentlichungszeitplan.

Das Metapaket zur Magento Open Source-Erweiterung für Magento Open Source 2.4.7 umfasst die folgenden Erweiterungen:

Zukünftige Versionen dieses Erweiterungs-Metapakets enthalten zusätzliche Erweiterungen.

PWA Studio

PWA Studio v14.0 ist mit Magento Open Source 2.4.7-beta1 kompatibel. Es enthält mehrere Verbesserungen zur Verbesserung der Barrierefreiheit. Informationen zu Fehlerbehebungen finden Sie unter PWA Studio-Versionen. Unter Versionskompatibilität finden Sie eine Liste der PWA Studio-Versionen und ihrer kompatiblen Magento Open Source-Core-Versionen.

Web-API-Framework

Mit dieser Version werden zwei neue REST-Endpunkte eingeführt, die eine Problemumgehung für eine Beschränkung mit den REST-API-Endpunkten GET und POST V1/products/attributes bieten. Diese Endpunkte geben denselben Wert für das Attribut is_filterable für die Optionen Filterable(with results) und Filterable(no results) der Option Use in Layered Navigation zurück. (Die Eigenschaft "is_filterable"-Attribut hat den Typ "Boolean", was die Festlegung dieser Eigenschaft auf "Filterable(no results)"nicht zulässt.)

Zwei neue REST-Endpunkte wurden als Problemumgehung implementiert:

  • PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}. Pfadparameter: attributeCode (String) und isFilterable (int Werte sind: 0 ist Nein; 1 ist Filterable (with results); 2 ist Filterable (no results)).
  • GET /V1/products/attributes/{attributeCode}/is-filterable. Pfadparameter: attributeCode (String).

Behobene Probleme

Hunderte von Problemen wurden im Kerncode der Magento Open Source 2.4.7 behoben. Eine Untergruppe der in dieser Version enthaltenen behobenen Probleme wird nachfolgend beschrieben.

Installation, Aktualisierung, Bereitstellung

  • Unnötige Cache-Manipulationen wurden aus dem Einrichtungsprozess entfernt. Zuvor hat Magento Open Source seine Konfiguration beim Ausführen von bin/magento setup:db-data:upgrade oder bin/magento setup:upgrade unnötig auf die Festplatte geschrieben, was bei einigen Modulen während der Einrichtung Probleme verursachte. GitHub-38124
  • Bereitstellungsprobleme aufgrund unzureichender Speicherkapazität und großer Tabellen wurden behoben. Der Befehl bin/magento setup:upgrade schlägt aufgrund von speicherüberschreiteten Fehlern, die mit großen MySQL-Tabellen verbunden sind, nicht mehr fehl.
  • bin/magento setup:install wird nun erfolgreich abgeschlossen, nachdem app/etc/config.php gelöscht wurde. Zuvor wurde die fehlende Datei während der Installation nicht neu generiert und bei der Magento Open Source wurde ein Fehler ausgegeben. GitHub-37805
  • bin/magento setup:upgrade wurde umstrukturiert, um bei der Installation eines neuen Moduls, das sowohl Tabellen als auch zugehörige mview -Indexer installiert, erfolgreich ausgeführt zu werden. GitHub-37304
  • Die Datenbankwiederherstellung schlägt aufgrund eines Trennzeichenfehlers nicht mehr fehl. Zuvor gab Magento Open Source diesen Fehler aus, als bin/magento setup:rollback --db ausgeführt wurde: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;.
  • Der Befehl bin/magento setup:upgrade schlägt bei diesem Typ von MySQL-Speicherbegrenzungsfehler nicht mehr fehl: PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes). Die Migration von Attributen mit Mehrfachauswahl wurde optimiert, um während von setup:upgrade weniger Speicher zu verbrauchen.
  • Die Erstellung einer Datenbanksicherung funktioniert jetzt sowohl über die Admin- als auch über die Befehlszeile wie erwartet. Zuvor gab Magento Open Source den folgenden Fehler aus: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;.
  • Wenn Sie setup:config:set ausführen, ohne den Parameter --lock-db-prefix anzugeben, wird der aktuelle Wert nicht mehr aus der Datei env.php gelöscht.
  • Die Konfiguration von Varnish wurde aktualisiert, um zu verhindern, dass Gastbenutzer auf zwischengespeicherte Inhalte zugreifen, die mit anderen Kundengruppen in Verbindung stehen.
  • bin/magento setup:upgrade wird jetzt erfolgreich abgeschlossen, wenn ein neues Modul installiert wird, das sowohl Tabellen als auch zugehörige mview-Indexer installiert.
  • bin/magento setup:upgrade zeigt jetzt eine informativere Fehlermeldung an, wenn ein Nachrichtenwarteschlangenthema keinen Themennamen enthält. GitHub-34246
  • bin/magento setup:upgrade zeigt jetzt eine informativere Fehlermeldung an, wenn zusammengeführte XML-Dateien ungültig sind. Die Fehlermeldung enthält jetzt den Dateinamen.

Admin-Benutzeroberfläche

  • Diagramme wurden jetzt standardmäßig im Dashboard deaktiviert. GitHub-38430
  • Das Menü Admin Sales zeigt nun die Untermenüs korrekt an. Zuvor funktionierte der Spaltenumbruch nicht ordnungsgemäß und einige Untermenüs wurden nicht angezeigt. GitHub-37812
  • Select Dropdown-Menüoptionen sind jetzt unter Admin Content > Pages sichtbar, wenn mehrere Seiten im Raster ausgewählt sind. GitHub-35386
  • Der Pfad zum Standardwert system/dashboard/enable_charts in den Konfigurationseinstellungen wurde korrigiert. Diagramme werden jetzt wie erwartet im Admin angezeigt. GitHub-37668
  • Anzeigeproblem mit Admin-Kundenraster behoben. Zuvor waren Rasterspalten nicht vollständig auf der angezeigten Seite enthalten.
  • Die Mauszeigerfarben werden jetzt wie erwartet auf die Zeilen von statischen Admin-Rastern angewendet. GitHub-35358
  • Der Kasse-Workflow zeigt keine Warnung mehr an, wenn ein Käufer eine Postleitzahl für Griechenland eingibt, die keine Leerzeichen enthält. GitHub-36676
  • Der Link Admin It's time to change your password leitet jetzt wie erwartet zur Seite Administratorkennwort ändern um. GitHub-37902
  • Die Suffixe für Seitentitel sind jetzt sowohl im Tag title als auch im Tag meta title für Produktseiten enthalten. GitHub-37680
  • Die Status-Bedingung des Produktbestands wird jetzt korrekt auf die Regeln verwandter Produkte angewendet.
  • Die Schaltfläche Login as Customer wird jetzt auf Mobilgeräten korrekt angezeigt.
  • Adobe Commerce zeigt die Schaltfläche "Admin Add new customer group"nicht mehr an, wenn dem angemeldeten Admin-Benutzer die Berechtigung zum Hinzufügen einer neuen Kundengruppe fehlt.
  • Ein Admin-Benutzer mit eingeschränkten Berechtigungen kann jetzt ein untergeordnetes Produkt speichern, dessen übergeordnetes Produkt einem anderen Umfang zugewiesen ist. Zuvor hat Commerce den Cache für ein übergeordnetes Produkt ungültig gemacht, das nicht dem Bereich zugewiesen war, in dem das untergeordnete Produkt geändert wurde.
  • Administratoren können jetzt erfolgreich zwischen Admin-Filteransichten wechseln, ohne dass die Ansichtsdaten beschädigt oder verloren gehen. GitHub-37529

Paketprodukte

  • Die customerCart -Abfrage gibt nun alle angewendeten Rabatte für Bundle-Produkte erwartungsgemäß zurück. Zuvor wurden die auf ein Bundle-Produkt angewendeten Rabatte als Null zurückgegeben.
  • Auf Produktdetailseiten wird nun der richtige Preis für Bundle-Produkte angezeigt, für die ein 100%iger Rabatt gilt. Zuvor hatte Magento Open Source keinen 100 %-Rabatt auf die Bundle-Produktpreise angewendet.
  • Preisregeln für Warenkorb werden jetzt auf Produktpakete angewendet, anstatt auf jedes untergeordnete Produkt für Produkte mit dynamischen Preisen.
  • Fehlerkorrektur - Jetzt tritt kein Fehler mehr auf, wenn Sie den Endpunkt POST V1/shipment verwenden, um eine Sendung mit einem Bundle-Produkt zu erstellen. Der -Endpunkt fügt jetzt Elemente wie erwartet hinzu und gibt diesen Fehler nicht mehr zurück: The shipment couldn't be saved.
  • Sie können jetzt die API-Route GET V1/shipment/ verwenden, um eine Sendung mit einem Bundle-Produkt zu erstellen, wenn für das Produkt der Versandtyp together festgelegt ist. Bundle-Produkte werden nun auch auf der Grundlage ihrer Versandart-Eigenschaft validiert.
  • Käufer können jetzt die Menge eines Bundle-Produkts in ihrem Warenkorb in der Storefront bearbeiten. Zuvor hat Adobe Commerce keine Nullwerte für ItemId verarbeitet, wenn Produkte im Warenkorb der Storefront bearbeitet und ein Fehler angezeigt wurde. GitHub-37696
  • Bundle-Produkte können jetzt mithilfe von SKUs, die einen Schrägstrich (/) enthalten, erfolgreich zu einer Admin-Bestellung hinzugefügt werden. Bisher konnten Admin-Benutzer diese Methode nicht verwenden, um Produkte einer Admin-Bestellung hinzuzufügen. Bei Magento Open Source trat ein JavaScript-Fehler auf.
  • Admin-Benutzer können jetzt Dezimalwerte für neu hinzugefügte Bundle-Optionen festlegen, wenn Qty Uses Decimal für das entsprechende einfache Produkt aktiviert ist. Zuvor konnten Dezimalwerte nur für gespeicherte Auswahlen festgelegt werden.
  • Optimierte Leistung beim Speichern von Bundle-Produkten mit einer großen Anzahl von Optionen
  • Bundle-Produkte werden jetzt erfolgreich importiert, ohne SKUs in den Produktoptionen zu duplizieren. Zuvor erstellte Magento Open Source mehrere doppelte SKUs in Produktoptionen, wenn Sie Bundle-Produkte mit doppelten Einträgen importierten.
  • Der Bundle-Produktpreis wird jetzt ordnungsgemäß berechnet, wenn eines der Produkte im Bundle nicht mehr vorrätig ist. Zuvor wurde ein Produkt, das Teil des Bundles war, aus der Preisberechnung entfernt, wenn es nicht mehr vorrätig war.
  • Bundle-Produkte werden jetzt als nicht vorrätig angezeigt, wenn das letzte ihrer erforderlichen untergeordneten Produkte gekauft wird. Zuvor wurden Bundle-Produkte als vorrätig auf der Storefront angezeigt, als ihre einfachen Produkte nicht vorrätig waren.
  • Leistungsprobleme beim Hinzufügen von Bundle-Produkten mit nicht erforderlichen Optionen zum Warenkorb mithilfe der addBundleProductsToCart -Mutation wurden behoben.
  • Die categoryList -Abfrage gibt jetzt alle Bundle-Optionen wie erwartet zurück, wenn die Show out-of-stock products -Konfigurationseinstellung aktiviert ist. Zuvor waren nicht vorrätige Optionen nicht in der Abfrageantwort enthalten.
  • Bundle-Produkte, die mit POST V1/products erstellt wurden, sind jetzt erfolgreich, wenn der Umfang des Katalogpreises auf website festgelegt ist. Zuvor kam es zu einer Verletzung der Integritätsbeschränkung. GitHub-35595

Cache

  • Kategorien sind jetzt für Käufer in Geschäften sichtbar, in denen der Cache auf Fastly CDN (Caching Application=Fastly CDN) festgelegt ist. Dies betraf sowohl Gastkäufer als auch registrierte Kunden.
  • Cache-Cookies nach der Anmeldung sind jetzt nach dem Surfen auf der Website gleich. Zuvor hat der Login-Controller das falsche Cache-Cookie gesendet, und Seiten wurden möglicherweise mehrmals zwischengespeichert.
  • Antworten von GraphQL-GET-Vorgängen auf CMS-Seiten, die CMS-Bausteine enthalten, werden jetzt wie erwartet im Fastly-Cache gelöscht. Nachfolgende Zeitplanaktualisierungen zeigen jetzt genaue und aktualisierte Inhalte für diese Seiten.
  • Der Seiten-Cache wird jetzt für ein übergeordnetes Produkt wie erwartet gelöscht, wenn eines seiner untergeordneten Produkte vom Administrator gespeichert wurde. Eine Plug-in-Prüfung wurde eingeführt, um die Cache-Invalidierung für konfigurierbare Varianten zu erreichen, ähnlich wie bei anderen Produktarten, unabhängig vom Indexstatus (geplant oder in Echtzeit). Zuvor wurden die Preise im Storefront nicht ordnungsgemäß aktualisiert, nachdem eine konfigurierbare Variante vom Administrator aktualisiert wurde.
  • Es wurde ein Caching-Mechanismus für AWS-Anmeldeinformationen hinzugefügt. Ein Berechtigungsanbieter verwendet jetzt den Commerce-Cache, um von AWS für die EC2-Konfiguration abgerufene Anmeldeinformationen zwischenzuspeichern.
  • Das Plug-in, dessen Zweck darin besteht, das konfigurierbare Cache-Tag hinzuzufügen, wenn ein einfaches Produkt, das mit einem konfigurierbaren Produkt verknüpft ist, gespeichert wird, funktioniert jetzt erwartungsgemäß. Alle relevanten konfigurierbaren Cache-Tags werden erwartungsgemäß entfernt, wenn ein einfaches Produkt um POST V1/products aktualisiert wird. Zuvor wurden nicht alle Preise auf der Storefront aktualisiert und Caches mussten manuell gelöscht werden. GitHub-36726

Warenkorb und Checkout

  • Magento Open Source optimiert jetzt die Leistung, indem benutzerspezifische Anführungsdaten beim Generieren von Seiten mit Zwischenspeicherung, wie Produktdetailseiten (PDP) und CMS-Seiten, nicht geladen werden, wenn der beständige Warenkorb aktiviert ist. Zuvor lädte das System während der Generierung dieser Seiten unnötigerweise benutzerspezifische Sitzungs- und Anführungsdaten, was sich auf die Leistung auswirkte.
  • Benutzerdefinierte Adressen-Attribute werden jetzt wie erwartet in der Datenbank gespeichert. Zuvor wurden Attributwerte, die in der Datenbank gespeichert wurden, mit dem Präfix Attributcode versehen.
  • Die Erstellung von Filtertext für Warenkorbregeln für Produktattribute wurde verbessert. Einzelne Produkte werden nicht mehr mehrmals geladen.
  • Magento Open Source zeigt jetzt eine informative Fehlermeldung an, wenn beim Auschecken ein Fehler auftritt und der Käufer nicht mehr zu einem früheren Checkout zurückkehrt. Zuvor wurde der Käufer auf die Versandseite zurückgeleitet.
  • Die cart -Abfrage gibt für virtuelle Warenkörbe keine Versandmethode und -adresse mehr zurück. Wenn zuvor ein Warenkorb sowohl physische als auch virtuelle Produkte enthielt und alle physischen Produkte entfernt wurden, enthielt die Antwort auf die Warenkorbabfrage weiterhin Versandinformationen.
  • Magento Open Source zeigt jetzt informative Meldungen an, wenn eine Aktion zum Warenkorb hinzugefügt wird. Zuvor wurde der The requested qty is not available nicht immer nach Bedarf auf der Storefront angezeigt.
  • Die Ladezeiten von Checkout-Seiten wurden für Kunden mit großen Adressbüchern verbessert. Magento Open Source verarbeitet jetzt nur die in der Einstellung Customer Addresses Limit angegebene Anzahl von Kundenadressen. Zuvor hat Magento Open Source das gesamte Adressbuch geladen.
  • Die Produktmenge kann jetzt im Warenkorb wie für Lagerpositionen erwartet geändert werden, wenn ein Artikel nicht mehr vorrätig ist. Bisher konnten Käufer die Produktmenge von Artikeln nicht ändern, wenn ein Artikel nicht vorrätig war.
  • Der Produktattributfilter AdvancedSalesRule funktioniert jetzt ordnungsgemäß mit dem Backend-Typ des Dezimalattributs. Daher funktionieren die Warenkorbregeln mit Coupon Type auf No Coupon gesetzt nun erwartungsgemäß.
  • Der volle Rabatt für den gesamten Warenkorb wird nun erwartungsgemäß auf Warenkörbe angewendet, die sowohl Paket- als auch konfigurierbare Produkte enthalten.
  • Cookies für Kundenabschnitte berücksichtigen jetzt die Domäneneinstellung des Cookies. Zuvor wurde der Mini-Warenkorb nicht wie erwartet in Geschäften aktualisiert, die Subdomains enthielten, auch wenn die Sitzung freigegeben wurde.
  • Beim Versand einer Bestellung an mehrere Adressen wird bei der Verarbeitung der Regions-ID kein Fehler mehr Trigger.
  • Feste Rabattbeträge, die auf Warenkorbebene angewendet werden, sind jetzt korrekt.GitHub-37496
  • Gutscheine werden nun erfolgreich auf eine Bestellung angewendet, wenn ein Käufer den Gutschein nach Auswahl der Versandpauschale anwendet, wobei eine Regel für den Warenkorbpreis mit einer Versandmethode angewendet wird, die als Bedingung festgelegt ist. Zuvor wurde auf der Warenkorbseite der Fehler Coupon ist ungültig angezeigt und der Coupon wurde nicht angewendet. GitHub-34866
  • Gutscheine werden nun erfolgreich auf eine Bestellung angewendet, wenn ein Käufer den Gutschein nach Auswahl der Versandpauschale anwendet, wobei eine Regel für den Warenkorbpreis mit einer Versandmethode angewendet wird, die als Bedingung festgelegt ist. Zuvor wurde auf der Warenkorbseite der Fehler Coupon ist ungültig angezeigt und der Coupon wurde nicht angewendet. GitHub-34866
  • Das Kontrollkästchen My billing and shipping address are the same bleibt jetzt standardmäßig aktiviert, wenn ein Käufer Chrome automatisch zum Ausfüllen seiner Versandadresse verwendet und dann auf Weiter klickt, bevor der Block für Versandmethoden neu geladen wird. GitHub-33725
  • Der Wert applied_rule_ids in der Tabelle quote_item enthält jetzt eine korrekte Liste der angewandten Regel-IDs. Zuvor enthielt dieser Wert nur die zuletzt angewendete Regel-ID.
  • Mini-Warenkorb- und Kundendaten im lokalen Speicher werden jetzt zurückgesetzt, wenn eine Sitzung vom Server entfernt wird. Zuvor waren diese Daten nach dem Entfernen der Sitzungsdatei immer noch sichtbar.
  • Diskrete Warenkörbe werden nicht mehr versehentlich vom Administrator zusammengeführt, wenn der beständige Warenkorb aktiviert ist.
  • Die Schätzung der Warenkorbsteuer und des Versands spiegelt jetzt die standardmäßige Zielkonfiguration korrekt wider. Zuvor wurde bei der Konfiguration der Standardeinstellungen für die Berechnung des Steuerziels und der Angabe von Bundesland/Region und ZIP nur der ZIP-Wert im Warenkorb unter Estimate Tax and Shipping angezeigt. Dies wurde durch die Magento Open Source verursacht, die Regions-ID auf undefiniert festzulegen, bevor die bedingte Anweisung aufgerufen wurde, mit der die standardmäßige Regions-ID vom Admin festgelegt wurde.
  • Magento Open Source gibt diesen Fehler beim Checkout nicht mehr aus, wenn der beständige Warenkorb aktiviert ist: Invalid state change requested. Zuvor wurden beim Auslösen dieses Fehlers gelegentlich mehrere Bestellungen mit demselben quote_id erstellt.
  • Der Mini-Warenkorb zeigt nun die Produktpreise des Pakets an, die die Konfigurationseinstellungen der Warenkorbsteuer widerspiegeln. Zuvor waren im Mini-Warenkorb immer Steuern in den Preisen von Bundle-Produkten enthalten.
  • Die von der Warenkorbseite bereitgestellte Versandschätzung ist jetzt korrekt. collectShippingRates ist jetzt nur einmal festgelegt. Zuvor wurde die Versandschätzung dupliziert. GitHub-36648
  • Die cart -Abfrage gibt keinen Fehler mehr zurück, wenn ein Produkt im angegebenen Warenkorb nicht mehr vorrätig ist. Bisher konnten Käufer, die diese Abfrage zum Kauf nutzten, ihren Kauf nicht abschließen, wenn ein Artikel nicht vorrätig war, und ihre Checkout-Seite war leer.
  • Gastbezogene API-Anfragen an POST V1/guest-carts/<cartId>/shipping-information geben keinen cancel -Status mehr zurück, wenn die Seite bei der Anmeldung in einer mobilen Umgebung neu geladen wird. Zuvor hatte Magento Open Source einen 500-Fehler ausgegeben und diese Ausnahme protokolliert: TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given.
  • Die Berechtigung für kostenlosen Versand wird jetzt wie erwartet berechnet, wenn die Subtotal (Excl. Tax) -Bedingung für Warenkorbregeln angewendet wird. GitHub-36760
  • Die cart -Abfrage gibt jetzt die richtigen Stufenpreise für ein Produkt zurück. GitHub-29655
  • Auf der Checkout-Seite wurden informative Fehlermeldungen hinzugefügt, die den Käufern bei einem Konflikt zwischen der Anwendung eines Gutscheins auf der Versandseite und der ausgewählten Versandmethode helfen. Zuvor wurde Kunden in einer Nachricht angewiesen, zur vorherigen Seite zurückzukehren.
  • Das Authentifizierungs-Popup wird jetzt nur initialisiert, wenn es benötigt wird, und nicht immer, wenn das Auschecken des Gastes aktiviert ist. Sie wird jetzt initialisiert, wenn der Gast-Käufer versucht, zum Checkout überzugehen, und der Gast-Checkout deaktiviert ist. GitHub-30672

Preisregel für Warenkorb

  • Die Unterauswahlbedingung der Warenkorbpreisregel für das Produkt enthält jetzt die Option total (incl.tax) wie erwartet. GitHub-34871
  • Die Bedingung der Katalogpreisregel If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true funktioniert jetzt ordnungsgemäß mit Kategorie- und SKU-Attributen. Bisher wurde diese Bedingung nicht korrekt in der Couponlogik für den Warenkorbpreis angewendet und auf Bestellungen wurden ungültige Gutscheine angewendet. GitHub-37660
  • Sie können jetzt erfolgreich eine neue Preisregel für den Warenkorb speichern, wobei die Erweiterung Magento_OfflineShipping deaktiviert ist. Zuvor gab Magento Open Source den folgenden Fehler aus: report.ERROR: Warning: Undefined array key "simple_free_shipping". GitHub-37580
  • Warenkorb-Preisregeln werden jetzt erwartungsgemäß angewendet, wenn eine Regel für den Warenkorbpreis, die sich auf eine Versandmethode bezieht, für den Store konfiguriert ist und diese Versandmethode beim Checkout auf eine andere geändert wird. Zuvor wurde der Wert applied_rule_ids in der Tabelle sales_order_item nie geändert, und die Regel zum Warenkorbpreis wurde nicht auf die Bestellung angewendet.
  • Gutscheine werden nun erfolgreich auf eine Bestellung angewendet, wenn ein Käufer den Gutschein nach Auswahl der Versandpauschale anwendet, wobei eine Regel für den Warenkorbpreis mit einer Versandmethode angewendet wird, die als Bedingung festgelegt ist. Zuvor wurde auf der Warenkorbseite der Fehler Coupon is Not valid angezeigt und der Gutschein wurde nicht angewendet. GitHub-34866

Katalog

  • Wenn Sie bin/magento cache:clean oder bin/magento cache:flush ausführen, wird nicht mehr der gesamte integrierte Cache oder der Varnish-Vollseitencache geleert, es sei denn, dies wurde angegeben. GitHub-38301
  • Händler können jetzt das Produktkarussell verwenden, um CMS-Blöcke zu erstellen, wenn catalog_product_price dimensions-mode auf website gesetzt ist. Zuvor hat Magento Open Source den Block nicht gespeichert und diesen SLQ-Fehler ausgegeben: report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table.
  • Magento Open Source zeigt keine doppelten Bilder mehr an, wenn die Produktfarbe auf einer Produktdetailseite geändert wird. GitHub-36243
  • Der Algorithmus für die Synchronisierung websitespezifischer Werte wurde optimiert, nachdem ein neuer Store hinzugefügt oder ein vorhandener in großen Umgebungen mit mehreren Stores geändert wurde.
  • Der Bereinigungsprozess für zwischengespeicherte Bilddateien wurde verbessert, um zu verhindern, dass ausgeblendete Ordner im Ordner pub/media/catalog/product erstellt werden. Zuvor führten ausgeblendete Verzeichnisse während der Bereinigung zu Speicherplatzproblemen. Der Vorgang konnte beendet werden, was temporäre ausgeblendete Verzeichnisse zurückließ, die nie gelöscht wurden.
  • Bundle-Produktpreise werden nun korrekt berechnet, und ein Problem mit der Reihenfolge der Vorgänge bei der Preisberechnung wurde behoben. GitHub-35665
  • Aus den catalog_product_price -Indexabfragen wurde eine unnötige Klausel entfernt, die die Leistung dieses Indexers bei Geschäften mit großen Katalogen verbessert hat. GitHub-32382
  • Magento Open Source fügt Produktbeschreibungstext nicht mehr in das Produktdetailfeld Meta Description ein, wenn dieses Feld leer gelassen wurde. Wenn zuvor eine Produktbeschreibung HTML-Code enthielt, der von Page Builder oder einem anderen HTML-Editor generiert wurde, wurde die HTML im Feld Meta Description angezeigt und Sie konnten dieses Feld nicht leer lassen.
  • Konfigurierbare Produktoptionen auf konfigurierbaren Produkt-PDP-Seiten sind von anderen konfigurierbaren Produktoptionen auf der Seite nicht mehr betroffen. Zuvor wurde bei konfigurierbaren Produkten mit Dropdown-Attributen keine Ausnahme mehr Trigger, wenn auf der Produktdetailseite ein Produktkarussell vorhanden ist. Konfigurierbare Produktoptionen waren nicht auswählbar, wenn andere konfigurierbare Produkte mit Musteroptionen auf der Seite vorhanden waren.
  • Die kürzlich angezeigten Produktinformationen werden jetzt entsprechend der Konfiguration der Store-Ansicht angezeigt. Zuvor wurden die kürzlich angezeigten Produktdaten nicht pro Store-Ansicht aktualisiert, einschließlich Name und bevorzugte Sprache.
  • Vimeo-Videos werden jetzt in Chromium-basierten Webbrowsern auf Produktseiten in der Mobile-Ansicht erwartungsgemäß wiedergegeben.
  • Der Befehl bin/magento catalog:images:resize generiert jetzt korrekt Produktbilder für die Produkte, die einer benutzerdefinierten Website mit einem benutzerdefinierten Design zugewiesen sind.
  • Metadaten mit den Werten NULL oder NOT NULL werden jetzt für den Standardspeicher gemäß dem Kontrollkästchen Standardwert verwenden wie erwartet gespeichert. Zuvor wurden Metadaten mit dem Wert NULL nicht gespeichert, wenn dieses Kontrollkästchen deaktiviert war.
  • Händler können jetzt erfolgreich ein vorhandenes Bild von der Produktdetailseite löschen und dann ein neues Bild mit demselben Namen hochladen. Zuvor wurde auf der Produktseite der Storefront nicht das richtige Bild angezeigt.
  • Die productDetail -Abfrage gibt jetzt den Produktnamen anstelle von null zurück, wenn das Produktbild alt -Attribut als leer festgelegt ist.
  • Bestellungen, die sowohl herunterladbare als auch physische Produkte beinhalten, enthalten jetzt Arbeitslinks zum herunterladbaren Produkt, sobald die Bestellung abgeschlossen ist. Zuvor waren Links zu herunterladbaren Produkten erst verfügbar, wenn die physischen Produkte in derselben Bestellung versandt wurden.
  • URL-Neuschreibungen werden jetzt aktualisiert, wenn eine Kategorie von einer Store/Stammkategorie in eine andere Store/Stammkategorie verschoben wird. Veraltete Datenbankeinträge werden jetzt entfernt, wenn die Unterkategorien in neue übergeordnete Kategorien übertragen werden. Die Datenbank enthält jetzt nur relevante Einträge. Zuvor wurde die url_path nicht mit der richtigen Store-ID aktualisiert.
  • Der REST V1/products/<sku>/media -Endpunkt kann jetzt das gleichzeitige Hochladen mehrerer Medienbilder verarbeiten. Zuvor wurden bei der gleichzeitigen Verarbeitung mehrerer Anforderungen inkonsistente Daten erstellt, und bei der Speicherung dieser Daten in der Magento Open Source trat ein Fehler auf.
  • Die teilweise Neuindizierungsleistung für die Indexer für Kategorie-Produkte und Produktkategorien wurde verbessert. Zuvor führte der Cron-Auftrag indexer_update_all_views mehrere Neuindizierungen pro Produkt oder Kategorie durch.
  • Wenn der Status des Produktbestands auf der Grundlage der Lagerkonfiguration (Menge) automatisch auf "nicht vorrätig"aktualisiert wird, wird der Lagerstatus anschließend bei Aktualisierung der Lagermenge auf "Vorrätig"aktualisiert. Zuvor wurde die Einstellung stock_status_changed_auto ignoriert, wenn die Lagerergänzungskonfiguration eines Produkts auf Lager aktualisiert wurde.
  • Die Sortierung der Symbolleiste funktioniert jetzt auf Suchseiten wie erwartet, wenn die Einstellung Remember Category Pagination aktiviert ist. GitHub-33220
  • Attribute mit Mehrfachauswahl werden jetzt erwartungsgemäß gespeichert, wenn das Kontrollkästchen Use Default Value im Bereich der Store-Ansicht aktiviert ist. Zuvor war dieses Kontrollkästchen deaktiviert, als das Produkt bearbeitet und der Standardwert gespeichert wurde.
  • Admin-Benutzer mit Website-beschränktem Zugriff können einem Produkt, das in ihren Geltungsbereich fällt, jetzt Bilder hinzufügen. Wenn der Admin-Benutzer keine Zugriffsrechte für das Produkt hat, zeigt Magento Open Source eine informative Nachricht an. Bisher konnten Admin-Benutzer mit Website-beschränktem Zugriff keine Bilder zu Produkten hinzufügen, auf die sie Zugriff hatten.
  • In Magento Open Source wird nun der richtige Name angezeigt, nachdem Produkte unter Admin > Category > Products in category nach Namen sortiert wurden. Dies gilt für Multistore-Bereitstellungen, bei denen die Produktnamen je nach Store variieren. GitHub-36208
  • Die addProductsToCart -Mutation gibt jetzt anpassbare Optionen mit Daten zurück. Zuvor wurden nur leere anpassbare Optionen zurückgegeben. GitHub-37599
  • Der rücksortierte Status des Produkts wird jetzt korrekt auf der Storefront angezeigt. Zuvor wurden Produkte, die für den Versand verfügbar waren, fälschlicherweise als zurückbestellt identifiziert.
  • Exportierte Produkte haben jetzt den richtigen manage_stock -Wert, wenn der use_config_manage_stock -Wert gleich 1 ist. Zuvor war dieser Standardwert falsch.
  • Der Zugriff auf herunterladbare Produkte aus dem Admin führt nicht mehr zu einem Fehler, wenn der Admin-Benutzer die Store-Ansicht von der bei der Produkterstellung verwendeten Ansicht in eine andere Store-Ansicht ändert. Die Produktpreise werden jetzt erfolgreich in "float"konvertiert, wenn ein Administrator die Store-Ansicht von allen Store-Ansichten zur standardmäßigen Store-Ansicht wechselt. Zuvor gab Magento Open Source einen Fehler aus. GitHub-37519
  • Magento Open Source zeigt keine Warnmeldung mehr an, wenn Sie ein Produkt speichern, das mit benutzerdefinierten Optionen erstellt wurde, nachdem Sie es gelöscht haben.
  • Produktminiaturansichten werden jetzt erwartungsgemäß in der Warn-E-Mail mit dem Produktbestand angezeigt, die gesendet wird, wenn ein Produkt wieder auf Lager ist. Zuvor wurde dieses Bild nicht in der Warnhinweis-E-Mail angezeigt
  • Die Produktanzahl in der Kategorienstruktur (Admin Catalog > Category) ist jetzt korrekt. Zuvor konnte die Anzahl der Kategorieprodukte nicht aus der Tabelle catalog_category_product_index abgerufen werden. Der Typo, der diesen Fehler ausgelöst hat, wurde behoben. GitHub-35417
  • Das Hauptproduktbild auf der Produktdetailseite wird beim Laden der Seite nicht mehr sichtbar nach unten verschoben, wenn product_image_white_borders im Design view.xml deaktiviert ist. Zuvor wurde das Produktbild beim Laden der Seite aufgrund falscher Höheneinstellungen in Fotorama JS visuell nach unten verschoben.
  • Kunden werden jetzt über einen Rückgang des Produktpreises informiert, wenn der Kunde Warnungen wegen Preisverfalls abonniert hat. Zuvor wurden aufgrund der Zwischenspeicherung auf Anwendungsebene nicht immer Preisverfall-Benachrichtigungen gesendet.
  • Zum Erstellen von Produktattributen über die Web-API wurde eine serverseitige Validierung hinzugefügt. Sie können das Feld Use in Layered Navigation Catalog nicht aktivieren, wenn der Feldwert Catalog Input Type for Store Owner Text Field, Text Area, Text Editor, Date oder Date and Time lautet. Zuvor wurden Produkte in Kategorien und Suchergebnissen weggelassen.
  • Die Kategorieseite wird jetzt mit der richtigen Paginierung neu geladen, nachdem ein Käufer die Seite geöffnet, die Paginierung geändert, zu einer Produktseite navigiert und dann zur Kategorieseite zurückkehrt. GitHub-36563
  • Einfache, nicht vorrätige Produkte, die Optionen für ein konfigurierbares Produkt sind, werden jetzt in der Storefront als deaktiviert angezeigt, wenn Display Out of Stock Products auf Ja gesetzt ist. Zuvor wurden alle Optionen trotz ihres Status und ihrer tatsächlichen Verfügbarkeit als verfügbar angezeigt.
  • Durch die Aktualisierung des Website-Bereichsattributs in einer bestimmten Store-Ansicht wird der Wert dieses Attributs im globalen Umfang nicht mehr überschrieben. Zuvor führte der Import von Produktpreisen, wenn mehrere Zeilen mit derselben SKU und store_view_code verfügbar waren, zu ungenauen Preisen für die standardmäßigen und alle Store-Ansichtsbereiche.
  • Händler können nun ein GIF-Bild aus dem Admin zur Bildergalerie eines Produkts hinzufügen. Zuvor wurde in Magento Open Source der folgende Fehler angezeigt: imagecolorsforindex(): Argument #2 ($color) is out of range.
  • Es wurden Prüfungen hinzugefügt, um Fehler zu verarbeiten, die aus nicht definierten Array-Schlüsseln resultieren. Zuvor trat während der Erstellung der deklarativen Schema-Whitelist ein Fehler auf.
  • Magento Open Source gibt jetzt ein gültiges Ergebnis für das benutzerdefinierte Datum 01/01/1970 zurück. Zuvor gab das benutzerdefinierte Attribut den folgenden Fehler zurück: Invalid input datetime format of value '1/01/1970. GitHub-37274
  • routes Abfragen, die Fragmente verwenden, geben jetzt erwartungsgemäß Kategorieinformationen zurück. Zuvor trat auf der Kategorieseite ein interner Server-Fehler auf. GitHub-35906
  • Probleme mit dem partiellen Neuindizierungsprozess von cataloginventory_stock wurden behoben, und die Indexleistung wurde verbessert. Zuvor wurden die Lager- und Produktkategorien nicht korrekt aktualisiert.
  • Magento Open Source generiert jetzt eine 301-Umleitung für ein Produkt, wenn die Kategorie, zu der es gehört, in eine neue übergeordnete Kategorie verschoben wurde. GitHub-37039

Katalogregeln

  • Katalogregeln werden jetzt korrekt indiziert, wenn sie durch eine geplante Aktualisierung aktiviert werden. Daher werden ermäßigte Preise jetzt korrekt generiert und indiziert. Wenn zuvor zwei Katalogregeln verfügbar waren und eine Regel aktiviert wurde, nachdem die erste Regel vor Abschluss der Indizierung der Katalogregel durch die erste Regel aktiviert wurde, wurden die Diskontpreise für die Katalogregel für die zweite Katalogregel nicht generiert.
  • Katalogregeln werden jetzt wie erwartet in einer Umgebung mit mehreren Websites angewendet.

Konfigurierbare Produkte

  • Händler können jetzt beim Konfigurieren eines konfigurierbaren Produkts Skip quantity at this time und Skip image uploading at this auswählen, ohne dass sich dies auf die Quelle verknüpfter einfacher Produkte auswirkt. Zuvor führte die Auswahl von Skip quantity at this time zum Verschwinden von Produktquellen.
  • Die Bezeichnung As low as wird für einen konfigurierbaren Produktpreis nicht mehr angezeigt, wenn alle Optionen denselben Preis haben.
  • Admin-Benutzer mit Website-Berechtigungen können jetzt ein untergeordnetes Produkt speichern, das Teil eines konfigurierbaren Produkts ist, und zwar in einem anderen Store-Kontext. Bei der Neuindizierung von Prozessen wird dieser Typ von konfigurierbarem Produkt nun übersprungen.
  • Konfigurierbare Produkte mit zwei untergeordneten Produkten werden nicht mehr als nicht vorrätig markiert, wenn ein untergeordnetes Produkt durch eine geplante Aktualisierung deaktiviert wird. Dies war ein bekanntes Problem für 2.4.7-beta1.
  • Die Leistung von Speichervorgängen für konfigurierbare Produkte mit mehreren Optionen wurde verbessert. Zuvor konnten beim Speichern von Produkten Timeouts auftreten. GitHub-36928
  • Die Anzeige der konfigurierbaren Produktpreise im Storefront ändert sich nun erwartungsgemäß, wenn ein Käufer eine Produktoption auswählt. GitHub-37378

Coupons

  • Couponcodes mit einer begrenzten Anzahl von Verwendungen pro Kunde können jetzt ein zweites Mal verwendet werden, wenn die Bestellung, für die sie zuvor verwendet wurde, fehlschlägt. Zuvor wurde der Angebotscode nicht veröffentlicht, wenn die vorherige Bestellung storniert wurde.
  • Couponcodes, die Leerzeichen enthalten, werden nicht mehr ungültig gemacht. Wenn zuvor ein Gutscheincode ein Leerzeichen (vor oder nach dem eigentlichen Code) enthielt, schlug die Validierung fehl. GitHub-38048
  • Der Gutscheinwert eines Käufers für die einmalige Verwendung wird jetzt erwartungsgemäß wiederhergestellt, wenn die Reihenfolge, auf die er angewendet wurde, abgebrochen wird.
  • Der Endpunkt GET V1/coupons/<couponId> gibt jetzt die vollständige erwartete Antwort für manuell erstellte Coupons zurück, genau wie für automatisch generierte Coupons. Zuvor wurden einige Felder ausgelassen (z. B. usage_limit, usage_per_customer und created_at).

cron

  • Der Cron-Auftrag aggregate_sales_report_bestsellers_data erstellt keine sehr großen temporären MySQL-Tabellen mehr und ist nun erfolgreich abgeschlossen. Dieser Cron-Auftrag fügt jetzt Daten pro Store ein, nicht für alle Stores auf einmal. Zuvor konnte dieser Cron-Auftrag zu No space left on device -Fehlern führen.
  • Die Anzahl der ausstehenden Einträge in der Tabelle cron_schedule wurde reduziert, indem verhindert wurde, dass Cron-Aufträge versuchen, unnötige Cron-Auftragssperren zu erhalten. Zuvor versuchten Cron-Aufträge, Sperren zu erwerben, wenn es zu spät war, den Auftrag auszuführen. Cron-Aufträge in cron_schedule wurden nicht als verpasst markiert, obwohl sie ihre geplante Zeit bereits überschritten hatten. Magento Open Source hat diesen Fehler auch wiederholt im Fehlerprotokoll angezeigt: report.WARNING: Could not acquire lock for cron job: indexer_update_all_views.
  • Fehlerkorrektur - in Cron-Ausdrücken tritt jetzt kein Fehler mehr mit "divide-by-zero" auf. GitHub-37804
  • Der Cron-Prozess sales_clean_quotes wurde so optimiert, dass er schneller ausgeführt wird, indem ein zusammengesetzter Index für store_id und updated_at columns in der Anführungszeichentabelle hinzugefügt wird. Durch diese Änderung wird die Leistung des Cron-Auftrags bei der Verarbeitung vieler Anführungszeichen verbessert.
  • Administratoren können jetzt anzeigen, welche Aufgabe der bin/magento cron:run-Prozess derzeit durchführt. Der Titel des derzeit ausgeführten Prozesses listet nun die Gruppen- und Auftragsnamen auf. GitHub-34321

Kunde

  • In Magento Open Source werden nun die Felder Date of Birth, Tax/VAT Number, Gender, Telephone, Company und Fax auf der Bearbeitungskundenseite auf der Grundlage der Konfigurationseinstellungen angezeigt. GitHub-36196

E-Mail

  • E-Mails mit Diakritika oder Akzenten (d. h. utf8 email) werden jetzt für Kunden und Unternehmen sowie für die Bestellung von Gästen und registrierten Kunden unterstützt. Bisher hat Magento Open Source keine Kundendatensätze gespeichert, die diakritische Informationen enthielten und folgenden Fehler angezeigt haben: Something went wrong while saving the customer.
  • E-Mail-Absendernamen dürfen keine Doppelpunkte mehr enthalten. Eine neue Validierungsregel verhindert jetzt das Speichern von Absendernamen, die Doppelpunkte enthalten, aus dem Abschnitt "E-Mail-Adressen speichern"von Admin Stores > General. Zuvor konnten Händler einen Absendernamen speichern, der ein Doppelpunkt-Zeichen enthielt, was zu Fehlern beim E-Mail-Server führte.
  • E-Mail-Adressen von Kunden können jetzt auch Diakrien enthalten. Zuvor war die Frontend-Validierung die Erstellung eines Benutzers mit diakritischen Informationen in seiner E-Mail-Adresse untersagt. GitHub-12075
  • E-Mails mit Aktien- und Preiswarnungen werden jetzt entsprechend der Sprache übersetzt, die für die standardmäßige Store-Ansicht der Website konfiguriert ist. Bisher wurden diese E-Mails nicht übersetzt.
  • POST V1/order/notify-orders-are-ready-for-pickup sendet nun eine E-Mail, in der Kunden darüber informiert wird, dass eine Bestellung erst dann abgeholt werden kann, wenn die Bestellung fertig ist. E-Mail wird jetzt nur ausgelöst, wenn die Anfrage ohne Ausnahme erfüllt wurde.

Frameworks

  • Das Debugging wurde verbessert, indem der Wert UNCACHEABLE hinzugefügt wird, wenn ein HTTP-Header mit Varnish ausgegeben wird. Zuvor wurden nur HIT - oder MISS -Werte ausgegeben. GitHub-37912
  • Es wurde Code hinzugefügt, der die standardmäßige Handhabung der Varnish-Komprimierung unterstützt. GitHub-38309
  • Der Befehl varnish:vcl:generate enthält jetzt einen input-file argument. Dies unterstützt das Hinzufügen einer benutzerdefinierten VCL zu einem Git-Repository, relativ zum Commerce-Stamm. GitHub-37363
  • Die Unterstützung für Varnish 4.x und 5.x wurde aus der Codebasis entfernt. GitHub-38304
  • phpcodesniffer-composer-installer in composer.json wurde auf Version 1.0.0 aktualisiert. GitHub-36913
  • Zeichen, die nicht mit RFC3986 übereinstimmen, wurden aus der Codebasis entfernt. GitHub-38355
  • Fehlerkorrektur - Es wurde ein falsches PHP-doc-Tag in der Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid-Klasse behoben. GitHub-38186
  • Umgestalteter Code in der gesamten Codebase, der beim Kodieren erstellt wurde, diktierte, dass jeder Cache-Abschnitt, der in der Datei app/etc/env.php enthalten war, einen Frontend-Abschnitt enthalten würde. Diese Umgestaltung behebt potenzielle Probleme bei der Aktualisierung von Magento Open Source-Implementierungen vor 2.4.4. GitHub-38363
  • Die Fehlermeldung, die mit StockItemValidator.php verknüpft ist, wenn während eines API-Aufrufs eine Lager-ID mit dem Wert 0 angegeben wird, wurde klarer formuliert. GitHub-31107
  • Es wurde ein standardmäßiges leeres Array zu $tagGenerators in CompositeTagGenerator hinzugefügt, um Fehler bei der Kompilierung der Abhängigkeiten zu vermeiden. Zuvor führte die Ausführung des Befehls bin/magento setup:upgrade , wenn die Module Magento_DirectoryGraphQl und Magento_StoreGraphQl deaktiviert waren, zu einem Fehler. GitHub-38165
  • Die nicht verwendete AlgorithmProviderFactory -Klasse sowie Abhängigkeiten von dieser Klasse in Klassen wie JweAlgorithmManagerFactory.php, JweContentAlgorithmManagerFactory.php und JwsAlgorithmManagerFactory wurden entfernt. GitHub-37783
  • Die Datei var/log/system.log enthält keine main.INFO Fehlermeldungen mehr. Das Menüeintragsprotokoll wurde von Ebene INFO in DEBUG verschoben. Zuvor wurde die Datei var/log/system.log mit Meldungen wie den folgenden überschwemmt: Add of item with id Magento_Theme::design_config was processed … .
  • Das erneute Vorausfüllen schlägt nicht mehr fehl, wenn exec() "false"zurückgibt. Zum Vorausladevorgang wurde eine Überprüfung hinzugefügt, um zu verhindern, dass array_combine false als zweites Argument erhält. Daher wird das Vorausfüllen weiterhin ausgeführt, wenn exec() false zurückgibt. GitHub-37509
  • Das Modul Magento_CatalogWidget wurde umgestaltet, um die Maskierungsfunktionen von $block durch die Maskierungsfunktionen von $escaper zu ersetzen. GitHub-37107
  • Swaziland wurde in der gesamten Codebasis auf Eswatini aktualisiert. GitHub-37873
  • Die neue nicaraguanische Währung (NIO) wurde zur Liste der verfügbaren Währungen hinzugefügt.
  • Korrektur eines Variablennamens in CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php. GitHub-38093
  • Es wurden Rundungsfehler bei Zwischensummen behoben, die bei Transaktionen für Produkte aufgetreten sind, für die die Dezimalzahl aktiviert wurde. GitHub-37817
  • Der Datumsfilter für das Admin-Kundenraster funktioniert nun entsprechend dem angegebenen Gebietsschema wie erwartet.
  • Der Befehl bin/magento setup:upgrade schlägt aufgrund des Datentyps der Variable $schemaPatch nicht mehr fehl. Zuvor wurde der Zeichenfolgenwert an die Funktion get_class übergeben, was den Fehler verursachte. GitHub-37545
  • Die Verbindung zur MySQL-Datenbank wird jetzt wiederhergestellt, wenn bei einer Transaktion eine Zeitüberschreitung für die Verbindung auftritt, wenn Sie für den Verbraucher max_messages = 0 festlegen. Zuvor wurde die Verbindung beendet.
  • Das Kernmodul magento/module-release-notification wurde im 2.4-Entwicklungs-Code mit diesem Kommentar als veraltet markiert: Starting from Magento 2.4.7, Magento_ReleaseNotification module is deprecated in favor of another in-product messaging mechanism.
  • Die Proxy-Codegenerierung generiert jetzt Proxy- und Factory-Dateien wie erwartet für Bereitstellungen, die im Produktionsmodus ausgeführt werden. GitHub-35252
  • Der indische Bundesstaat Ladakh ist jetzt als Option in den Dropdown-Menüs Admin-Adresse State aufgeführt. GitHub-33698
  • Der Countdown-Ticker für Ereignisse wird jetzt wie erwartet auf der Kategorieseite angezeigt.
  • Das verbotene @author -Tag wurde aus der Codebasis entfernt, einschließlich der folgenden Module: Magento_user-variable-wee, Magento_Catalog und Magento_Customer, Magento_Wishlist, Magento_Review Tax und im gesamten Framework. GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
  • Der JSON-Serialisierungsprogramm im Modul User wurde durch einen neuen, präziseren Serialisierungsprogramm (JsonHexTag) ersetzt. Zuvor war die Magento Open Source manchmal abgestürzt, wenn versucht wurde, vom regulären Serialisierungsprogramm serialisierte Daten zu verwenden, wenn sie nicht escapte Elemente enthielten. GitHub-31377
  • Beim Ausführen einer vollständigen Neuindizierung (bin/magento indexer:reindex) treten keine Fehler mehr bei der Pipeline auf. AMPQ-Verbindungen werden nun geschlossen, bevor der Prozess-Manager Prozesse abspaltet.
  • Der Validator der Warteschlangenmeldung validiert jetzt den Untertyp aller Array-Elemente. Zuvor hatte Magento Open Source eine Ausnahme ausgelöst.
  • Die Konfiguration der Warteschlangenverbindung pro Thema in app/etc/env.php funktioniert jetzt ordnungsgemäß. Zuvor wird die Warnungswarteschlange nicht korrekt generiert, wenn eine neue Nachrichtenwarteschlange mit einem benutzerdefinierten Austausch erstellt wurde. Wenn die Warteschlangenverbindung für ein Thema in app/etc/env.php mit einem benutzerdefinierten Austausch konfiguriert wurde, wurde eine neue Bindung für alle Themen mit diesem benutzerdefinierten Austausch erstellt. Händler konnten keine Produktwarnungen verarbeiten.
  • Temporale Formate, die mit einem /* mariadb-5.3 */ -Kommentar markiert sind, verursachen während bin/magento setup:install beim Aktualisieren des MariaDB-Servers auf Version 10.5.1 oder höher keine Fehler mehr.
  • Der AwsS3-Treiber funktioniert jetzt wie erwartet als Ersatz für die standardmäßige Dateispeicherimplementierung. Zuvor konnten Daten beschädigt werden, wenn dieser Treiber für die Dateispeicherung konfiguriert wurde. GitHub-37844
  • bin/magento config:show - und set -Befehle, die $_ENV -Variablen verwenden, unterstützen jetzt die Verwendung von Website- und Store-Codes, die Binnenmajuskel- oder Großbuchstaben enthalten.
  • Es wurden Klassen mit !important hinzugefügt, wie in Tailwind 3 für CSS-Layoutunterstützung verwendet. GitHub-37568
  • Der Datei trim-input.js wurde eine fehlende jQuery -Abhängigkeit hinzugefügt. GitHub-37683
  • Ereignisspezifische Details werden jetzt als zweites Attribut (context) der log -Methode übergeben. GitHub-37879
  • Zu Katalogbildern wurden Seitenverhältniswerte hinzugefügt und unnötige Skripte wurden aus dem UI-Framework entfernt. GitHub-37691
  • Die durch eine ungültige XML-Konfiguration ausgelösten Fehlermeldungen wurden überarbeitet, um informativer zu sein. GitHub-37788
  • Der veraltete Code zur Erstellung dynamischer Eigenschaften in der gesamten Codebasis wurde überarbeitet.
  • Die Leistung von Indexern für große Geschäfte mit extrem aktiven Produktdatenbanken hat sich verbessert. Indexer indizieren jetzt die neuesten Produktinformationen einmal für jeden Index anstatt mehrmals. Zuvor waren Produkte von der Website verschwunden, und Produktdaten konnten auf der Website veraltet sein. GitHub-30012
  • Der Datensatzstatus "mview_state"zeigt nun den Status basierend auf der Aktivität "ChangeLog"genau an, wenn eine Slave-Datenbankverbindung verfügbar ist. Bisher blieben diese Datensätze in Cloud-Bereitstellungen mit dem Status "waiting", selbst wenn keine neuen Einträge in der Änderungsprotokoll vorhanden waren.
  • Unterstützung für die Option precision für das Währungsformat hinzugefügt, damit die Funktionsparität mit der veralteten Klasse ZendCurrency beibehalten wird.
  • Cookie-Nachrichten wurden in beobachtbare Attribute umgewandelt, und Entwickler können jetzt den Status bearbeiten, was möglicherweise Änderungen an der Benutzeroberfläche des Triggers zur Folge hat. Zuvor waren Cookies schreibgeschützt und konnten nicht bearbeitet werden. GitHub-37308
  • Administratoren können jetzt eine Rechnung erstellen, wenn ihre Magento Open Source-Instanz mit dem S3-Speicher verbunden ist. Zuvor wurde in Magento Open Source der folgende Fehler angezeigt: Cannot create image resource. File not found. GitHub-35706
  • Magento Open Source protokolliert jetzt eine Ausnahmemeldung wie erwartet, wenn die Überprüfung der MwSt-Nummer durch den VIES-Validierungsdienst fehlschlägt. GitHub-36065
  • Der Name Administrators wurde aus der Abfrage entfernt, die zum Abrufen der Rolle eines Administrators bei der Erstellung einer Administratorrolle verwendet wurde. GitHub-36998
  • Der Befehl bin/magento setup:config:set schlägt nicht mehr fehl, wenn ein ungültiger Datenbankbenutzername in der Datei app/etc/env.php enthalten ist. GitHub-37409
  • Die Sortierung nach Spalte nach reservierten Wörtern in einer standardmäßigen Admin-UI-Komponente führt in var/log/exception.log nicht mehr zu einem SQL-Fehler. GitHub-37423
  • AddDataForCostaRica.php wurde hinzugefügt, um Statusinformationen für Costa Rica bereitzustellen. GitHub-37382.
  • Verbesserte Fehlermeldung für das Szenario, in dem Benutzer versuchen, vom Administrator auf eine ungültige URL zuzugreifen. GitHub-35682.
  • Param $options[position] für Währungssymbole funktioniert jetzt erwartungsgemäß und unterstützt die Anpassung der Position des Währungssymbols. Zuvor hat die Methode toCurrency nach der Migration aus Zend Framework 1 den Parameter position ignoriert. Dieses Problem trat in der gesamten Admin-Oberfläche auf.
  • Mutex wurde für Bestellungen implementiert, um Race-Bedingungen während der Aktualisierung durch gleichzeitige Anfragen zu verhindern. Zuvor führten gleichzeitige Anforderungen (Race-Bedingungen) für Auftragsabbrüche zu duplizierten Einträgen in der Tabelle inventory_reservation .
  • Die Funktion populateWithArray wandelt Objekteigenschaften nun korrekt in Groß-/Kleinschreibung um, wodurch sie mit den Gettern und Settern für AbstractModel kompatibel sind. Zuvor war die Groß-/Kleinschreibung falsch, wenn der Datenattributname mehrere Großbuchstaben in einer Zeile enthielt.
  • Der Wert für die automatische Inkrementierung in der Tabelle catalog_product_entity_varchar wird jetzt korrekt erhöht, nachdem ein Produkt gespeichert wurde. Zuvor wurde dieser Wert um zehn erhöht.
  • Magento Open Source löst diese Dateisystemausnahme nicht mehr aus, wenn Sie versuchen, den JavaScript/CSS-Cache zu leeren: No such file or directory.
  • Der Wert von value_id in customer_entity_int wird jetzt korrekt erhöht. Bei der Aktualisierung einer Entität, die diese Attribute enthält, wird anstelle von insert on duplicate key update eine Aktualisierungsabfrage ausgeführt. Infolgedessen wachsen die im EAV-Modell verwendeten Spalten mit automatischer Inkrementierung nun linear. Zuvor hat der Prozess der automatischen Inkrementierung für Spalten Werte aufgrund fehlgeschlagener Einfüge-Abfragen übersprungen. GitHub-28387
  • Es wurde unnötiger Leerraum aus id -Attributen entfernt, für die dies nicht erforderlich ist. (Dieser Fehler wurde durch eine Codeänderung der Magento Open Source 2.4.6 eingeführt.)
  • Store-Codes werden nicht mehr in der Store-URL angezeigt, wenn sich der Store im Einzelspeichermodus befindet. GitHub-36831
  • Geringfügige Aktualisierungen wurden an den around -Plug-ins vorgenommen. GitHub-31443
  • Die Muster Helper wurden überarbeitet, um irreführende Importaliasen zu entfernen. GitHub-31373
  • Administratoren können jetzt eine sitemap.xml -Datei wie erwartet löschen oder umbenennen. Zuvor konnte ein Administrator die Datei aus dem Admin löschen, sie blieb jedoch im Dateisystem. GitHub-37468
  • Coupons werden nicht mehr als verwendet gekennzeichnet, wenn die Zahlung für die Reihenfolge fehlschlägt, in der sie angewendet wurden. Warteschlangennachrichten werden jetzt in der Reihenfolge verarbeitet, in der sie veröffentlicht werden, wenn der Verbraucher gestartet wird. Zuvor wurde die erste Nachricht aus der Warteschlange gezogen, um einfach zu überprüfen, ob die Nachrichten in die Warteschlange gestellt wurden, und danach zurückgewiesen, wodurch die erste Nachricht zuletzt verarbeitet wurde.
  • Magento Open Source löst in der Protokolldatei keine Ausnahme mehr aus, wenn ein Benutzer versucht, ein Versandlabel zu drucken. Wenn eine Erweiterung zuvor Antwortheader ändert, die eine Anlage enthalten, hat das System in der Protokolldatei eine Ausnahme ausgelöst.
  • elements.xsd unterstützt jetzt weitere HTML-Klassen. GitHub-36891

Allgemeine Fehlerbehebungen

  • Der Name der Variable reponseBody wurde in app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php in responseBody geändert.GitHub-38093
  • Beim Planen von Produktaktualisierungen werden die Attributdaten mit Mehrfachauswahl nicht mehr gelöscht. Bisher wurden bei der Planung einer Aktualisierung für ein Produkt die Mehrfachauswahlattributdaten des Produkts fälschlicherweise gelöscht. GitHub-37675
  • Das Speichern eines Produkts mit einem nicht standardmäßigen Store-Umfang führt nicht mehr dazu, dass unveränderte Attribute beim Laden mit ProductRepository als Store-Bereich festgelegt werden. GitHub-8897
  • Der Validierung benutzerdefinierter Felder auf Produktdetailseiten wurden informative Fehlermeldungen hinzugefügt. GitHub-38006
  • Sonderzeichen können jetzt in Namensfeldern verwendet werden. Zuvor war das kaufmännische Und-Zeichen (&) im Namensvalidator eingeschränkt, wodurch Kunden-Hinzufügen- oder Bearbeitungsvorgänge blockiert wurden, wenn der Kundenname ein kaufmännisches Und enthielt. GitHub-38080
  • Admin-Benutzer mit eingeschränktem Zugriff auf einen bestimmten Store können jetzt eine Massenaktualisierung verwenden, um Produktüberprüfungen zu aktualisieren. Zuvor hatte Magento Open Source diese Ausnahme ausgelöst: report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439.
  • Die Funktion Kennwort anzeigen auf der Storefront-Anmeldeseite zeigt jetzt Kennwörter erwartungsgemäß an. Zuvor wurden keine Passwörter angezeigt. GitHub-37432
  • Die Produktvergleichsliste ist jetzt immer websitespezifisch für Gastkäufer und enthält keine Produkte, die von den anderen Websites hinzugefügt wurden, einschließlich der Produkte, die beiden Websites zugewiesen wurden.
  • CMS-Inhaltsbausteine, die Emojis enthalten, werden nach dem Speichern in der Datenbank nicht mehr abgeschnitten. Zuvor wurden Inhalte nach den Emoji abgeschnitten, da die standardmäßige Datenbankkonfiguration keine Vierbyte-Zeichen unterstützt hat.
  • Passwörter werden jetzt erwartungsgemäß angezeigt, wenn das Kontrollkästchen Show Password auf der Anmeldeseite aktiv ist.
  • Das Systemattribut Passwort-Token zurücksetzen der Validierung der Kundenentität (rp_token) wurde während der Erstellung des Kundenkontos aus der Attributvalidierung entfernt, und die Validierung von Datenwörtern ist nur in der resultierenden Kunden-E-Mail enthalten. Zuvor hat Magento Open Source den Kundendatensatz nicht gespeichert und folgenden Fehler angezeigt: Something went wrong while saving the customer.
  • Nach dem Löschen einer Spalte können Sie nun erfolgreich Änderungen am Raster Admin Pages und Block speichern. GitHub-37525
  • Kunden können sich jetzt erfolgreich mit einem neuen Kennwort von einem Gerät aus anmelden, nachdem sie ihr Kennwort auf einem anderen Gerät zurückgesetzt haben.
  • Das Feld "Admin-Kundenadresse Bundesland"behält jetzt den zuletzt gespeicherten Wert wie erwartet bei. Bisher wurde der gelöschte Wert von Magento Open Source beim Entfernen des Werts aus diesem Feld weiterhin im Feld Bundesland/-staat angezeigt. GitHub-36846
  • Fehler treten nicht mehr bei Anforderungen für einen RSS-Feed für Kategorien auf, wenn RSS Feed Top Level Category aktiviert ist. Bisher führte das Durchsuchen der Seite mit der RSS-Feed-Kategorie in Protokolldateien zu Elasticsearch CRITICAL-Fehlern, wenn RSS Feed Top Level Category aktiviert war.
  • Der richtige Wert wird jetzt für gws_store_groups gespeichert, wenn der Rollenbereich während der Benutzerrollenerstellung geändert wird. Zuvor wurde bei Auswahl des Rollenbereichs als All der Wert gws_store_groups während der Benutzererstellung als null gespeichert, jedoch nicht während der Rollenbearbeitung. Wenn der Rollenbereich als Custom ausgewählt wurde, wurde der gws_store_groups -Wert immer als null gespeichert.
  • Auf die Seite "Kennwort zurücksetzen"kann jetzt zugegriffen werden, indem Sie auf der Admin-Anmeldeseite auf den Link Kennwort zurücksetzen klicken, wenn die Einstellung Add Store Code to Urls aktiviert ist. Der Link Kennwort zurücksetzen des Administrators hat zuvor die Anmeldeseite oder 404-Seite geöffnet.
  • Der Datumsbereich im Dashboard "Admin-Statistiken"wird jetzt auf der Grundlage der Zeitzone berechnet, die in den Konfigurationseinstellungen festgelegt ist, und dann in UTC konvertiert, um Daten aus der Datenbank abzurufen.
  • Der CMS-Hierarchiefilter funktioniert wie erwartet, nachdem Sie eine Store-Ansicht gefiltert und dann unter Admin Content > Hierarchy auf Save geklickt haben. Zuvor wurde durch Klicken auf Save die Seite aktualisiert, aber der Kontext wurde verloren und die ausgewählte Store-Ansicht wurde nicht mehr angezeigt.
  • Durch Klicken auf die Schaltfläche "Send invitation"(Admin Marketing > Private sales > Invitation) wird jetzt eine POST-Anfrage zusammen mit dem Formularschlüssel gesendet und die Einladung erfolgreich gesendet. Bisher waren beim Klicken auf diese Schaltfläche weder die HTTP-POST-Methode noch der Formularschlüssel vorhanden.
  • Zero-Byte-Dateien können jetzt mit AWS S3 erfolgreich in den Remote-Speicher kopiert werden.
  • Admin-Benutzer können jetzt vom Administrator eine neue Kundenadresse hinzufügen, wenn dieser Kunde für eine andere Website erstellt wurde, deren Store-ID nicht mit der Website-ID übereinstimmt. Zuvor hat Magento Open Source diese Popup-Meldung angezeigt: Something went wrong. GitHub-36582
  • Auf der CMS-Blockbearbeitungs-Seite wird jetzt der richtige Widget-Wert block_id angezeigt. GitHub-29644

GraphQL

  • Die getCustomerWishlist -Abfrage führt nicht mehr zu einem internen Server-Fehler, wenn Listen mit konfigurierbaren Produkten abgefragt werden.
  • Die customerCart -Abfrage gibt nun alle angewendeten Rabatte für Bundle-Produkte erwartungsgemäß zurück. Zuvor wurden die auf ein Bundle-Produkt angewendeten Rabatte als Null zurückgegeben.
  • Die getCustomerWishlist -Abfrage führt nicht mehr zu einem internen Server-Fehler, wenn Listen mit konfigurierbaren Produkten abgefragt werden.
  • Die Deklaration der Markierung is_subscribed, des Resolver, des Caches und der zugehörigen Tests wurden vom Modul CustomerGraphQl in das Modul NewsletterGraphQl verschoben.
  • Die addProductsToCart-Mutation meldet in user_errors keine unabhängigen Fehler mehr. Zuvor wurden Fehler im Zusammenhang mit dem Warenkorb zusammen mit den erwarteten Vorgangsfehlern in user_errors eingeschlossen. GitHub-37908
  • Der Produktfilter für die products-Abfrage kann jetzt Teilübereinstimmungsergebnisse sowie vollständige Übereinstimmungen zurückgeben. Das neue Attribut match_type (PARTIAL, FULL) unterstützt die Angabe des Übereinstimmungstyps. Zuvor gab die Abfrage nur vollständige Übereinstimmungen zurück.
  • Mutex wurde zur addConfigurableProductsToCart -Abfrage hinzugefügt, um Race-Bedingungen während einer Aktualisierung durch gleichzeitige Anfragen zu verhindern. Zuvor wurden zwei separate Artikel mit derselben Produkt-SKU hinzugefügt, wenn ein Händler zwei parallele Anfragen zum Hinzufügen desselben konfigurierbaren Produkts zu einem Warenkorb sendete. GitHub-37847
  • Die Produktaggregation in GraphQL-Antworten umfasst jetzt Werte ungleich null für Attribute, wenn Use in Layered Navigation auf Filterable (no results) gesetzt ist. Zuvor wurden nur Werte zurückgegeben, die ungleich null waren.
  • Die Leistung der setShippingAddressForEstimate -Abfrage für Warenkorbvorgänge mit benutzerdefinierten Produktattributen wurde verbessert. Zuvor wurden in der Abfrage alle Produktattribute geladen, wenn Parameter als Variablen gesendet wurden.
  • Das Feld products query ConfigurableProduct.configurable_options gibt jetzt nur Werte zurück, für die mindestens ein aktiviertes Produkt aktiviert ist. Zuvor gab dieses Feld deaktivierte einfache Produkte zurück.
  • Die Leistung von GetCategories query wurde verbessert, indem die Anzahl der unnötigen SQL-Abfragen reduziert wurde.
  • Die Handhabung von Adressfehlern für GraphQL-Bibliothekskomponenten funktioniert jetzt erwartungsgemäß.
  • Die products -Abfrage gibt jetzt alle relevanten Details zur Storefront-Preisgestaltung zurück, wenn die dynamische Preisgestaltung auf "Nein"gesetzt ist und Rabatte angewendet werden. Zuvor wurde der Preisbereich für Produkte nicht zurückgegeben. GitHub-35649
  • GraphQL-Transaktionsnamen enthalten jetzt nur noch die Top-Level-Abfragenamen in den New Relic-Protokollen. Zuvor enthielten auch Transaktionsnamen sekundäre Abfragenamen.
  • Die Handhabung von Adressfehlern für GraphQL-Bibliothekskomponenten funktioniert jetzt erwartungsgemäß.
  • Wenn die Sichtbarkeitseinstellung für ein Produkt auf "Catalog" eingestellt ist, lösen products -Abfragen für dieses Produkt die Einstellung jetzt korrekt auf. Zuvor wurde jeder bereitgestellte Filter auf die Einstellung Visibility: Catalog umgestellt. GitHub-36591
  • Die customer -Abfrage gibt jetzt ein product_sale_price -Feld zurück, das die Steuer auf Bestellungen enthält, wenn der Produktpreis so konfiguriert wurde, dass er die Steuer einbezieht. GitHub-36946
  • Produktattribute des Typs DateTime werden jetzt in Produktabfragen dem Filter FilterRangeTypeInput zugeordnet. Zuvor wurden diese Attribute FilterMatchTypeInput zugeordnet. Aufgrund dieser Änderung erfordern Abfragen, die nach DateTime -Attributen filtern, Werte vom Typ from und to anstelle von Übereinstimmungswerten.
  • Die customer-Abfrage gibt jetzt nur Kundenüberprüfungen zurück, die sich auf eine bestimmte Store-Ansicht beziehen, wie erwartet, wenn sie nach Store-ID gefiltert wird.
  • Die categories -Abfrage gibt keinen Fehler mehr zurück, wenn der items.redirect_code -Antwortwert einen Nullwert enthält. GitHub-36675
  • Die changeCustomerPassword-Mutation sendet nun wie erwartet eine E-Mail an Trigger, nachdem ein Passwort erfolgreich zurückgesetzt wurde.
  • urlResolver - und route -Abfragen geben jetzt ein Ergebnis zurück, wenn die Target Path der URL-Umschreibung eine absolute URL ist. Zuvor gab die urlResolver -Abfrage NULL zurück, wenn Sie damit Umleitungsdaten abrufen.
  • Die products -Abfrage gibt jetzt korrekte Bezeichnungen zurück. GitHub-29635
  • Die categoryList -Abfrage gibt jetzt einen ausgefüllten product -Abschnitt des options -Blocks für die untergeordneten Produkte von Bundle-Produkten wie erwartet zurück. Zuvor wurden keine Informationen zu untergeordneten Bundle-Produkten zurückgegeben.
  • Die route -Abfrage gibt jetzt Routen für Kategorien und Produkte erwartungsgemäß zurück, ohne dass ein interner Server-Fehler auftritt. GitHub-36544
  • Die products -Abfrage ruft jetzt url_key -Werte ab, wenn mehrere Kategorien ausgewählt sind.
  • products -Abfragen geben jetzt Aggregationen nur für Produkte zurück, die dem angegebenen freigegebenen Katalog zugewiesen sind.
  • Transaktionsnamen wurden zu New Relic GraphQL-Transaktionen hinzugefügt. GitHub-36874
  • Die Methode OptionValueProvider class get() gibt jetzt einen Attributoptionenwert basierend auf dem angegebenen option_id wie erwartet zurück. Zuvor wurde ein Fehler zurückgegeben. GitHub-35910
  • Die products -Abfrage gibt jetzt alle verfügbaren Aggregationen (Filter) und deren korrekt übersetzte Bezeichnungen zurück. Zuvor wurden die Aggregat-Bezeichnungen für Preise und Kategorien nicht erwartungsgemäß übersetzt. GitHub-36140
  • Sie können jetzt ein Fragment ProductCard verwenden, wenn Sie related_products, upsell_products und crossell_products auf ProductInterface abfragen. GitHub-29769
  • Die products-Abfrage gibt jetzt verwandte, Upsell- und Crosssell-Produkte in der Reihenfolge zurück, in der sie gespeichert wurden. GitHub-36461
  • GraphQL-Abfragen geben jetzt zusammengehörige Produktdaten zurück, sortiert nach Position. GitHub-33010
  • category_url_path wurde zu ProductAttributeFilterInput hinzugefügt, was die Anforderung aller Produkte für eine Kategorie in einer einzigen Abfrage unterstützt. GitHub-32460
  • Fehlerkorrektur - die Methode, mit der der aktuelle Store in einer GraphQL-Mutation festgelegt wird, wird nun korrekt ausgeführt, bevor die Methode, die die Validierung verarbeitet, ausgeführt wird. GitHub-31336

Bild

  • Das Upload-Formular für das Admin-Favicon-Symbol unterstützt jetzt .ico -Dateitypen. GitHub-34858

Import/Export

  • Der Produktimport-Prozess analysiert jetzt Werte mit dem richtigen Trennzeichen. Zuvor verwendete der Importprozess den senkrechten Strich ("|"), um Mehrfachauswahlwerte zu analysieren, bis das Trennzeichen für den ermittelten Wert nicht dem Standardwert entsprach. Der Importvorgang schlug anschließend fehl.
  • 301-Weiterleitungen werden jetzt automatisch erstellt, wenn URL Key -Werte durch den CSV-Import aktualisiert werden.
  • Die Versandtabellenraten werden jetzt wie erwartet in der CSV-Datei für den Tabellenratenimport aktualisiert. Die Datei zum Hochladen der Tabellenrate wird vorübergehend gespeichert, bis der Cron-Auftrag des asynchronen Konfigurationsprozesses ausgeführt wird. Dieser Cron-Auftrag nimmt den neuen Speicherort der Datei auf und verarbeitet ihn entsprechend. Zuvor wurden die Tabellenraten nicht wie erwartet aktualisiert, da der asynchrone Prozessor nach der Datei am falschen Speicherort suchte.
  • Das Raster "Dateien exportieren"zeigt jetzt alle exportierten Dateien unabhängig vom Zeitstempel an. Zuvor wurden im Raster nicht alle exportierten Dateien mit demselben Zeitstempel angezeigt. GitHub-36951
  • Produkte mit anpassbaren Optionen können jetzt erfolgreich importiert werden. Zuvor waren die Optionsdaten beim Import verloren. GitHub-37598
  • Sonderzeichen in exportierten CSV-Dateien werden jetzt wie erwartet in Excel dargestellt. GitHub-37921
  • Importieren von Lagerquellen und Kundenadressen mit dem Customers and Addresses (single file) -Option jetzt erfolgreich abgeschlossen.
  • Der Produktimport schlägt nicht mehr fehl, da kein Arbeitsspeicher vorhanden ist. Zuvor schlug der Import einer beliebigen Anzahl von Produkten in eine Datenbank, die bereits ca. zehn Millionen Produkte enthielt, aufgrund von Speichermangel fehl.
  • Validierungsprüfungen stoppen jetzt den Importvorgang wie erwartet, wenn keine zu importierenden Daten vorhanden sind. In Magento Open Source wird nun der folgende Fehler angezeigt: There are no valid rows to import. Zuvor wurde die Validierung unter diesen Bedingungen durchgeführt, aber der Importprozess schlug mit dieser Meldung fehl: entity values are mixed. GitHub-32905
  • Beim Importieren von URL-Schlüsseln mit demselben Produkt werden vorhandene standardmäßige Store-Ansichtsschlüssel nicht mehr überschrieben oder gelöscht. URL-Neuschreibungen werden jetzt nur dann für Store-Ansichten neu generiert, wenn kein überschriebener url_key -Wert vorhanden ist. Zuvor wurde beim Import von URL-Neuschreibungen mit demselben URL-Schlüssel der vorhandene Standard-URL-Schlüssel für die Store-Ansicht überschrieben. (key_store URL-Neuschreibungen wurden gelöscht, aber die URL-Neuschreibung auf der standardmäßigen Store-Ansichtsebene für das Produkt wurde dennoch auf key_store festgelegt.)
  • Die Produktanzahl ändert sich beim Import nicht mehr unerwartet. Die Cache-Leerung wird jetzt auf nach dem Importprozess verschoben.
  • Der Status geplanter Importaktionen zeigt nun den Erfolg oder Misserfolg des Importvorgangs genau an. Zuvor wurden alle Aktionen als erfolgreich protokolliert.
  • Magento Open Source berücksichtigt jetzt die Einstellung Disable Automatic Group Change Based on VAT ID beim Import von Kundendatensätzen. Zuvor wurde der Wert disable_auto_group_change in den Importdateien ignoriert. GitHub-36409
  • Magento\Framework\Convert\Excel verarbeitet jetzt erfolgreich Zahlen, denen ein Leerzeichen vorangestellt ist. Die Excel-XML kodiert Felder jetzt als String. Zuvor kodierte der Excel-Autor diese Werte als number, was zu ungültigen Dateien führte. GitHub-33422
  • Merchants können jetzt das Gebietsschema angeben, in dem Importdaten angezeigt werden, und wie Datenvalidatoren diese Daten analysieren sollen. Wenn kein Gebietsschemawert angegeben ist, verwendet Magento Open Source das standardmäßige Konfigurationsgebietsschema (nicht die standardmäßige Speicheransicht), um die Daten zu analysieren. In Admin verwenden Import- und Exportprozesse weiterhin das Gebietsschema der Admin-Benutzeroberfläche, um Daten zu importieren, zu analysieren und zu formatieren.
  • Beim Importieren von Produkten mit country_of_manufacture -Attributen, die von einem Admin-Benutzer mit einer anderen Gebietsschemaeinstellung als dem Admin-Benutzer erstellt wurden, der die Produkte importiert, wird kein Validierungsfehler mehr ausgegeben. Zuvor konnte dieser Importvorgang zu einem Validierungsfehler für das Attribut country_of_manufacture führen.
  • Exportierte Produkte haben jetzt den richtigen manage_stock -Wert, wenn der use_config_manage_stock -Wert gleich 1 ist. Zuvor war dieser Standardwert falsch.
  • Magento Open Source zeigt jetzt eine informative Fehlermeldung im Raster für den geplanten Import an, wenn ein Bild bei einem geplanten Import nicht erfolgreich importiert wurde. Zuvor wurde keine Fehlermeldung angezeigt.
  • Der Produktimport-Prozess wird nicht mehr unterbrochen, wenn Produktbilder fehlen. Wenn beim Import eines Dienstes eines Drittanbieters, der eine CSV-Datei verwendet, bisher ein Produktbild fehlte, wurde in Magento Open Source folgender Fehler angezeigt: Maximum error count has been reached or a system error is occurred!.
  • Beim Produktimport wird kein Validierungsfehler mehr ausgegeben, wenn ein Attributwert in der Spalte configurable_variations ein Komma enthält.
  • Die Dekodierung wurde vom Exportvorgang ausgeschlossen. Der Text der CSV-Exportdatei bleibt nach dem Import unverändert. Daher ändert sich die Beschreibung nach dem erneuten Import nicht. Zuvor wurden HTML-Tags nach dem Export und Import des Produkts im Seitenaufbau-Editor entfernt.
  • Nicht standardmäßige Konfigurationen (Website- oder Speicherbereich), die als Umgebungsvariablen hinzugefügt werden, unterbrechen den app:config:import-Prozess nicht mehr mit einem Rekursionsfehler.
  • Die Katalogsuche und Preisindizes im Modus Im Speichermodus aktualisieren werden nach dem Import nicht mehr ungültig gemacht. Zuvor wurde die Version der Elasticsearch-Indexer-Dokumentversion geändert, wenn neue und vorhandene Produkte importiert wurden.
  • Produktberichte werden jetzt in das Verzeichnis var exportiert. Zuvor wurden diese Berichte in den Basisordner des Dokuments exportiert, der in Cloud-Instanzen schreibgeschützt ist.
  • Leere Mehrfachauswahl-Felder für Kundenadressen unterbrechen oder stoppen den Exportvorgang nicht mehr.

Index

  • Verbesserte Leistung des catalogrule_product -Indexers, wenn keine Katalogregel festgelegt ist. GitHub-34784
  • Probleme mit der Preisindexerleistung wurden behoben. Die Indexerleistung verschlechtert sich nicht mehr schrittweise. Der Indexer wurde überarbeitet, um die Verarbeitungsgeschwindigkeit des Indexers zu erhöhen, indem die Erstellung temporärer Tabellen geändert wird. Diese temporären Tabellen werden jetzt neu erstellt, anstatt durch zeitaufwendigere DELETE-Anweisungen behoben zu werden.
  • Die Leistung des Preisindexers wurde verbessert. Dem Preisindexer wurde ein Indexhinweis hinzugefügt, der die Laufzeit von MySQL-Abfragen verbessert, die während der Indizierung ausgelöst werden.
  • Alle Indexer verwenden jetzt dieselben Farben, um den Indexstatus darzustellen. GitHub-34648
  • Die Leistung des Produktindexers für Katalogregeln in Bereitstellungen, in denen Regeln nicht allen Websites zugewiesen sind, wurde verbessert.
  • Wenn Sie einen benutzerdefinierten Produkttyp erstellen, wenn die Indexer auf Update on schedule gesetzt sind, schlägt die Aufgabe zum Aktualisieren des Index cron nicht mehr fehl. GitHub-36471
  • bin/magento indexer:reindex customer_grid schlägt nicht mehr mit einem MySQL-Fehler fehl, wenn das Kundenraster neu erstellte benutzerdefinierte Kundenattribute enthält. GitHub-36233
  • Beim Ändern des Indexermodus für mehrere Indexer (d. h. eine Änderung des Massenaktionsindexmodus) wird der Modus eines Indexers jetzt nur geändert, wenn sich der aktuelle Modus von dem angewendeten unterscheidet. Dies verbessert die Leistung, indem unnötige Zugriffe auf die Datenbank verhindert werden. GitHub-36823
  • Die Indizierung von Produkten mit vielen Attributoptionen wurde verbessert. GitHub-36386

Infrastruktur

  • Dem Controller zur Aktivierung der Admin-Verwendung wurde eine fehlende return -Anweisung hinzugefügt. Zuvor gab es keine return -Anweisung und der Controller in der FrontendController -Klasse wurde falsch verarbeitet. GitHub-31374
  • MySQL CREATE TEMPORARY TABLE ... LIKE wurde durch umgestaltetes CREATE TEMPORARY TABLE für die Einhaltung von MySQL 8.x ersetzt. GitHub-37926
  • Die Magento Open Source enthält nicht mehr den vollständigen Pfad zum Serverstamm in der Fehlermeldung, die angezeigt wird, wenn eine fehlerhafte HTTP-Anforderung an den Server gesendet wurde. Als zweites Argument werden jetzt nur Zeichenfolgen an die explode -Methode übergeben.
  • restricted_classes.php hat Zend_Validate_File_Upload ersetzt. Zuvor stürzte der Validator beim Hochladen einer Importdatei ab, die größer ist als der in php.ini konfigurierte Wert. GitHub-37281
  • Das E-Mail-Vorlagenmodul kann jetzt bestimmte verschachtelte Anweisungen korrekt verarbeiten (z. B. {{if}}{{depend}}...{{/depend}}{{/if}}). GitHub-36438
  • product -Abfragen mit Aggregationsdaten geben jetzt die richtigen Beschriftungswerte für boolesche Produktattribute zurück. GitHub-29123
  • Die ukrainischen Regionen wurden zur Tabelle directory_country_region hinzugefügt. GitHub-35187
  • CSS-Dateien sind nicht mehr beschädigt, wenn sie zusammengeführt werden, wenn sich var/tmp und pub/static in verschiedenen Dateisystemen befinden und CSS Merging Enabled aktiviert ist. Temporäre Dateien wurden im selben statischen Verzeichnis wie die Zieldatei erstellt, um sicherzustellen, dass sich beide Dateien im selben Dateisystem befinden. Daher ist der Aufruf zum Umbenennen atomisch. GitHub-29172
  • Fehlerkorrektur - Beim Aufrufen der Mitgliederfunktion getId() unter int tritt kein möglicher Fehler mehr auf, der gelegentlich eine Ausnahme ausgelöst hat, wenn ein Kunde in der Admin-Konsole angezeigt wurde.
  • Typprüfungen werden jetzt für den Array-Typ im Design-Design-Konfigurationsprozessor erzwungen. GitHub-34440

Inventory management

  • Produkte werden nun nach einem Kreditvermerk, der eine Rückgabe der Produktmenge enthält, automatisch wieder in den Lagerstatus zurückgeführt. Bisher mussten Händler den Status des Produktbestands manuell ändern, wenn ein Produkt nicht vorrätig war, aber ein Kreditmemo den Lagerbestand dieses Produkts zurückgab.
  • Die Leistung des Inventarindexers im asynchronen Modus wurde verbessert, indem redundante Anforderungen entfernt wurden, um Standardquellelemente neu zu indizieren.
  • Korrektur von Problemen mit dem Inventarindex, die sich auf die Genauigkeit der Lagerbestandsanzahl konfigurierbarer Produkte auswirkten. GitHub-36421
  • Die Aktualisierung von Inventarquellelementen über REST V1/inventory/source-items funktioniert jetzt schneller. Der Aufruf Trigger keinen Neuindizierungs- oder Clean-Cache-Vorgang mehr für unveränderte Inventarprodukte.
  • REST V1/products/<sku> Trigger jetzt bei der Aktualisierung des Lagerstatus eines Produkts eine automatisierte Bestandsneuindizierung. Zuvor wurde für das Produkt, das aktualisiert wurde, keine Neuindizierung des Lagers ausgelöst.
  • Der konfigurierbare Status des Produktbestands wird jetzt auf der Storefront wie erwartet aktualisiert, wenn untergeordnete Produkte um V1/inventory/source-items aktualisiert werden.
  • Der REST-Aufruf POST <store_code>/V1/inventory/source-items validiert jetzt die Payload für Leerzeichen in den zurückgegebenen Inventarquellelementen und sendet nach Bedarf eine Fehlermeldung über die Validierung.
  • Händler können jetzt Kunden darüber informieren, dass eine Bestellung zur Übernahme bereit ist, wenn die Einstellung No Manage Stock für ein Produkt aktiviert ist. Bisher wurde bei Aktivierung dieser Einstellung in Magento Open Source folgende Fehlermeldung angezeigt: Your order is not ready for pickup.
  • Händler können jetzt ein Kreditmemo für Bestellungen erstellen, aus denen ein einfaches Produkt, das mit einem konfigurierbaren Produkt verknüpft ist, gelöscht wurde. Bisher konnten Händler das Kreditmemo nicht erstellen und Magento Open Source warf eine TypeError -Ausnahme zu.
  • Die Quell-Anzahl der Admin-Raster gibt jetzt gültige Datensätze zurück, nachdem ein Filter angewendet wurde. Zuvor gab die Methode getSourcesCount immer die Gesamtanzahl der Quellen zurück, nachdem ein Filter angewendet wurde.
  • Die Seite Kategorie führt keine Umleitungen mehr zum Admin-Dashboard aus, wenn Sie Produkte mit der Option "Von Lager zu Ende verschieben"sortieren. Das Problem wurde behoben, indem die SQL-Join-Anweisung erst in die bedingte Anweisung eingefügt wurde, nachdem sichergestellt wurde, dass sie bereits nicht enthalten ist. Zuvor wurde die Seite mit der MeldungInvalid security or form key. Please refresh the page zum Admin-Dashboard umgeleitet.
  • AUTO_INCREMENT der Tabelle inventory_source_item wird bei jedem UPDATE-Vorgang nicht mehr erhöht. Zuvor wurde bei jeder Aktualisierung der Wert AUTO_INCREMENT dieser Tabelle erhöht, was dazu führte, dass der Wert AUTO_INCREMENT beim Hinzufügen eines neuen Datensatzes zu den inventory_source_item table nicht mehr im Bereich lag. Daher erhielten Admin-Benutzer den folgenden Fehler, als sie versuchten, ein neues Produkt aus dem Admin zu erstellen: Numeric value out of range....
  • Admin-Benutzer können jetzt über den Admin ein Produkt zu einem Kundenwagen für einen bestimmten Umfang der Store-Ansicht mit Inventory management hinzufügen. Zuvor wurde die Bestand-ID nicht ordnungsgemäß ermittelt und Admin-Benutzer konnten das Produkt nicht zum KundenWarenkorb hinzufügen.
  • Die Synchronisierung zwischen Bestand und Katalog beruht nicht mehr auf der Konfigurationseinstellung Synchronize with Catalog . Zuvor wurden Produkte nur dann ordnungsgemäß synchronisiert, wenn diese Einstellung aktiviert war.
  • Magento Open Source gibt nach dem Neuladen der Seite keinen Fehler mehr aus, wenn ein Käufer eine Produktmenge von einer Bestellung abzieht, die innerhalb der Produktpalette liegt, die bei Auswahl der Versandquelle verfügbar ist.
  • Der konfigurierbare Status des Produktbestands wird jetzt ordnungsgemäß aktualisiert, wenn ein konfigurierbares Produkt und dessen untergeordneter Produktwert Stock Availability durch eine gebündelte Bestandsaktualisierung aktualisiert werden. Zuvor war es nicht möglich, ein konfigurierbares Produkt und dessen untergeordnete Produkte per Massenaktualisierung wieder auf Lager zu bringen.
  • Der Datentyp für nicht standardmäßige Quellen wurde auf DECIMAL (12, 4) aktualisiert, um bis zu acht ganzzahlige Ziffern zu unterstützen. Hierbei handelt es sich um dieselbe Grenze, die für Standardlager implementiert ist. Dieser Wert wird jetzt mit den Admin-Produktseiten zum Hinzufügen und Bearbeiten synchronisiert, die die Eingabevalidierung für bis zu acht Stellen für alle Arten von Inventarquellen unterstützen. Zuvor wurde die Eingabe für das Feld Quantity (für nicht standardmäßige Quellen) nur bis zu sechs Stellen unterstützt.
  • Sowohl standardmäßige als auch nicht standardmäßige Quellen zeigen jetzt die richtigen Informationen für die verkaufbare Produktmenge an, wenn eine nicht standardmäßige Quelle, die aus der Storefront bestellt wurde, für den Versand verarbeitet wird. Zuvor wurde in Magento Open Source ein falscher Lagerstatus für Produktquellen angezeigt.
  • \Magento\Catalog\Model\Product::getIsSalable() gibt nun den Aktienstatus basierend auf dem im Produktobjekt (\Magento\Catalog\Model\Product::getStoreId()) definierten Umfang zurück. Zuvor gab getIsSalable() den Lagerstatus basierend auf dem aktuellen Umfang unabhängig vom Produktobjekt zurück.

Protokollierung

  • Administratoren können jetzt die Protokolle für Massenaktionen sehen, die von Integrationen im Abschnitt "Massenaktionsprotokoll"des Administrators erstellt werden.

Anmelden

  • Das Zurücksetzen eines Kennworts in einem Browser und die anschließende Anmeldung über einen anderen Browser führen nicht mehr zu einer Ausnahme. GitHub-36447
  • Kunden werden nun wie erwartet zur Anmeldeseite weitergeleitet, nachdem sie ein Konto aktiviert haben. Zuvor wurden Kunden automatisch angemeldet.

Newsletter

  • Commerce prüft jetzt, ob die Newsletter-Abonnementfunktion aktiviert ist, bevor neue Abonnenten für einen Newsletter akzeptiert werden. GitHub-33040

Bestellungen

  • Produkte, die aus dem Admin-Warenkorb in die Liste der zu bestellenden Artikel verschoben wurden, werden nun wie erwartet aus dem Warenkorb gelöscht. GitHub-37538
  • Händler können jetzt Kreditkarten erstellen, wie es für die teilweise Rückgabe von Bestellungen erwartet wird, die teilweise durch Bonuspunkte bezahlt wurden. Zuvor wurde der Auftragsstatus fälschlicherweise als geschlossen identifiziert, als ein Händler eine partielle Rückgabe erstellte, und auf der Seite "Admin-Bestellung"wurden keine Kreditkartenoptionen angezeigt.
  • Magento Open Source wendet nun den richtigen Rabattbetrag auf teilweise stornierte Bestellungen an. Zuvor wurde der in der Spalte base_discount_cancelled berechnete Rabattbetrag bei Änderung einer Bestellung falsch berechnet. Die Rechnungen für diskontierte Bestellungen wurden um eine Unterstützung für negative Werte ergänzt.
  • Magento Open Source sortiert jetzt benutzerdefinierte Kundenadressattribute basierend auf der Sortierreihenfolge, die beim Erstellen der Bestellung durch den Admin-Benutzer in der Admin-Konsole angegeben wurde.
  • Die Seite "Admin Sales Order Grid"wird jetzt erwartungsgemäß geladen, wenn ein Händler eine Suche von dieser Seite aus startet. Zuvor, als ein Händler versuchte, Bestellungen aus dieser Tabelle zu durchsuchen, fror die Seite ein und die Magento Open Source zeigte in der Browserkonsole einen Fehler vom Typ "Request-URI Too Long".
  • Die Leistung der OrderRepository::get() -Methode wurde verbessert, indem die Anzahl der Bestellungen aus der Datenbank reduziert wurde. Zuvor hat diese Methode eine Bestellung mehrmals geladen. GitHub-36636
  • Händler können jetzt Kreditkarten für Bestellungen generieren, die einige Artikel mit einer Gesamtsumme von null enthalten, wenn andere Bestellartikel zur Rückerstattung verfügbar sind. Bisher konnten Händler nicht mehrere Erstattungen vornehmen, wenn ein Kunde einen 100 % Rabatt auf einige Artikel in der Bestellung hatte.
  • Links zwischen untergeordneten und übergeordneten Produkten werden jetzt bei der Neuanordnung des untergeordneten Produkts vom Administrator auf der Bestellseite angezeigt. GitHub-37028
  • Die Emulation beginnt jetzt bei send() -Aufrufen, sobald die Emulation während des getInfoBlockHtml() -Aufrufs abgeschlossen ist und kein Fehler protokolliert wird. Zuvor wurde die Datei system.log mit dem folgenden Fehler überflutet: main.ERROR: Environment emulation nesting is not allowed. GitHub-35603
  • Händler können jetzt Kreditkarten für Bestellungen generieren, die einige Artikel mit einer Gesamtsumme von null enthalten, wenn andere Bestellartikel zur Rückerstattung verfügbar sind. Bisher konnten Händler nicht mehrere Erstattungen vornehmen, wenn ein Kunde einen 100 % Rabatt auf einige Artikel in der Bestellung hatte.
  • Links zwischen untergeordneten und übergeordneten Produkten werden jetzt bei der Neuanordnung des untergeordneten Produkts vom Administrator auf der Bestellseite angezeigt. GitHub-37028
  • Der Header-Abschnitt der Bestellseite enthält jetzt die erwarteten Informationen zur gesendeten Rechnung, zum Kreditmemo und zum Versand. GitHub-27474
  • Kreditkarten für Bestellungen, die nur ein konfigurierbares Produkt enthalten, werden jetzt korrekt generiert. Zuvor gab die Funktion isLast() true nicht wie erwartet zurück. GitHub-36722
  • Verbesserte Leistung des aggregate_sales_report_bestsellers_data-Cron-Auftrags durch Optimierung der Hauptdatenabfrage.
  • Der Bestellstatus ist nun korrekt, wenn eine teilweise Rückerstattung für eine Bestellung vorgenommen wurde, die Bundle-Produkte enthält. Zuvor wurde der Auftragsstatus nach einer teilweisen Rückerstattung als vollständig eingestuft, obwohl die verbleibende Bestellung noch nicht abgeschlossen war. GitHub-37377
  • Käufer können ein Produkt nicht mehr mit einem benutzerdefinierten Preis bestellen, wenn eine Bestellung vom Administrator unter Verwendung des einmaligen benutzerspezifischen Preises zuerst generiert wird. Wenn zuvor eine Bestellung einen Artikel mit benutzerdefinierten Preisen enthielt, wurde dieser benutzerdefinierte Preis für andere Bestellungen mit der Funktion "Neu bestellen"angewendet.
  • Käufer können auf der Bestellseite keine falschen Bestellstatus mehr speichern. Der Bestellstatus wird beim Versand eines Artikels nicht mehr von Fertig stellen auf Verarbeitung geändert. Zuvor prüfte Magento Open Source den aktuellen Bestellstatus nicht vor dem Speichern des Bestellstatus, nachdem ein Käufer einen Kommentar eingegeben hatte. GitHub-36562
  • Das Raster "Verkaufsaufträge"wird jetzt asynchron mit allen Bestellungen wie erwartet synchronisiert. GitHub-36562
  • Die Funktion "Nach Kaufdatum filtern"im Abschnitt "Kundenaufträge"der Bestellseite funktioniert jetzt erwartungsgemäß. Zuvor trat ein JavaScript-Fehler auf, wenn die Zeitzonenkonvertierungslogik einen Fehler auslöste, wenn dieselbe Zeitzone für die Methode bereitgestellt wurde.
  • Das Admin-Dashboard zeigt jetzt die richtigen Bestellungsstatistiken beim ersten Laden an. Zuvor wurden im Dashboard falsche Bestellinformationen angezeigt, aber nach der Aktualisierung des Zeitraums wurden die korrekten Informationen angezeigt.
  • Admin-Benutzer werden jetzt wie erwartet zur Bestellseite weitergeleitet, nachdem sie beim Erstellen neuer Bestellungen vom Administrator eine Store-Ansicht ausgewählt haben.
  • Der GET V1/orders/<OrderID> -Endpunkt gibt jetzt Informationen zu den konfigurierbaren und einfachen Produkten in der Reihenfolge zurück, unabhängig vom Lagerstatus der einfachen Produkte. Administratoren können jetzt nur noch Bestellungen aufgeben, wenn die ausgewählten Artikel (Produkte) vorrätig sind oder verkauft werden können. Zuvor gab diese API nur Informationen zu den Produkten zurück, die sich auf Lager befanden.
  • Die Credit Memo-Seite stürzt nicht mehr ab, wenn der kostenlose Versand aktiviert ist, wenn der Versandpreis Steuern enthält und Steuerberechnungen nach Rabatten durchgeführt werden. Zuvor hatte Magento Open Source eine Division by zero -Ausnahme ausgelöst. GitHub-36800
  • Die Verwendung des Endpunkts rest/V1/orders/{id}/comments zum Posten eines Kommentars zu einer Bestellung ohne Angabe des Bestellstatus wirkt sich nicht mehr auf die Anzeige der Bestellung aus. Zuvor wurde der Bestellstatus in den Tabellen sales_order und sales_order_grid als NULL protokolliert, und weder auf der Seite "Meine Bestellungen"noch im Raster "Admin-Reihenfolge"wurde die Bestellung angezeigt. GitHub-34180

Page Builder

  • Bei Bildern wird jetzt das richtige Seitenverhältnis beibehalten, wenn die Größe im Seitenaufbau geändert wird. GitHub-37493
  • Der Seitenaufbau zeigt jetzt bei Bedarf Fehlermeldungen an, wenn Sie versuchen, ein Bild hochzuladen, das die angegebene maximale Dateigröße überschreitet. Zuvor zeigte Commerce eine Popup-Warnmeldung für hochgeladene Bilddateien an, die kleiner als das angegebene Maximum waren.
  • CMS-Seiten-Produktregler enthalten jetzt die übergeordneten Produkte aller untergeordneten Produkte, die zur Aufnahme in den Regler ausgewählt wurden. Zuvor wurden übergeordnete Produkte aus dem Schieberegler ausgeschlossen.
  • HTML-konvertierte Inhalte werden jetzt wie erwartet in E-Mail-Vorlagen angezeigt, wenn das Modul Magento_AsyncConfig deaktiviert ist. Zuvor enthielten E-Mail-Vorlagen nur Rohdaten-HTML.
  • Die Leistung von Seitenaufbau-Speichervorgängen im Chrome-Browser wurde verbessert.
  • Durch das Hinzufügen eines Produkts zu einem Warenkorb aus dem Page Builder-Karussell wird die Artikelmenge nicht mehr von Seiten mit zwei verschiedenen Widgets dupliziert, die dieselben Produkte anzeigen.
  • Der Seitenaufbau fügt das Attribut tabindex HTML nicht mehr zu Hyperlink-Tags a hinzu, wenn Sie einen Hyperlink bearbeiten und dann eine Vorlage speichern.
  • Das Produkt-Widget und die Vorschau des Seitenaufbaus verarbeiten jetzt HTML-Sonderzeichen ordnungsgemäß. Zuvor zeigte das Produkt-Widget SKUs mit dem Zeichen & nicht korrekt an.
  • Der Inhalt des Textelements von Page Builder wird jetzt erwartungsgemäß aktualisiert, wenn Sie den gesamten Inhaltsbaustein im Vorschaumodus auswählen und aktualisieren.
  • Das Kopieren und Einfügen von Text aus einem Seitenaufbau-Texteditor in einen anderen funktioniert jetzt erwartungsgemäß. Zuvor konnte die Seite, auf die Sie Text einfügen wollten, nicht gespeichert werden, und in der Magento Open Source wurde dieser Konsolenfehler angezeigt: [ERROR] Page Builder was rendering for 5 seconds without releasing locks..
  • Der in älteren Versionen von Page Builder erstellte Inhaltstyp column-block wird jetzt korrekt angezeigt.
  • Die Filterung der Produktmetadaten-Beschreibung während der Produkterstellung durch den Administrator wurde verbessert. Bisher wurde bei aktiviertem Page Builder die Beschreibung der Produktmetadaten basierend auf der Standardmaske {{name}} {{description}} generiert. Die standardmäßige Meta-Beschreibungsmaske des Produkts besteht jetzt aus {{name}}. GitHub-36107
  • Beim Hinzufügen eines dynamischen Blocks ohne Inhalt wird kein Fehler mehr Trigger.
  • Probleme mit der Anzeige von Spalten im Seitenaufbau-Inhalt wurden behoben. Zuvor wurde Inhalt vom Typ column-line nicht gerendert. GitHub-3949

Zahlung

  • Magento Open Source behandelt jetzt korrekt 502-Fehler von PayPal, indem es die Auftragserstellung verhindert, wenn dieser Fehler auftritt. Zuvor wurden Bestellungen trotz eines 502-Fehlers von PayPal noch erstellt, was zu Inkonsistenzen zwischen den Datensätzen der Magento Open Source und den von PayPal führte.
  • PayPal Express Checkout-Transaktionen beinhalten jetzt untergeordnete Produkt-SKUs und vollständige Produktnamen. Die Datei "Magento/Paypal/Model/Cart.php"erfasst jetzt untergeordnete Produkt-SKUs mit ihrem übergeordneten Produktnamen, um den Produktnamen mit der untergeordneten SKU zu identifizieren. GitHub-36808
  • Die Konfigurationseinstellung Card Security Code Does Not Match wird jetzt während des Zahlungsvorgangs von Payflow Pro erwartungsgemäß verarbeitet. Zuvor war dieser Bewertungsprozess noch nie abgeschlossen, was den Checkout blockierte.
  • Die Option Vault-Zahlungsmethode wird nicht mehr im Admin-Checkout-Workflow angezeigt, wenn der Käufer über kein Vault-Token verfügt. GitHub-36273
  • Die Schaltfläche Venmo kann jetzt ausgeblendet werden, wenn die Schaltflächen "PayPal"aktiviert sind. Zuvor konnte die Schaltfläche Venmo nicht aus dem Warenkorb, dem Mini-Warenkorb, den Produktdetails oder den Checkout-Seiten entfernt werden.
  • Käufer können jetzt eine Versandmethode auswählen, während sie während des Checkouts Couponcode anwenden. Zuvor hatte Magento Open Source unter diesen Bedingungen einen Fehler ausgegeben und der Bestellung eine pauschale Versandrate zugewiesen.
  • Probleme mit der Storefront-Verarbeitung der Zahlungsmethoden von PayPal und PayPal wurden behoben.
  • Es wurden Probleme mit Fallback-URLs für Bestellungen behoben, die von Ideal-Zahlungen bezahlt wurden, wenn die lokale Zahlung aktiviert ist.
  • Käufer können keine PayPal-Bestellung mehr erstellen, ohne einen Nachnamen hinzuzufügen.

Braintree

  • Braintree-Zahlungsinformationen werden jetzt pro Geschäft gespeichert, und die Käufer sehen jetzt nur noch Karteninformationen, die in dem Laden gespeichert wurden, in dem sie einkaufen. Bisher konnten Käufer gespeicherte Karteninformationen aus allen Geschäften beim Checkout sehen. GitHub-34253
  • Käufer können jetzt eine Bestellung, die an mehrere Adressen versandt wird, mithilfe einer Braintree-Zahlungsmethode auschecken, wenn die Vault für Kartenzahlungen deaktiviert ist. GitHub-37615
  • Teilfakturierte Bestellungen werden nun wie erwartet in Implementierungen erfasst, in denen Händler über zwei verschiedene Händlerkonto-IDs für dieselbe Braintree-Währung verfügen.
  • Bei der Erstellung einer zweiten Teilrechnung für eine Bestellung, für die Braintree bezahlt hat, löst die Magento Open Source bei Aktivierung von Enable Vault for Card Payments keinen Fehler mehr aus. Zuvor, als ein Händler versuchte, eine zweite Rechnung zu erstellen, gab Magento Open Source den folgenden Fehler aus: Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid.
  • Die Option Braintree Vault-Zahlungsmethode wird im Checkout-Workflow nicht mehr automatisch deaktiviert, wenn ein Käufer seine Rechnungsadresse aktualisiert. Zuvor war die Zahlungsmethode deaktiviert, als der Käufer die Schaltfläche My billing and shipping address are the same deaktiviert hatte.
  • Behebung von Problemen beim Auschecken mit PayPal über Braintree nach der Aktualisierung von Adobe Commerce 2.4.5-p2. GitHub-37242
  • Telefonnummern werden jetzt erwartungsgemäß mit Adressen in den Versandadressen der Google Pay Modal-Popup-Adresse angezeigt. Zuvor fehlten Telefonnummern.
  • Bestellungen werden jetzt erfolgreich mit Braintree platziert, wenn die Braintree-Antwort einen leeren Wert für threeDSecureInfo/eciFlag enthält. Zuvor kam es beim Checkout zu einem PHP-Fehler, wenn dieser Wert leer war.
  • Magento Open Source gibt keinen Fehler mehr aus, wenn ein Käufer beim Checkout mit Google Pay aus dem Mini-Warenkorb einen Gutschein auf der Bestellüberprüfungsseite anwendet. Zuvor wurden Käufer auf eine 404-Seite umgeleitet.
  • Käufer können jetzt mit Braintree Payments und Magento Open Source 2.4.6 mit unsichtbarem ReCAPTCHA v2 oder v3 den Kassengang abschließen. GitHub-37241
  • Käufer können nicht mehr auf die Schaltfläche PayPal klicken, um ein konfigurierbares Produkt zu erwerben, ohne zuvor die erforderlichen Optionen auszuwählen. Bisher konnten Käufer auf die Schaltfläche PayPal klicken und wurden anschließend mit einem Fehler zur Produktseite zurückgeleitet:
  • Die Schaltfläche PayPal wird nun wie erwartet auf den Warenkorb- und Mini-Warenkorbseiten angezeigt. Zuvor wurde diese Schaltfläche nicht auf der Warenkorbseite angezeigt und auf der Mini-Warenkorbseite dupliziert.

Leistung

  • Durch mehrere Klicks im Dropdownmenü für Massenaktionen der Seite Verkauf > Bestellungen werden nicht mehr mehrere POST-Anforderungen generiert. GitHub-37997
  • Nur 200 - oder 404 -Antworten werden zwischengespeichert, wenn ein Käufer zu einer Seite navigiert, auf die eine 301-Umleitung Trigger wird, es sei denn, der Cache-Control-Header der Seite enthält private . Zuvor wurde ein HTTP-Status 200 mit private im Cache-Control-Header zwischengespeichert und ein HTTP-Status 301 wurde zwischengespeichert, es sei denn, er enthielt private in seinem Cache-Control-Header. GitHub-36492
  • Der nicht verwendete Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper wurde aus Magento\Catalog\Model\ProductRepository entfernt. Zuvor hat ProductRepository diesen Helfer geladen, der ein Adminhtml Controller ist. GitHub-37864
  • Die Leistung beim Laden von Seiten wurde verbessert, wenn gebündelte Produkte mit vielen Optionen ausgestattet werden. GitHub-29409
  • Der Prozess der Zuweisung von Produkten zu Kategorien über den Tab Products in Category wurde optimiert. Die Schaltflächen Assign und Remove auf der Registerkarte Add Product by SKU sind jetzt deaktiviert, bis Produkte vollständig in das Raster geladen sind. Bisher konnten Admin-Benutzer keine Produkte nach SKU in Katalogen hinzufügen, die Millionen registrierter Produkte enthielten.
  • Die Leistung der addProductToCart-Mutation bei der Ausführung mit vielen benutzerdefinierten Produktattributen wurde verbessert. Zuvor, als diese Mutation mit vielen Produktattributen ( ca. 1000) ausgeführt wurde, versuchte Magento Open Source, alle Produktattribute zu laden.
  • Leistungsprobleme beim Laden von Produktattributen, die von Warenkorbregeln verwendet werden, wurden behoben. Jetzt werden nur Produktattribute für aktive Warenkorbregeln geladen.
  • Der Befehl bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml wird jetzt erfolgreich ausgeführt, wenn er mehrmals ausgeführt wird. Zuvor wurde dieser Fehler ausgegeben, wenn er mehr als einmal ausgeführt wurde: Coupon with the same code already exists.

Promotion

  • Die Auswirkungen der Fixed amount discount for whole cart -Preisregel werden bei Anwendung der Apply to shipping amount -Regel jetzt proportional zwischen Produkten und Versandmengen verteilt. Zuvor waren die Rabattberechnungen falsch.
  • Die Einstellung Discard Subsequent Rules wird jetzt erwartungsgemäß angewendet. Wenn diese Einstellung aktiviert ist, können andere Regeln mit niedriger Priorität nur auf ein anderes Produkt angewendet werden. GitHub-35707

reCAPTCHA

  • Das unsichtbare reCAPTCHA v3 funktioniert jetzt wie erwartet für die Schaltfläche der Checkout-Seite Sign in . Bisher konnten sich Käufer nicht anmelden und Commerce hatte JavaScript-Fehler ausgegeben.
  • Die Google reCAPTCHA im Checkout-Workflow funktioniert jetzt wie erwartet für Schecks, Geldbestellungen und benutzerdefinierte Zahlungsmethoden.
  • Adobe Commerce forms können nicht mehr gesendet werden, bevor das Kontrollkästchen Google ReCAPTCHA geladen wird.
  • Das reCAPTCHA-Widget steht auf der Zahlungsseite jetzt vor der Schaltfläche Place Order . Zuvor wurde das Widget oben auf der Seite angezeigt.

Berichte

  • Der Bestellbericht (REPORTS > Sales > Orders) enthält jetzt die richtigen Bestellwerte, wenn Bestellungen von Geschäften generiert werden, die nicht standardmäßige Währungen verwenden. Zuvor enthielt dieser Bericht falsche Werte. GitHub-36742
  • Irreführende Informationen im Bestellformular wurden überarbeitet, um Klarheit zu schaffen.
  • Admin-Benutzer können jetzt auf der Seite "Bericht zu abgebrochenen Warenkörben"nach Datensätzen mit E-Mails suchen, die + (Plus)-Zeichen enthalten. GitHub-36560

Suche search-heading

  • Die Suchvorschläge für die automatische Vervollständigung im Minisuchfrontend der Kopfzeile funktionieren jetzt erwartungsgemäß. Bisher wurde dieses Feld durch die automatische Vervollständigung nicht ausgefüllt, wenn diese Funktion aktiviert war. GitHub-37557
  • Die Leistung von Abfragen über die Admin-Suchleiste wurde durch Hinzufügen eines Indexers verbessert. Zuvor war die Dauer der Abfrage umso länger, je größer die Tabelle search_query war.
  • Die alphabetische Sortierung von Produkten nach Namen funktioniert nun bei Namen, die türkische Zeichen enthalten, korrekt.
  • Die Eigenschaft des Produktattributs Use in Search Results Layered Navigation wird jetzt nur angezeigt, wenn die Einstellung Use in Search auf Yes gesetzt ist.
  • Die erweiterten Suchpreise und SKU-Filter funktionieren jetzt ordnungsgemäß, wenn sie in einer erweiterten Suche zusammen angewendet werden. GitHub-37581
  • Für leere Suchfelder werden keine Suchvorgänge mehr durchgeführt. Dadurch wird die Größe der Tabelle search_query verringert. Zuvor wurde bei falschen Abfragen oder Abfragen über leere Suchfelder ein großer Datensatz zurückgegeben, was die Größe der search_query -Tabelle vergrößerte und zu Problemen mit /tmp führte.
  • Storefront-Filter funktionieren jetzt wie erwartet, wenn Katalogeinträge mit Dropdown-benutzerdefinierten Attributen sortiert werden.
  • Suchergebnisse zeigen nun relevante Ergebnisse basierend auf der Suchgewichtung der Attribute wie erwartet an.
  • Informativer Text unter dem Eingabefeld Storefront Properties des Attributs Search Weight unter Admin Stores > Attributes > Product beschreibt jetzt mögliche Werte. GitHub-36646

Versand

  • Regeln zu Warenkorbpreisen funktionieren jetzt erwartungsgemäß, wenn ein Bundle-Produkt zum Warenkorb hinzugefügt wird, wenn dynamische Preisattribute deaktiviert sind. Der kostenlose Versand und die korrekte Tabellenrate werden unabhängig davon angewendet, ob das dynamische Attribut aktiviert oder deaktiviert ist. Zuvor wurde der kostenlose Versand nicht wie erwartet angewendet.
  • Die Magento Open Source wechselt nun wie erwartet zu einer neuen Versandseite, nachdem sie eine Teillieferung für eine Bestellung erstellt hat. Zuvor hat die Magento Open Source nach der Erstellung eines Teilversands keine komplette Versandseite für die übrigen Produkte der Bestellung erstellt. GitHub-38063
  • Der Gesamtbetrag für den Versand einer Bestellung an mehrere Adressen wird nun korrekt berechnet. Wenn zuvor ein Angebot mehr als eine Versandadresse enthielt, aktualisierte der Gesamtsammler den Versandbetrag für die in $quote->getShippingAddress() angegebene Adresse, anstatt ihn wie erwartet durch $shippingAssignment weiterzugeben. GitHub-37283
  • Magento Open Source löst beim Checkout mit mehreren Versandadressen keine Ausnahme mehr aus, wenn der Administrator die Anmeldung als Kundenfunktion verwendet hat.
  • Produkte werden jetzt korrekt im Raster Produkte der Seite Pakete erstellen aufgeführt, wenn Sie Produkte zu einem Paket hinzufügen, nachdem die Versandbeschriftung erstellt wurde.
  • Die cart -Abfrage gibt jetzt diskrete Versandrabatte als separate Versandrabatte mit eindeutigen Rabattbeschriftungen zurück. Die neue Discount-Eigenschaft applied_to unterstützt die Differenzierung zwischen Rabatten, die auf einen Warenkorbartikel angewendet werden. Zuvor wurden alle Lieferrabatte in einen fest programmierten Shipping Discount -Wert zusammengefasst.
  • Wenn ein Admin-Benutzer eine Neubestellung erstellt, füllen die Abrechnungs- und Versandadressen aus der ursprünglichen Bestellung automatisch die entsprechenden Felder aus, wenn der Admin-Benutzer auf die Schaltfläche Reorder klickt (Admin Sales > Orders > View ). Wenn dieselben Adressen im Adressbuch des Kunden gespeichert sind, enthält die Neubestellung stets eine aktualisierte Version dieser Adressen. Zuvor war das Feld für die Versandadresse mit den aktualisierten Daten vorausgefüllt, das Feld für die Abrechnungsadresse jedoch nicht.
  • Das Textfeld Shipping Policy ist jetzt im Bereich "Admin Store-Ansicht"sichtbar, wenn Apply custom Shipping Policy aktiviert ist und eine benutzerdefinierte Versandrichtlinie verfügbar ist. GitHub-36425
  • Die cart -Abfrage gibt jetzt einen selected_shipping_method -Wert zurück, der mit einem der available_shipping_methods -Träger- und Methodencodes übereinstimmt. Wenn zuvor eine der ausgewählten Versandmethoden einen Unterstrich enthielt, wurden diese Träger-/Methodencodes nicht richtig zugeordnet. GitHub-36606
  • Die Mutation setShippingAddressesOnCart gibt keinen Fehler mehr aus, wenn der zweite Wert im Straße-Array null ist. Zuvor wurde diese Ausnahme ausgelöst: The address failed to save. Verify the address and try again. GitHub-35160

Sitemap

  • Die XML-Sitemap funktioniert jetzt wie erwartet in einer mehrstöckigen Implementierung. Zuvor enthielten die Sitemaps nicht die zugewiesenen Standardseiten für jeden Store. GitHub-35001
  • Händler können jetzt ein Produkt erstellen und speichern, wenn Website id != 1 und Einzelspeichermodus aktiviert sind. Zuvor schlug die Speicheraktion mit dieser Meldung fehl: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails. GitHub-35009

Steuern

  • Rechnungen zeigen jetzt die richtige Zwischensumme an, wenn Steuern konfiguriert und FPT aktiviert ist.
  • Magento Open Source zeigt jetzt den richtigen Wert für den Regular Price -Wert an, wenn eine benutzerdefinierte Option für ein Produkt ausgewählt wird, das einen Special Price -Wert hat, wenn Price Display Settings so eingestellt ist, dass es "tax"enthält.
  • Die Steuer ist jetzt wie erwartet im Versandpreis des Checkout-Workflows enthalten, wie in den Konfigurationseinstellungen angegeben.
  • Der Antwortwert der cart Abfrage applied_taxes enthält jetzt alle Steuerregeln wie erwartet. Zuvor wurde der Gesamtsteuerwert zurückgegeben, wenn mehrere Steuerregeln konfiguriert wurden.
  • Das Symbol zum Reduzieren/Erweitern für den Abschnitt Additional Settings während der Erstellung von Steuerregeln funktioniert jetzt erwartungsgemäß. Zuvor funktionierte nur das Symbol zum Erweitern. GitHub-37922
  • Sie können jetzt den Wert von "Tax Rate Country"und "Region"auf der Bearbeitungsseite "Tax Rule"wie erwartet bearbeiten. Zuvor wurden auf dieser Seite vorgenommene Änderungen nicht gespeichert.
  • Der Steuerbetrag im Bereich für die Schätzung des Warenkorbs wird jetzt bei der Aktualisierung der Versandmethode erwartungsgemäß aktualisiert. Zuvor wurde der Steuersatz nicht aktualisiert, nachdem ein Käufer während des Checkout das Land gewechselt hatte.
  • Der tax class -Wert für neu erstellte einfache Produkte wird jetzt beim Erstellen neuer Varianten eines vorhandenen konfigurierbaren Produkts im Bereich "Store View"auf den Wert des übergeordneten Produkts gesetzt. Zuvor war dieser Wert auf "none"festgelegt. Infolgedessen wurden diese Produkte im Warenkorb nicht mit Steuern belastet, und die Kunden wurden zu wenig besteuert. GitHub-37180

Test

  • Der AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders-Test wurde verbessert, um Fehler zu beseitigen, die durch vorzeitiges Ausfüllen des E-Mail-Felds verursacht wurden.
  • StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest wurde überarbeitet, um die Zuverlässigkeit zu verbessern. GitHub-38359
  • Korrektur des AdminSimpleProductwithTextandVisualSwatch -Tests durch Einführung eines zusätzlichen Schritts, der explizit die Attribute festlegt, die bei der Suche verwendet werden sollen.
  • Fehlerkorrektur - Der Typo im SortbyTest-Komponententest wurde korrigiert. GitHub-37792
  • Verweise auf nicht vorhandene Klassen in Komponententests wurden entfernt. GitHub-37636
  • Der AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders-Test wurde verbessert, um Fehler zu beseitigen, die durch vorzeitiges Ausfüllen des E-Mail-Felds verursacht wurden.
  • Der Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId-Test wurde überarbeitet, um eine zufällige Kategoriereihenfolge in products Abfrageantworten zu verarbeiten.
  • \Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrity test überprüft nun alle PHP-Klassen von Modulen, die von ComponentRegistrar() registriert wurden.
  • Leistungsprobleme mit großen Arrays in TableNameSniff wurden behoben.
  • CollectionTest::testGetDateRangeFirstPart() berücksichtigt jetzt die Sommerzeit.

UI-Framework

  • Das Attribut crossorigin wurde linkTypes für HEAD -Elemente hinzugefügt.GitHub-32509
  • Der Bild-Uploader funktioniert jetzt wie erwartet in dynamischen Zeilen. Bilder werden jetzt korrekt hochgeladen, wenn sie als multinationales Array gesendet werden. GitHub-37957
  • Dateiupload-Stile werden nicht mehr im Luma-Design dupliziert. GitHub-32373
  • Die Straßenfelder im Feld "Straße", in dem das Adressformular für Kundenkonten zur Bearbeitung gespeichert ist, werden jetzt korrekt gespeichert. Diese Felder werden jetzt korrekt nach den angegebenen Schlüsseln im Formular sortiert. GitHub-37973
  • Die Werte der kumulativen Layoutverschiebung (CLS) wurden für Produktdetailseiten verbessert. (Diese Metrik quantifiziert die visuelle Stabilität von Seitenlayouts.) GitHub-35410
  • Die Fehlermeldung beim Vorlagen-Rendering wurde verbessert. Magento Open Source zeigt jetzt eine informative Nachricht an. Zuvor zeigte Magento Open Source HTML-Lecks an, wenn ein PHP-Fehler auftrat.
  • Benutzerdefinierte Kundenattribute (Typ File attached) funktionieren jetzt ordnungsgemäß mit Bildern, die gelöscht und anschließend hochgeladen wurden. Zuvor konnten benutzerdefinierte Attribute, die hochgeladen, dann gelöscht und dann erneut hochgeladen wurden, nicht im Storefront gespeichert werden.
  • Korrektur eines Syntaxfehlers in der Kalendervorlagendatei. GitHub-37725
  • Administratoren können jetzt das Storefront-Logo ändern, wenn der Einzelspeichermodus aktiviert ist. Zuvor zeigte Magento Open Source das standardmäßige Fallback-Logo an. GitHub-35952
  • Die Konfigurationswerte von Mixins sind nicht mehr leer, und jQuery-Mixins funktionieren jetzt unabhängig von der Ladeposition. Zuvor wurden jQuery-Mixins nicht konsistent über Browser hinweg geladen.
  • Passwörter werden jetzt erwartungsgemäß angezeigt, wenn das Kontrollkästchen Show Password auf der Anmeldeseite aktiv ist.
  • Magento Open Source zeigt nun die richtigen Preise für feste Bundle-Produkte mit Sonderpreisen an.
  • Der Link zur Seite mit der GitHub-Problemliste in der Vorlagendatei für die Storefront-Fußzeile wurde aktualisiert. GitHub-37214
  • Das Widget "Kürzlich angezeigt"zeigt jetzt den richtigen Steuerbetrag in gruppierten Produktpreisen an. GitHub-35881
  • Administratoren können jetzt die für das einfache Produkt erstellten anpassbaren Optionen wie erwartet per Drag-and-Drop verschieben. GitHub-36051
  • Die Reihenfolge der Produkt-Dropdown-Attributtypen stimmt jetzt mit der Reihenfolge der Bilder auf der konfigurierbaren Produktseite überein. GitHub-37285
  • Systemnachrichten werden jetzt schneller geladen. Nur die angezeigten Nachrichten werden geladen. Zuvor wurden alle Nachrichten aus der Datenbank geladen, was zeitaufwendig war.
  • Wenn Sie den Breadcrumbs-Knoten durch Festlegen von remove=true über die Layout-XML entfernen, wird der Seitentitel auf der Kategorieseite nicht mehr entfernt. Beim Entfernen von Breadcrumbs auf diese Weise wurde zuvor der Seitentitel aus der Kategorieseite entfernt.
  • Das Formular zur Kundenregistrierung wird jetzt erwartungsgemäß geladen, wenn es mehrere ausgewählte Kundenattribute enthält. Zuvor hatte Magento Open Source diese Ausnahme ausgelöst: [2023-03-05T05:57:40.032602+00:00] report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62. GitHub-37189
  • Willkommensnachrichten mit einfachen Anführungszeichen werden jetzt korrekt auf der Storefront ohne Konsolenfehler dargestellt. Wenn zuvor eine Willkommensnachricht ein einfaches Anführungszeichen enthielt, wurde die Willkommensnachricht beim Storefront-Rendering nicht geladen. In der Magento Open Source wurden auch Konsolenfehler angezeigt.
  • Magento Open Source gibt keinen Fehler mehr aus, wenn Sie versuchen, die Ansicht zwischen dem Kommentar-Verlauf und den Rückgaben auf der Seite "Admin-Reihenfolge"schnell zu ändern. Zuvor wurde in Magento Open Source dieser allgemeine Fehler angezeigt: A technical problem with the server created an error.
  • Admin-Benutzer mit Berechtigungen, die auf eine Website beschränkt sind, können jetzt Website-spezifische Produktattribute aktualisieren, die auf den Bereich "all stores view"eingestellt sind.
  • Das Lupe-Widget wird jetzt wie erwartet auf der Produktseite geladen.
  • Mehrzeilige anpassbare Optionen werden jetzt ordnungsgemäß in PDF-Dokumenten zu Rechnungsstellung, Versand und Credit Memo dargestellt. Zuvor war mehrzeiliger Text mit einem unerwarteten Seitenumbruch versehen. Wenn der Text die Seite überschritt, wurde der Text abgeschnitten.
  • Admin-Benutzer können jetzt vom Administrator eine neue Kundenadresse hinzufügen, wenn dieser Kunde für eine andere Website erstellt wurde, deren Store-ID nicht mit der Website-ID übereinstimmt. Zuvor hat Magento Open Source diese Popup-Meldung angezeigt: Something went wrong. GitHub-36582
  • Fehlermeldungen, die mit dem Senden von Kommentaren auf der Bestelldetailseite verbunden sind, sind jetzt informativer. Wenn zuvor ein Käufer auf "Submit comment" klickte, ohne den Bestellstatus zu ändern oder Text in den Kommentarbereich einzugeben, wurde in der Magento Open Source folgende Meldung angezeigt: The comment is missing. Enter and try again.
  • Das Kalendersymbol wird nun wie erwartet in den Datumsbereichsfeldern unter Admin Marketing > Cart Price Rules angezeigt, nachdem ein Datum für ein Feld ausgewählt wurde. Nachdem Sie ein Datum für ein Feld ausgewählt haben, wurde das Kalendersymbol nicht mehr in anderen Feldern angezeigt, und in der Magento Open Source wurde Platzhaltertext angezeigt. GitHub-36499
  • Kundenregistrierungsformulare mit Mehrfachauswahlfeldern werden jetzt erfolgreich geladen. Zuvor wurde dieses Formular nicht geladen, wenn es Mehrfachauswahlfelder enthielt, und der folgende Fehler wurde ausgelöst: report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62. GitHub-37189
  • Durch Klicken auf eine Videominiatur im Vollbildmodus der Produktgalerie wird das Video jetzt erwartungsgemäß angezeigt. Zuvor wurde das Video nicht angezeigt und in der Browser-Konsole wurde ein JavaScript-Fehler angezeigt. GitHub-36456
  • Der Copyright-Zeile wurde eine Variable hinzugefügt, die automatisch jedes Jahr aktualisiert wird. GitHub-36776
  • Der Bildregler auf der Produktseite funktioniert jetzt wie erwartet in der Mobile-Ansicht. Zuvor wurde nur das erste Bild erfolgreich angezeigt. GitHub-37232

URL-Neuschreibungen

  • URL-Neuschreibungen werden jetzt basierend auf der Sichtbarkeitskonfiguration auf Store-Ebene in Multi-Store-Bereitstellungen generiert. Zuvor wurden URL-Neuschreibungen nicht für nicht standardmäßige Stores generiert, wenn die Produktansicht unter dem standardmäßigen Store-Umfang auf nicht sichtbar festgelegt war.
  • Category::getUrl() ruft keine 301-Umleitung mehr ab. GitHub-38152
  • Magento Open Source generiert keine Produkt-URL-Neuschreibungen mehr für Stammkategorien und für Produkte, die in Multi-Store-Setups auf Not Visible Individually gesetzt sind, wenn fehlende URL-Neuschreibungen für benutzerdefinierte Stores generiert werden.
  • Kanonische URL-Tags spiegeln nun erwartungsgemäß Änderungen wider, nachdem die Kategorie-URL-Schlüsseleigenschaft aktualisiert wurde. Zuvor wurde die veraltete Kategorie-URL verwendet, die sofort die Weiterleitung zur neuen URL auslöste.
  • Kategorieprodukt-URL-Neuschreibungen werden jetzt wie erwartet für alle Store-Ansichten generiert, wenn ein Produkt zu einer Kategorie hinzugefügt wird. GitHub-32910
  • Magento Open Source gibt keinen Fehler mehr aus, wenn Sie versuchen, eine 301/302-Umleitung für eine Produkt-URL zu erstellen, wenn Kategorie-/Produkt-URL-Umschreibungen generieren aktiviert ist. Wenn ein Produkt erstellt und einer Kategorie zugewiesen wird, werden automatisierte URL-Neuschreibungen erstellt: eine für die direkte URL und eine für das Produkt über den Kategoriepfad. Wenn eine neue Produkt-URL erstellt wird, werden Korrelationen zwischen Produkt, Kategorie und Store überprüft. Diese Prüfung basiert nun auf korrelierten Entitätseigenschaften (Kategorie und Produkt). Zuvor wurde diese Prüfung an bereits vorhandenen URL-Neuschreibungen durchgeführt.
  • KategorieURL-Neuschreibungen werden jetzt für alle Store-Ansichten generiert, wenn eine neue Kategorie aus einer CSV-Datei importiert wird.
  • Die Konfigurationen für das Produkt-URL-Suffix und das Kategorie-URL-Suffix stimmen jetzt mit den Suffixen in der Tabelle url_rewrite überein. Zuvor traten bei der Aktualisierung von URL-Suffix-Konfigurationen Race-Bedingungen auf und die konfigurierten URL-Suffixe und die url_rewrite -Tabelle stimmten nicht überein.
  • Magento Open Source rendert jetzt den Kategoriestruktur auf allen Ebenen, wenn Kategorie-URL-Neuschreibungen erstellt werden. Zuvor wurden nur die ersten drei Kategorieebenen angezeigt. GitHub-36973
  • Die Neuschreibungen der Kategorie-URL sind jetzt während des Imports einer neuen Kategorie in der CSV-Datei vorhanden.
  • CMS-Seiten mit mehreren Stores ohne URL-Neuschreibungen werden jetzt erwartungsgemäß weitergeleitet. Zuvor wurden angeforderte CMS-Seiten mit mehreren Stores ohne URL-Neuschreibungen zur Store-Homepage umgeleitet, aber die ursprünglichen CMS-Seiten wurden nicht weitergeleitet.

Web-API-Framework

  • Magento Open Source zeigt keine Integration not secure -Warnung mehr in Admin System > Extensions > Integrations an, wenn die Felder Callback URL und Identity link URL leer sind. GitHub-36407
  • Die Erweiterungsattribute taxes, itemized_taxes und additional_itemized_taxes wurden zu 3. Magento\Sales\Api\Data\OrderInterface Mit diesen Attributen können Sie angewendete Steuern mit Order REST-Aufrufen speichern.
  • Die Tier Prices REST API unterstützt jetzt Dezimalmengen. Zuvor war diese API nicht für Dezimalmengen geeignet, selbst wenn die Einstellung Use Decimal Quantity aktiviert war.
  • Der REST V1/orders/{id}/comments -Endpunkt ändert den Status einer Bestellung nicht mehr, wenn versucht wird, einen Kommentar zum Status einer ausstehenden Bestellung hinzuzufügen. Es gibt jetzt einen informativen Fehler. Zuvor änderte dieser Endpunkt den Bestellstatus beim Hinzufügen eines Kommentars.
  • Der REST-API-Endpunkt GET und der REST-API-Endpunkt POST V1/products/attributes geben für die Optionen Filterable(with results) und Filterable(no results) der Option Use in Layered Navigation nicht mehr denselben Wert für das Attribut is_filterable zurück. Zuvor gab dieser Endpunkt denselben Wert zurück, da die Eigenschaft is_filterable des Attributtyps Boolean war, was die Festlegung dieser Eigenschaft auf Filterable(no results) nicht ermöglichte. GitHub-37979
  • Das fehlende Feld media_gallery_entries wurde dem REST V1/configurable-products/sku/children -Endpunkt hinzugefügt. Zuvor fehlte dieser Funktion der Code, der zum Speichern und Anzeigen von media_gallery_entries erforderlich war. GitHub-37607
  • Die REST V1/carts/mine/estimate-shipping-methods -Methode validiert jetzt alle Ebenen von Payload-Felddaten und gibt einen 400-HTTP-Code für ungültige Daten zurück. Zuvor wurde nur die erste API-Payload validiert und wenn ungültige Daten in nicht validierten Payload-Ebenen zurückgegeben wurden, gab Magento Open Source einen Statuscode 500 zurück.
  • Asynchrone Massen-REST-API-Vorgänge zum Aktualisieren von Produkten mit Stufenpreisen und verschiedenen Attributsätzen wurden nun erfolgreich abgeschlossen. Zuvor konnten Produkte mit unterschiedlichen Attributsätzen nicht auf diese Weise aktualisiert werden, und in der Magento Open Source wurde der folgende Fehler angezeigt: The product was unable to be saved. Please try again.
  • Der POST /V1/products/tier-prices -Endpunkt gibt jetzt eine informativere Fehlermeldung zurück, wenn bei der Erstellung des Tier-Preises ein ungültiger Kundengruppenname verwendet wird. Zuvor gab Magento Open Source einen Fehler wie den folgenden zurück: Notice: Undefined index: XXXXX in ~/public_html/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php on line 474". GitHub-36431
  • Sie können jetzt eine autorisierte asynchrone Massen-API-Anfrage ausführen, um Kunden mit einer nicht standardmäßigen Gruppen-ID zu erstellen. Zuvor wurde die Gruppen-ID durch diese Anforderungen auf den Standardwert zurückgesetzt.
  • Kunden, die mit der Bulk API erstellt wurden, erhalten jetzt E-Mails zur Kundenregistrierung in der Sprache, die auf ihrer zugewiesenen Website konfiguriert ist. Zuvor wurden alle E-Mails an das Standardgebietsschema gesendet, nicht an das Gebietsschema der Website, der der Kunde zugewiesen ist.
  • Der POST V1/guest-carts -Aufruf sendet keine Gastaufträge mehr, wenn Allow Guest Checkout deaktiviert ist.
  • Magento Open Source gibt nun erfolgreich das Attribut content (base64-Bildcode) in den GET V1/products/sku/media -Produktmedien-API-Antworten zurück. Das Attribut content wurde zuvor nicht in der Antwort angezeigt.

Systemanforderungen

Unser Technologiestapel basiert auf PHP und MySQL. Weitere Informationen finden Sie unter Systemanforderungen.

Installations- und Upgrade-Anweisungen

Sie können Magento Open Source 2.4.7 mit Composer installieren.

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