Zum Inhalt

Changelog

Version 1.1.7 (2026-08-08)

  • Fix: Der media-Preloader lieferte Galerie-Zeilen, die nicht der Struktur von Gallery::createBatchBaseSelect() entsprachen — der Dateiname stand unter value statt file, value_id und media_type fehlten ganz. ConfigurableProduct\Helper\Data::getGalleryImages() reicht $image->getFile() an UrlBuilder::getUrl() weiter, das string erwartet: Jede Configurable-PDP endete mit einem TypeError und HTTP 500. Die Query holt jetzt zusätzlich value_id, file und media_type, fällt für label/position/disabled auf die Default-Store-Werte zurück, filtert auf das media_gallery-Attribut, sortiert nach position und entfernt Dateien, die unter mehreren value_ids hängen
  • ProductMediaGalleryPlugin ergänzt url, id und path und übernimmt die Filter aus Product::getMediaGalleryImages() (deaktivierte, entfernte und doppelte Bilder); das Ergebnis wird wie im Original am Produkt zwischengespeichert
  • Tests prüfen die Galerie jetzt gegen den echten Konsumenten statt gegen eine erfundene Zeilenstruktur — inklusive Vergleich mit Magentos eigenem Ladepfad

Version 1.1.6 (2026-08-07)

  • Doku-Fix: Der Aktivierungsschalter heißt copex/performance/preloaders/enabled. Die bisher dokumentierten Pfade copex/performance/enabled und copex/performance/preloaders_enabled werden von keinem Modul ausgewertet — wer sie gesetzt hatte, lief ohne Preloader. Neu dokumentiert: einzelne Preloader lassen sich über preloaders/<key>_enabled abschalten

Version 1.1.5 (2026-08-06)

  • Benchmarks nehmen Store-View und SKU wieder aus der Konfiguration (copex_performance/cart_benchmark/sku, .../store_id), wenn --sku / --store nicht angegeben sind. Damit laesst sich das Paar einmalig in app/etc/env.php hinterlegen statt es bei jedem Lauf mitzugeben; eine Option sticht weiterhin den hinterlegten Wert

Version 1.1.4 (2026-08-03)

  • Compatibility with Magento 2.4.9

Version 1.1.3 (2026-06-17)

  • Benchmarks, die ein konkretes Produkt brauchen (cart_add_item, cart_update_qty, cart_get, pdp_render), nehmen Store-View und SKU jetzt aus den Optionen --store / --sku von copex:performance:benchmark (über BenchmarkParametersInterface aus module-performance-suite) statt automatischer Katalog-Ermittlung. Fehlt der Wert, brechen sie mit klarer Meldung ab
  • Cart-Benchmarks emulieren die Ziel-Store-View korrekt via Emulation::startEnvironmentEmulation() (statt nur emulateAreaCode). Hintergrund: Der Gast-Warenkorb-Pfad lädt das Produkt über CartItemPersister ohne Store-ID, status wird daher auf Store 0 gelesen, während die Verkaufbarkeitsprüfung in der emulierten Store-View erfolgt. Die SKU muss ein Simple-/Virtual-Produkt sein, auf Store 0 aktiviert und in der Store-View kaufbar

Version 1.1.2 (2026-05-31)

  • pdp_render-Benchmark lädt das Produkt jetzt pro Iteration frisch (ProductFactory) statt über den prozessweit cachenden ProductRepository — vorher maß der Benchmark ab der 2. Iteration nur noch Cache-Treffer (~0,3 ms / 1 SELECT), jetzt die echte Ladezeit (z. B. ~25 ms / ~40 SELECTs). Die hartkodierte Demo-SKU entfällt; das erste aktive Produkt wird automatisch verwendet

Version 1.1.1 (2026-05-31)

  • StockRegistryPlugin liefert jetzt ein echtes StockItemInterface (per Factory + DataObjectHelper) statt eines generischen DataObject — behebt den TypeError in ProductExtension::setStockItem() auf Produktlade-Pfaden (REST/AfterProductLoad). Der Stock-Preloader lädt dafür die vollständige cataloginventory_stock_item-Zeile, damit alle Felder (manage_stock, min_qty, use_config_*) erhalten bleiben

Version 1.1.0 (2026-05-31)

  • product_options-Preloader gehärtet: nur noch Existenzprüfung (eine Query statt zwei), keine ungültige price/price_type-Selektion mehr — behebt den SQLSTATE-42S22-Fehler auf Magento-2.4-Schemata; die Preisberechnung bleibt unberührt (Produkte mit Optionen laufen weiter über Magentos Standardpfad)
  • Benchmark-SKU wird automatisch aus dem Katalog ermittelt (erstes aktives Simple-Produkt) statt der Luma-Demo-SKU 24-MB01 — Cart-Benchmarks laufen damit auf jedem Shop

Version 1.0.1 (2026-05-28)

  • Minor bugfixes

Version 1.0.0 (2026-05-28)

  • Erste stabile Version
  • Reduziert Datenbankabfragen auf Kategorie-, Produkt- und Warenkorbseiten spürbar
  • 12 Datenbereiche werden vorgeladen: Bilder, Preise, Lagerstand, URLs, Links, Optionen u.v.m.
  • MSI-Lagerabfragen im Warenkorb werden gebündelt statt einzeln ausgeführt
  • Automatische Selbstschutzfunktion: fehlerhafte Preloader deaktivieren sich temporär
  • Aktivierbar/deaktivierbar über env.php — sofort wirksam, kein Server-Neustart