REDAXO v5.10.0 Release Notes

Release Date: 2020-03-10 // about 4 years ago
  • REDAXO-Core 5.10.0 – 10.03.2020

    🔒 Security

    • Markdown-Ausgaben (Readmes, Installer etc.) waren nicht geschützt gegen XSS (@gharlan)

    Neu

    • ⚡️ Update der externen Bibliotheken (@gharlan)
    • Setup: Beim erneuten Ausführen wird das vorhandene DB-Passwort nicht mehr angezeigt (@staabm)
    • EOL-Warnungen für PHP/MySQL/MariaDB:
      • Analog zu PHP wird bei MySQL/MariaDB-Version gewarnt, die vom Hersteller nicht mehr gepflegt wird (@staabm)
      • Die EOL-Warnungen werden auch in der Console und im Systembericht ausgegeben (@bloep, @staabm)
    • Datenbank:
      • SSL-Connections können verwendet werden (in config.yml konfigurierbar) (@staabm)
      • Es wird nun einheitlich die Collation utf8_unicode_ci, bzw. utf8mb4_unicode_ci (nicht mehr teils *_general_ci) (@gharlan)
    • 0️⃣ Addons können in der package.yml unter default_config die Default-Werte für rex_config hinterlegen (@gharlan)
    • Neue Klasse rex_version:
      • Methode isUnstable zum Prüfen, ob eine Version eine Entwicklungsversion ("beta" etc.) ist (@staabm)
      • Weitere Methoden wurden in die Klasse verschoben (und die bisherigen als deprecated markiert) (@gharlan):
      • rex_string::versionSplit -> rex_version::split
      • rex_string::versionCompare -> rex_version::compare
      • rex::getVersionHash -> rex_version::gitHash
    • rex_string: Neue Methode sanitizeHtml, um HTML aus unsicherer Quelle gegen XSS zu schützen (@gharlan)
    • rex_response: Neue Methode sendJson (@staabm)
    • rex_file:
      • Neue Methode mimeType() um den Mime-Type einer Datei zu bestimmen (liefert bessere Resultate als mime_content_type(), zum Beispiel für SVGs) (@gharlan)
      • Neue Methode move (@staabm)
    • 📦 rex_package/addon/plugin: Neue Methode require, die wie get das Package-Objekt liefert, aber eine Exception wirft, wenn das Package nicht vorhanden ist (@gharlan)
    • Console:
      • Es wird eine Warnung ausgegeben, wenn die Console mit einem anderen User ausgeführt wird als dem File-Owner von /redaxo (@skerbis, @bloep)
      • Neuer Command package:delete (@bloep)
    • 🔖 Versionsnummern werden überall im System (Addonverwaltung, Systembericht etc.) mit einem Icon markiert, wenn es Entwicklungsversionen sind ("beta" etc.) (@staabm)
    • Systembericht als Markdown: Neuer Button "In die Zwischenablage kopieren" (@staabm)
    • Speichern/Übernehmen-Buttons haben ein title-Attribut mit Erläuterungstext (@staabm)
    • 📦 Auf der Lizenz-Page der Packages wird ein Link zu einer Seite mit Erklärungen zu den Lizenzen ausgegeben (@staabm)
    • Beim Cache löschen wird auch der Opcache geleert (@gharlan)
    • 🌲 php.ini-Einstellung html_errors wird immer deaktiviert, um HTML-Markup in Whoops und im Log zu vermeiden (@gharlan)
    • ✅ Code-Stabilität durch Tests und statische Code-Analyse verbessert (@staabm, @bloep, @gharlan)

    🛠 Bugfixes

    • Bei tiefer verschachtelten Abhängigkeiten der AddOns wurde die Ladereihenfolge nicht immer korrekt entsprechend der Abhängigkeiten generiert (@gharlan)
    • rex_sql: In der Debug-Ausgabe wurden in fullquery nicht immer die Parameter ersetzt (@gharlan)
    • 📜 Es kam zu Fehlern, wenn Addons eine eigene (ältere) Version von Parsedown mitlieferten (@gharlan)
    • 📦 Bei den package:*-Commands waren Addons, die gerade erst in den Addonordner gelegt wurden, nicht direkt verfügbar (@bloep)
    • ⚡️ Die Tabelle rex_config hat seit einigen Versionen keine id-Spalte mehr, bei manchen war diese aber trotzdem noch vorhanden und führte zu Problemen beim Update (@gharlan)

    backup 2.6.0 – 10.03.2020

    Neu

    • Backups werden nach Dateiname sortiert (@bloep)

    🛠 Bugfixes

    • 👷 Backup-Cronjob: Die Mail-Checkbox war nicht direkt über dem Mailadress-Feld (@gharlan)

    backup 2.5.1 – 02.02.2020

    🛠 Bugfixes

    • NULL-Werte wurden nicht als solche exportiert, was zu Problemen bei den neuen Template-Keys führte (@gharlan)

    💅 be_style 2.10.0 – 10.03.2020

    • Customizer: Abhängigkeit zur PHP-Extension "zip" explizit hinterlegt (@staabm)
    • Customizer: Beim Entpacken wurde ein relativer Pfad verwendet, wodurch bei manchen das Entpacken nicht funktionierte (@gharlan)
    • Die bootstrap-select.min.js.map fehlte (@gharlan)

    👷 cronjob 2.7.0 – 10.03.2020

    Neu

    • 👷 Die Umgebung, über die ein Job ausgeführt wurde, wird mit im Log gespeichert/ausgegeben (@alexplusde)

    🛠 Bugfixes

    • 🌲 Im Log war der Button "im Editor öffnen" nie sichtbar (@staabm)

    install 2.7.0 – 10.03.2020

    🔒 Security

    • Markdown-Ausgaben und teils andere Felder waren nicht gegen XSS geschützt (@gharlan)

    Neu

    • Console-Commands eingeführt:
      • install:list: Abruf der verfügbaren Addons (optional nur Updates) (@bloep)
      • install:download: Addon herunterladen (@bloep)
      • install:update: Addon aktualisieren (@bloep)
    • ⚡️ Vor dem Laden/Updaten wird eine Warnung ausgegeben, wenn es sich um eine Entwicklungsversion ("beta" etc.) handelt (@staabm)

    🛠 Bugfixes

    • ⚡️ Probleme beim Core-Update unter Windows behoben (@gharlan)
    • Bessere Fehlerbehandlung (@gharlan)

    media_manager 2.9.0 – 10.03.2020

    Neu

    • Effekt convert2img:
      • Wandelt auch SVGs in JPG/PNG um (@dergel)
      • Unterstützt Transparenzen (Farbe kann angegeben werden) (@dergel)

    🛠 Bugfixes

    • SVGs wurden teils mit falschem Content-Type ausgeliefert (@gharlan)
    • rex_media_manager::getUrl hat im Backend eine URL mit der Backend-index.php geliefert, was teils zu langsamen Backend-Seitenaufrufen führte (Session-Locks) (@gharlan)

    mediapool 2.8.0 – 10.03.2020

    Neu

    • Neue EPs: MEDIA_CATEGORY_ADDED, MEDIA_CATEGORY_UPDATED und MEDIA_CATEGORY_DELETED (@staabm)
    • ➕ EPs MEDIA_ADDED/MEDIA_UPDATED: Parameter category_id wird übergeben (@staabm)

    🛠 Bugfixes

    • Bessere Mime-Type-Erkennung durch neue Core-Funktion rex_file::mimeType() (@gharlan)
    • Es kam zu doppelten Medien in der DB, wenn zu einem Medium die physische Datei fehlte und dann eine gleichnamige erneut hochgeladen wurde (@gharlan)

    metainfo 2.7.0 – 10.03.2020

    Neu

    • Artikel-Metainfos werden immer in der Seitenleite rechts angezeigt/geändert, nicht mehr in einer eigenen Page (@dergel)

    🛠 Bugfixes

    • Template-Filter: Templates mit Kategoriebeschränkung standen fälschlich nicht zur Auswahl (@gharlan)
    • 0️⃣ Der Default-Wert für die Standard-Metafelder unterschied sich zwischen MySQL und MariaDB (@gharlan)

    phpmailer 2.8.0 – 10.03.2020

    Neu

    • 0️⃣ Default-Verschlüsselung auf "keine" gesetzt (da "Auto" bei manchen Providern Probleme verursachte) (@skerbis)
    • 🌲 Log-Subpage auch im Addon verfügbar (nicht nur unter System/Log) (@skerbis)
    • Erläuterungstexte verbessert (@skerbis)

    🛠 Bugfixes

    • Debug-Ausgabe erscheint nun im Panel (@skerbis)

    structure 2.10.0 – 10.03.2020

    Neu

    • Slice-Status (online/offline) kann gesetzt werden (Übernahme von bloecks/status) (@gharlan, @schuer)
    • REX_TEMPLATE_KEY-Platzhalter für Templates/Module hinzugefügt (@staabm)
    • Modulen können (analog zu den Templates) eindeutige Keys vergeben werden (inkl. REX_MODULE_KEY-Platzhalter) (@alexplusde, @staabm)
    • Der Status-Schalter nutzt ein Dropdown, wenn weitere Status hinzugefügt wurden (Bsp. accessdenied) (@alexplusde)
    • Template/Module löschen: Auflistung der Artikel verschönert, in denen es noch verwendet wird, und es werden die Artikel in allen betroffenen Sprachversionen aufgelistet (@gharlan)
    • Spalten in rex_article_slice-Tabelle umsortiert (article_id und module_id weiter nach vorne) (@gharlan)

    🛠 Bugfixes:

    • Einfache Rex-Vars wie REX_MODULE_ID/REX_SLICE_ID wurden erst nach den richtigen Rex-Vars wie REX_VALUE[X] ersetzt, dadurch konnten sie nicht nicht als Argumente innerhalb der Vars genutzt werden und wurden auch im eigentlichen Inhalt der Values ersetzt (@gharlan)
    • Nach dem Speichern von Blöcken erschien die Erfolgsmeldung nicht mehr im Block (@gharlan)
    • rex_category/rex_article: Methoden wie getId, getParentId etc. lieferten die Zahl als String statt als Integer (@gharlan)