OXID eShop Compilation 7.5.0
Veröffentlichungsdatum: TBD
Neuheiten
Content & Medien Bundle 10
OXID eShop 7.5 bringt das neue Content & Medien Bundle 10 mit sich. Dieses enthält folgende Erweiterungen:
Mediathek 5
WYSIWYG-Editor 7
Visual CMS 10 (nur Enterprise und Professional Edition)
Mediathek 5:
Suche nach Medien-ID: Das Suchfeld findet Medien nun auch anhand der Medien-ID, nicht nur anhand des Dateinamens.
QueryBuilder: Repository-Schicht auf QueryBuilder umgestellt.
Bootstrap Icons ersetzen Font Awesome.
Datei-Upload-Validierung: Inhalts- und MIME-Typ- Prüfung beim Upload. SVGs mit Skripten, Foreign Objects,
on*-Event-Handlern oderjavascript:/data:-URLs werden abgelehnt; Rasterbilder (jpg, jpeg, gif, png, webp, avif) müssen als gültiges Bild parsen.Pfad-Sicherheit: Path-Traversal-Zeichen (
/,\,..-Segmente, Null-Bytes) in Upload- Dateinamen werden abgelehnt; einheitliche Dateinamen- Bereinigung bei Upload und Umbenennen.FileFormatRegistry und ContentValidatorInterface: Integratoren können zusätzliche Dateiformate per Service-Konfiguration registrieren und formatspezifische Inhaltsprüfungen einhängen.
Behoben (durch die obigen Validierungen): #0007937 und #0007938.
Behoben: Strg+Klick-Mehrfachauswahl funktioniert wieder (war durch falsche Event-Button-Prüfung defekt).
Hinweis für Integratoren der Mediathek:
Die Upload-Validator-Kette enthält jetzt
MimeTypeValidatorundContentValidatorChainnach demFileExtensionValidator. Module, dieUploadedFileValidatorChainInterfacevollständig ersetzen, müssen beide Validatoren in derselben Reihenfolge auflisten, um den Upload-Inhaltsschutz zu erhalten.FilePathInterfaceenthält die neue MethodegetExtension(). Module, die dieses Interface selbst implementieren, müssen die Methode ergänzen — sie gibt die kleingeschriebene Dateiendung zurück.
WYSIWYG-Editor 7:
Erweiterbar durch Module: Neue Twig-Blöcke
ddoe_wysiwyg_pluginsundddoe_wysiwyg_summernote_optionserlauben es Modulen, den Editor mit eigenen Plugins und Optionen zu erweitern.DOMPurify-Integration: Normalisiert HTML-Inhalte im Editor.
Konfigurierbar: Neuer Twig-Block
ddoe_wysiwyg_dompurify_configerlaubt Modulen, die DOMPurify-Optionen anzupassen.Alt-Text-Migration: Neuer Befehl
ddoewysiwyg:migrate:alt-textsersetzt fehlende oder leere Alt-Attribute auf Medienbildern.Bootstrap Icons ersetzen Font Awesome.
Behoben: Fehlerhafte Bootstrap-Style-Imports, die Shop-Styles beeinflussten (aus v6.0.3 übernommen).
Visual CMS 10 (nur Professional und Enterprise Edition):
Visual CMS 10 ist die konsequente Weiterentwicklung der mit Visual CMS 9 eingeführten Architektur. Die wichtigsten Neuerungen:
„Anything-First“-Bearbeitung: Wählen Sie ein beliebiges Gerät als Ausgangspunkt für das Design. Passen Sie die Widget-Größen explizit für jedes Gerät an — volle Kontrolle über alle Breakpoints.
Gerätetypabhängige Widget-Größen: Separate Konfiguration für Smartphone, Tablet (Hoch-/Querformat), Desktop und große Bildschirme.
Gerätetyp-Umschalter im Editor zum schnellen Wechsel zwischen Viewports.
Verschachtelte Aktivitätsgruppen: UND/ODER-Logik für komplexe zeitbasierte Sichtbarkeitsregeln von Widgets, einschließlich Ausschlusszeiträumen.
Lokalisierte Datums-/Zeitanzeige in den Aktivitätseinstellungen, 12h/24h-Unterstützung.
TypeScript: JavaScript-Dateien auf TypeScript migriert.
Bootstrap Icons ersetzen Font Awesome im Admin-Bereich.
Behoben: WidgetModal — interne Referenz korrigiert (
public $modal→private #$modal).Behoben: Responsive Layout-Einstellungen werden im Widget-Bearbeitungsdialog ausgeblendet, wenn eine Zeile bearbeitet wird.
Behoben: CMS-Seiten mit abgelaufenem „Aktiv bis“-Datum werden im Frontend nicht mehr angezeigt.
Behoben: Datumsauswahl-Felder respektieren die im Shop konfigurierte Datumsformat-Einstellung (aus v9.2.1 übernommen).
Behoben: Karussell-Widget behält Bilder und Links nach erneutem Öffnen des Bearbeitungsdialogs (aus v9.2.1 übernommen).
Wenn Sie die Vorgängerversionen beibehalten möchten, können Sie Ihr Update vorkonfigurieren. Weitere Informationen finden Sie in unserer Update-Anleitung.
PHP 8.5 Unterstützung
Die OXID eShop 7.5 Compilation und alle unten aufgeführten Erweiterungen wurden mit PHP 8.3, 8.4 und 8.5 getestet. Die Mindestversion ist PHP 8.3. PHP 8.2 wird nicht mehr unterstützt.
API-Entrypoint
Eine neue API-Schicht (api.php) auf Basis des Symfony
HttpKernel ermöglicht es, beliebige Shop-Funktionen als
API-Endpunkte bereitzustellen. Das Routing erfolgt über
PHP 8 #[Route]-Attribute. Die API ist JSON-basiert und
zustandslos. Vier Authentifizierungsmodelle stehen zur
Verfügung: öffentlich, JWT-Token, Frontend-Session und
Admin-Session.
Zusammen mit OXAPI (GraphQL) bietet der Shop damit zwei komplementäre Schnittstellen: OXAPI für das umfangreiche Produkt- und Commerce-Datenmodell und benutzerdefinierte API-Endpunkte für individuelle Anforderungen.
Neuer Such-Service
OXID eShop 7.5 bietet eine neue, austauschbare Sucharchitektur.
Das neue ProductSearchServiceInterface ermöglicht es, die
eingebaute SQL-Suche durch externe Suchmaschinen wie
Meilisearch oder Elasticsearch zu ersetzen. Bei
einem Ausfall der externen Suche greift der Shop automatisch
auf die SQL-Suche zurück.
Weitere Informationen finden Sie in der Entwicklerdokumentation.
Neuer E-Mail-Service
OXID eShop 7.5 enthält einen neuen E-Mail-Service auf Basis
des Symfony Mailers. Saubere Schnittstellen und eine
erweiterbare Architektur ermöglichen die Anbindung weiterer
Mail-Transports über die verfügbaren
Symfony-Mailer-Konfigurationen — ohne Core-Eingriff. In der
7.x-Serie läuft der neue Service parallel zum bestehenden
System; Core/Email funktioniert weiterhin, und neue
Module können die Schnittstelle MailerInterface direkt
verwenden.
HTML-Sanitizer
OXID eShop 7.5 enthält einen integrierten HTML-Sanitizer als
Framework-Baustein zur Bereinigung von HTML-Inhalten. Er
basiert auf dem Symfony HtmlSanitizer und ist
standardmäßig deaktiviert — Projekte aktivieren ihn
gezielt über einen Service-Parameter, definieren
Allow-/Deny-Regeln und setzen den neuen Twig-Filter
sanitize_html in den Templates ein, in denen er greifen
soll. Damit lässt sich der XSS-Angriffsvektor bei
CMS-Inhalten systematisch adressieren, ohne dass bestehende
Shops automatisch verändert werden.
Sicherheitsverbesserungen
Mehrere Verbesserungen stärken die Sicherheit des Shops:
Sensible GET-Parameter entfernt: Zustandsändernde Operationen (z. B. Artikel auf die Merkliste setzen, Gutschein entfernen) wurden von GET-Links mit Session-Tokens in der URL auf POST-Formulare mit versteckten Feldern umgestellt. Session-IDs und CSRF-Tokens sind nicht mehr in URLs sichtbar.
Bootstrap-3-Bereinigung: Verbliebene Bootstrap-3- CSS-Klassen im APEX Theme wurden entfernt. Templates verwenden nun ausschließlich Bootstrap-5-Klassen.
HTML-Sanitizer: Siehe oben.
Performance-Verbesserungen
Mehrere gezielte Optimierungen verbessern die Ladezeiten:
Leere Warenkörbe werden frühzeitig erkannt — keine unnötigen Berechnungen mehr bei jedem Seitenaufruf.
Deaktivierte Module beeinflussen die Renderzeit des Shop-Frontends nicht mehr.
Unnötige Instanziierungen der Warenkorb-Komponente wurden eliminiert.
Konfigurationsabfragen lösen keinen vollständigen Shop-Bootstrap mehr aus.
Modul-Lookups sowie Editions- und Cache-Pfad-Abfragen werden zwischengespeichert, um wiederholte Dateisystemzugriffe zu vermeiden.
Der Template-Chain-Cache verkürzt das Auflösen von Template-Erweiterungs-Ketten — relevant insbesondere in Shops mit vielen aktiven Modulen, die Templates überschreiben. Der Cache wird beim Leeren des Shop-Caches über
./vendor/bin/oe-console oe:cache:clearautomatisch mitgeleert.
Optimierungen & Fehlerbehebungen
#0007881 Model extension chain bypass: Bugtracker
#0007877 composer/composer fälschlicherweise in require statt require-dev: Bugtracker
#0007907 Hilfetext für Rabattmengen verdeutlicht: Bugtracker
#0007178 Kategorie-Dropdown wird für Kategorien ohne sichtbare Unterkategorien nicht mehr angezeigt: Bugtracker
#0007921 Template-Erweiterungen für Modul-Templates rendern korrekt: Bugtracker
Menü-Zähler für herstellerspezifische Menübereiche korrigiert: PR-10
Falsche Produktbild-Anzahl 13 statt 12 korrigiert: PR-14
#0007922 Produktgalerie und Grid-Bilder respektieren nun die Einstellung blConvertImagesToWebP, Hover-Bild auf mobilen Viewports nicht mehr defekt: Bugtracker
#0007751 Hinzufügen von Lizenzschlüsseln über die Kommandozeile löscht keine bereits hinzugefügten Schlüssel mehr (PE und EE): Bugtracker
#0007182 Falsche Subquery in PE-zu-EE-Migration für xxx2shop-Tabellen behoben (nur EE): Bugtracker
Unified Namespace Generator: Dateipfad-Normalisierung für Sub-Namespaces, die Backslashes enthalten, korrigiert
Packages
OXID eShop CE Compilation
Die OXID eShop CE Compilation enthält die folgenden Pakete:
APEX Theme v3.1.0: Changelog
Eye-Able Assist v3.0.3
GDPR Opt-In Module v4.4.0: Changelog
Makaira Connect Essential 2.2.0: Changelog
Media Library Module v5.1.0 (oder v4.2.0 oder v3.0.0 bleibend): Changelog
OXID Cookie Management powered by Usercentrics v3.3.0: Changelog
OXID eShop CE v7.5.1: Changelog
OXID eShop Composer Plugin v7.4.0: Changelog
OXID eShop Demodata CE v8.1.0
OXID eShop Demodata Installer v3.3.0
OXID eShop Doctrine Migration Wrapper v5.5.0: Changelog
OXID eShop Facts v4.4.0: Changelog
OXID eShop Unified Namespace Generator v5.3.1: Changelog
OXID eShop Views Generator v2.2.0
Twig Admin Theme v3.1.0: Changelog
Twig Component v2.8.1: Changelog
WYSIWYG Editor Module v7.0.1 (oder v6.0.3 oder v5.0.1 bleibend): Changelog
OXID eShop PE Compilation
Die OXID eShop PE Compilation enthält zusätzlich die folgenden Pakete:
OXID eShop Demodata PE v8.1.0
OXID eShop PE v7.5.1
Twig Component PE v2.6.0
Visual CMS Modul v10.0.1 (oder v9.2.1 oder v8.0.2 bleibend)
OXID eShop EE Compilation
Die OXID eShop EE Compilation enthält zusätzlich die folgenden Pakete:
OXID eShop Demodata EE v8.2.0
OXID eShop EE v7.5.1
Twig Component EE v2.6.0
OXID eShop EE B2B Compilation
Die OXID eShop EE B2B Compilation enthält zusätzlich die folgenden Pakete:
OXID eShop B2B Approval Procedure Modul v7.5.0
OXID eShop B2B Basket Modul v7.5.0
OXID eShop B2B Budget Modul v7.5.0
OXID eShop B2B Bulk Orders Modul v7.5.0
OXID eShop B2B Buying Agent Modul v7.5.0
OXID eShop B2B Custom Prices Modul v7.5.0
OXID eShop B2B Offers Modul v7.5.0
OXID eShop B2B Quick Orders Modul v7.5.0
OXID eShop B2B Scheduled Orders Modul v7.5.0
OXID eShop B2B Service Products Modul v7.5.0
OXID eShop B2B Services Modul v7.5.0
Für weitere Informationen zu Veröffentlichungen der B2B Edition, siehe die (passwortgeschützte) OXID eShop Enterprise B2B Edition Dokumentation.
Kompatible OXID Erweiterungen
OXAPI GraphQL Base Modul 13.0: Dokumentation [en]
OXAPI GraphQL Configuration Access Modul 4.0: Dokumentation [en]
OXAPI GraphQL Storefront Modul 5.0: Dokumentation [en]
OXAPI GraphQL Storefront Administration Modul: Dokumentation [en]
OXID ERP Schnittstelle 4.4: Dokumentation [en] (passwortgeschützt)
OXID eShop Admin Tools 2.0: Dokumentation
OXID eShop Country VAT Administration 2.5: Dokumentation [en] (GitHub)
OXID eShop Geo-Blocking Modul 2.5: Dokumentation
OXID eShop Shipping Cost Compensation Modul 1.3: Dokumentation
OXID eShop eVAT Modul 4.4: Dokumentation
OXID Cookie Management powered by Usercentrics 3.3: Dokumentation
GDPR Opt-In Module 4.4: Dokumentation
OXID eShop Consistency Check Component 3.0: Dokumentation [en] (GitHub)
OXID Modul Template 5.2: Dokumentation (GitHub)
OXID Examples Modul 2.1: Dokumentation (GitHub)
Update
Der Update-Vorgang wird Schritt für Schritt in unserer Update-Anleitung beschrieben.
Installation
Wenn Sie OXID eShop 7.5 neu installieren möchten, folgen Sie bitte unserer Installationsanleitung.