REDAXO v5.9.0 Release Notes

Release Date: 2020-02-02 // about 4 years ago
  • REDAXO-Core 5.9.0 – 02.02.2020

    Neu

    • ⚡️ Update der externen Bibliotheken (u.a. jQuery v3 und pjax v2) (@skerbis, @schuer, @gharlan)
    • MySQL 8 wird unterstützt (@staabm, @gharlan)
    • utf8mb4-Unterstützung (vollständiger Unicode-Zeichensatz inkl. Emojis): Kann über das Setup aktiviert werden (@gharlan)
    • 🌲 Neuer zentraler Ordner für Logdateien: redaxo/data/log (rex_path::log(); Pfad kann über Pathprovider geändert werden) (@gharlan)
    • Setup:
      • Kann über den neuen Command setup:run auch in der Console durchgeführt werden (@bloep)
      • Sprachen sind nun alphabetisch sortiert (@tbaddade)
      • Warnung wenn "session.auto_start" aktiviert ist (@bloep)
      • Warnung vorbereitet für End-Of-Live von PHP 7.x ab Ende November 2022 (@staabm)
      • HTTPS-Option kann nur noch bei Aufruf über HTTPS gesetzt werden, damit man sich nicht selbst aus dem Backend ausschließen kann (@bloep)
      • HSTS kann nicht mehr über das Setup (nur direkt über config.yml) gesetzt werden (@bloep)
      • Beim DB-Host kann der Port mit angegeben werden ("localhost:3306") (@staabm, @gharlan)
      • DB-Name kommt erst nach Host/Benutzer/Passwort (@gharlan)
      • Default-DB-Name nun "redaxo5" statt "redaxo_5_0" (@gharlan)
      • DB-Host/Benutzer/Name werden getrimmt (@aeberhard)
      • Es wird rex_sql_table verwendet für bessere Teilkorrekturen der DB (@tbaddade)
    • 🐳 In der config.yml kann über editor_basepath der Basispfad für die Editor-URLs geändert werden (nützlich für Docker) (@bloep)
    • ➕ AddOn-Verwaltung: Suchfeld für AddOns (@danspringer)
    • Systemlog:
    • Markdown-Pages (Readme): Die Sprungnavi ist nun rechts angeordnet (@schuer)
    • Layout der Credits-Page optimiert und an Addonverwaltung angeglichen (@schuer)
    • Whoops: REDAXO-Logo ist mit Startseite verlinkt (@gharlan)
    • REX_VARs: Callbacks bekommen den Variablennamen und die zugehörige Klasse als Parameter var und class übergeben (@gharlan)
    • rex_sql:
      • Über getDbType() kann der Type (MySQL oder MariaDB) abgefragt werden, über getDbVersion() die normalisierte Version (@gharlan)
      • Mit escapeLikeWildcards() können "%" und "_" escaped werden für LIKE-Ausdrücke (@gharlan)
    • rex_sql_table:
      • DB-ID kann übergeben werden, somit auch nutzbar für die weiteren DBs (@thorol, @gharlan)
      • Bei ensureGlobalColumns() kann über den ersten Parameter die Position der Spalten festgelegt werden (@tbaddade)
    • rex_sql_schema_dumper: Bei entsprechener Spalten-Kombi wird Shortcut ensureGlobalColumns genutzt (@gharlan)
    • Fragment core/page/section: Attribute können übergeben werden (@tbaddade)
    • Console-Commands:
      • Neuer Command config:set um Werte in der config.yml zu setzen (@bloep)
      • db:set-connection prüft nun, ob die neue Verbindung valide ist (kann per --force deaktiviert werden) (@bloep)
    • Aktualisierung Backend-Übersetzungdateien: Schwedisch (@interweave-media), Spanisch (@nandes2062), Englisch (@ynamite)
    • Englische Übersetzung der Readme des project-Addons (@skerbis)
    • ETag-Header wird in Safari nicht mehr deaktiviert, da der Safari-Bug nicht mehr zu bestehen scheint (@gharlan)
    • Der htaccess-Check-Cookie heißt nun rex_htaccess_check statt htaccess_check (@alexplusde)
    • Code-Stabilität durch statische Code-Analyse verbessert (@staabm)

    🛠 Bugfixes

    • rex_sql: Bei ->setWhere(['name' => 'a'])->setValue('name', 'b') wurde fälschlich der Wert aus WHERE auch für SET verwendet (@gharlan)
    • rex_sql_table: Beim Setzen von Primary Keys für Tabellen, die bisher keinen hatten, kam es zu einem Fehler (@gharlan)
    • rex_list warf mit PHP 7.4 Notices "Trying to access array offset on value of type null" (@gharlan)
    • rex_socket: Es kam teilweise zur Warnung "Undefined variable: errno" (@staabm)
    • 🚚 rex_config: Wenn während eines Requests removeNamespace() und danach set() für den selben Namespace aufgerufen wurde, kam es zu einem Fehler (@bloep)
    • rex_api_function: Statische Methode hasMessage warf einen Fehler, wenn keine Api-Func aufgerufen wurde (@gharlan)
    • 🌲 rex_log_file: Pipe-Zeichen "|" konnte nicht in der Log-Message verwendet werden (@gharlan)
    • Console-Commands:
      • user:create warf einen Fehler (@bloep)
      • db:set-connection konnte nur verwendet werden, wenn schon eine gültige DB-Verbindung hinterlegt war (@bloep)
      • db:set-connection hat fälschlich für nicht gesetzte Optionen deren Wert mit null gesetzt (@bloep)
      • package:install: Installation von Plugins von nicht aktivierten Addons wurde nicht unterbunden (@bloep)
    • Im Setup bei "Aktualisierung der Datenbank" waren nicht alle Klassen dem Autoloader bekannt während der Re-Installation der Addons (@gharlan)
    • Identität wechseln: Beim Zurückwechseln kommt es nicht mehr zu einem Fehler, wenn schon in einem anderen Tab zurückgewechselt wurde (@tbaddade)
    • ➕ Addonverwaltung: Beim Öffnen der Hilfe/Lizenz eines Addons wird korrekt nach oben gesprungen (@gharlan)
    • Bei Session-Start-Fehlern wurde der spezifische Grund unterschlagen (@gharlan)
    • Datumsformat sprachspezifisch vereinheitlicht/korrigiert (@gharlan)

    backup 2.5.0 – 02.02.2020

    Neu

    • 0️⃣ Default-Dateiname: Datum vor REDAXO-Version für bessere Sortierung (@bloep)
    • 0️⃣ Cronjob: Tabellen können ausgeschlossen werden, User-Tabelle default nun mit im Backup (@alexplusde)
    • Es wird davor gewarnt, dass Import von Backups älterer REDAXO- und Addon-Versionen zu Problemen führen können (@gharlan)
    • Upload-Limits werden angezeigt (@skerbis)
    • Wording optimiert (@marcohanke)

    🛠 Bugfixes

    • Beim Datei-Import kam es mit PHP 7.4 zu Notices (@gharlan)

    💅 be_style 2.9.0 – 02.02.2020

    • Der Ajax-Loader-Layer erscheint erst mit Verzögerung um Flackern bei sehr schnellen Seitenladungen zu vermeiden (@gharlan)
    • Tabellenlayout optimiert (@schuer)
    • Submodule entfernt (@schuer, @gharlan)
    • In Markdown-Ausgaben hatten Listen ab zweiter Ebene keine Listenpunkte (@gharlan)
    • Customizer-Layout korrigiert (@schuer)
    • ⚡️ Update CodeMirror (5.51) mit neuen Optionen (@aeberhard)
      • addon autorefresh.js hinzugefügt wg. hidden Textarea bei cronjobs
      • CSS Standardhöhe CodeMirror von 330px auf 490px angepasst, border hinzugefügt
      • neue Option AutoResize, codemirror-autoresize.css hinzugefügt
      • ESC-Taste für fullscreen (mac), Hinweis auf Fullscreen-Modus bei den Optionen
      • comdemirror.css -> codemirror.min.css
      • comdemirror-compressed.js -> codemirror.min.js
    • ⚡️ Beim Update wurden die CodeMirror-Assets nicht aktualisiert (@gharlan)

    👷 cronjob 2.6.0 – 02.02.2020

    Neu

    • Bei (Re)Installation/Update wird rex_sql_table verwendet (@tbaddade)
    • 🔊 Button zum Löschen des Logs (@skerbis)

    🛠 Bugfixes

    • 🌲 Die Log-Message wurde nicht escaped ausgegeben (@gharlan)
    • 🔌 Plugin optimize_tables:
      • Tabellennamen wurden nicht escaped (@alexplusde)
      • Fehlermeldungen wurden nicht ins Log geschrieben (@alexplusde)

    install 2.6.0 – 02.02.2020

    Neu

    • ⚡️ Update-Fehlermeldungen durch neue Formatierung/Formulierung besser verständlich gemacht (@gharlan)
    • Nach Herunterladen eines Addons und Klick auf "Zur Addonverwaltung" ist das Addon dort markiert (@gharlan)
    • Nach Hochladen einer Addon-Version landet man in den Addon-Details, statt in der Übersicht (@gharlan)

    🛠 Bugfixes

    • Beim Öffnen der Details eines Addons wird korrekt nach oben gesprungen (@gharlan)

    media_manager 2.8.0 – 02.02.2020

    Neu

    • Statt des Error-Bildes wird nun der 404-Statuscode gesendet (@gharlan)
    • Effekt convert2img: Funktioniert nun auch ohne exec()-Rechte, wenn die PHP-Extension imagick installiert ist (@iceman-fx, @gharlan)
    • Umbenennung "Mediatyp" in "Medientyp" (@alexplusde)

    🛠 Bugfixes

    • Effekt rotate: Transparenz wurde nicht erhalten (@gharlan)

    mediapool 2.7.0 – 02.02.2020

    Neu

    • Bei (Re)Installation/Update wird rex_sql_table verwendet (@tbaddade)
    • Beim Upload wird nicht mehr der gesendete Mimetype, sondern der durch mime_content_type() bestimmte Typ genommen (@bloep)

    🛠 Bugfixes

    • rex_media: Bei hasValue konnte im Gegensatz zu getValue nicht der med_-Präfix für die Metainfos weggelassen werden (@bloep)
    • rex_media_category: Wenn bei getChildren/getMedia ein leere Liste herauskam, wurde unnötig der Cache erneuert (@gharlan)
    • Beim Upload kam es in PHP 7.4 teils zu Notices (@gharlan)

    metainfo 2.6.0 – 02.02.2020

    Neu

    • Artikel-Metainfos können auf Templates beschränkt werden (@felixheidecke)
    • Bei (Re)Installation/Update wird rex_sql_table verwendet (@tbaddade)

    🛠 Bugfixes

    • Manche Queries wurden unnötigt doppelt ausgeführt (@tbaddade)

    phpmailer 2.7.0 – 02.02.2020

    Neu

    • 🌲 Vorhandene Log-Funktion (Ablegen der ganzen Mails) umbenannt in Archivierung (@skerbis)
    • 🌲 Neue Log-Funktion mit Zeit, Absender, Empfänger, Betreff und Meldung in Logdatei; optional für alle Mails, oder nur bei Fehlern, oder ganz deaktiviert (@skerbis)
    • Hinweis in Readme, dass über SMTP keine leeren Bodys möglich sind (@skerbis)

    structure 2.9.0 – 02.02.2020

    Neu

    • Neue Rechte addCategory[], editCategory[], deleteCategory[], addArticle[], editArticle[], deleteArticle[] (@gharlan)
    • Templates können eindeutige Keys vergeben werden und dann darüber (statt über die ID) eingebunden werden (REX_TEMPLATE[key=my_key]) (@tbaddade)
    • Toggle-Status der Panels in der Sidebar (Metainfos etc.) wird per Localstorage gespeichert (@IngoWinter)
    • rex_navigation:
      • Die Callbacks erhalten als weiteren Referenzparameter den Linktext und können ihn darüber ändern (@alexplusde)
      • Markup kann über Klassenerweiterung und Überschreiben der neu dafür vorgesehenen Methoden angepasst werden (@DanielWeitenauer, @gharlan)
    • Neue Klasse rex_template_select für die Template-Auswahl (@DanielWeitenauer)
    • Neue Methode rex_content_service::addSlice (@omphteliba, @gharlan)
    • Neuer EP ART_CONTENT_UPDATED bei jeglichen Content-Änderungen (@gharlan)
    • In der Struktur wird nicht mehr die Kategorie-Zeile ".." für die Oberkategorie ausgegeben (@schuer)
    • Die Artikel-Tabellenzeilen haben ein neues Attribut data-article-id="X" für Artikelspezifische Anpassungen (@skerbis)
    • Module-Auswahl über separates Fragment module_select.php für einfachere Anpassung (@tbaddade)
    • Code besser strukturiert mittels neuer Klasse rex_structure_context (@DanielWeitenauer)
    • 🔌 Zusammenspiel der Plugins history und version optimiert (@dergel)
    • 🔌 Plugin history: Cronjob-Typ für das Löschen alter History-Datensätze (@dergel)
    • 🔌 Plugin version: Toolbar besser platziert nur über dem Bereich, auf den sie sich bezieht (@gharlan)

    🛠 Bugfixes

    • Mountpoints wurden in Linkmap und rex_category_select unsortiert ausgegeben (@gharlan)
    • rex_category: Wenn bei getChildren/getArticles ein leere Liste herauskam, wurde unnötig der Cache erneuert (@gharlan)
    • rex_article_content: Bei hasValue konnte im Gegensatz zu getValue nicht der art_-Präfix für die Metainfos weggelassen werden (@bloep)
    • Beim Ändern von Kategorien/Artikeln wurde das Änderungsdatum immer in allen Sprachen neu gesetzt (@gharlan)

    👉 users 2.6.0 – 02.02.2020

    Neu

    • Perm-Selects in Rollenverwaltung:
      • Perms mit vorangestellten Perm-Key (perm[]) und alphabetisch sortiert (@tbaddade)
      • Bei Bedarf bis zu 20 Zeilen lang statt 10 (@gharlan)
    • Bei (Re)Installation/Update wird rex_sql_table verwendet (@tbaddade)

    🛠 Bugfixes

    • Bei Benutzern mit mehreren Rollen konnte es bei den complex_perms (z.B. Mountpoints) zu Dopplungen kommen (@gharlan)