REDAXO-Core 5.7.0 – 12.03.2019
Wichtig
REDAXO 5.7.x ist die letzte Version die mit PHP 7.0 oder älter kompatibel ist.
Ab REDAXO 5.8.x wird PHP 7.1 oder neuer vorrausgesetzt.
Neu
- System-Page:
- Überarbeitung/Optimierung von System/Einstellungen (@tbaddade, @skerbis)
- Zentrale Page für Logdateien, mit REDAXO-, PHP-, PHPMailer-Log und zukünftig ggf. weiteren (@staabm)
- Packages können eigene Logfiles in der neuen zentralen System-Log-Seite einbinden (@staabm)
- Systembericht mit Infos zu REDAXO, AddOns, PHP, Server (auch als Markdown zum Kopieren und Verwenden in GitHub-Issues etc.) (@gharlan)
- Fehlerbehandlung:
- Whoops: Button "Copy as markdown" um Exception, Stacktrace und Systembericht zusammen als Markdown zu erhalten für Issues etc. (@gharlan)
- Schönere Fehlerseite im Frontend und Backend (wenn nicht als Admin eingeloggt) (@elricco, @staabm, @tbaddade)
- Die neuen Fehlerseiten können via Fragment angepasst werden (@tbaddade, @staabm)
- Editor-Integration:
- Unter System kann ein Editor ausgewählt werden; Quellcode-Dateien werden dann (z.B. in Whoops) so verlinkt, dass man sie direkt in dem Editor öffnen kann (@staabm, @gharlan)
- Mit der
rex_editor
-Klasse können an weiteren Stellen Editor-URLs erzeugt werden (@staabm) - Über den EP
EDITOR_URL
können die URLs manipuliert werden (@gharlan)
- Console:
rex
: Neue MethodeisFrontend
(@staabm)rex_list
/rex_form
: Nutzbar mit den weiteren Datenbanken (@gharlan)rex_i18n
: Neue MethodemsgInLocale
zum Übersetzen in andere Sprachen ohne die Default-Sprache zu ändern (@staabm)rex_path
: Neue Methoderelative()
um aus einem absoluten Pfad einen relativ zum Projekt-Root zu bekommen (@gharlan)rex_file
: Schreibvorgänge sind nun atomar (@staabm)rex_sql
:addGlobal[Create/Update]Fields
: Umgebung (frontend/console) als Defaultwert für Benutzer (@staabm)- Debug-Ausgabe erweitert um aufgelöstes SQL-Statement inkl. Parametern (@aeberhard)
rex_clang
: Methodecount
hat optionalen Parameter$ignoreOffline
(@tbaddade)rex_response
: Unterstützung für HTTP-Range (@bloep)rex_view
: Für JS-Dateien können Optionen gesetzt werden (defer/async/immutable) (@staabm)- Es werden unterschiedliche Namespaces für Session-Variablen im Frontend und Backend verwendet, über
rex_request::clearSession
können diese getrennt voneinander gelöscht werden (@staabm) - Neue Api-Function
rex_api_has_user_session
um den Status der Backend-Session abzufragen. Damit können u.a. Single-Sign-On Mechanismen realisiert werden. (@staabm) - Setup-Hinweise bzgl. Sicherheit:
- README-Ausgabe, Markdown-Pages:
- Readme für das Project-AddOn (@dtpop)
- Aktiver Debug-Modus wird durch Icon im Header angezeigt (@schuer)
- Verständlichere CSRF-Meldung (@alexplusde)
- Backend-Übersetzungdateien:
- Neu: Niederländisch (noch ohne Core-AddOns) (@MaxKorlaar)
- Aktualisierung: Englisch (@ynamite, @skerbis), Schwedisch (@interweave-media), Spanisch (@nandes2062)
- Default-Passwortregeln: Max. Länge von 4096 Zeichen (@staabm)
- bootstrap-select wird an weiteren Stellen verwendet (@skerbis, @schuer)
- REX-Vars: Generierter PHP-Code enthält am Anfang Original-Var-Code als Kommentar (@staabm, @gharlan)
- Verbesserung der Usability durch neue Beschreibungstexte, oder Präzisierung vorhandener (@schuer, @alexplusde)
- Datum aus Footer entfernt (@staabm)
- htaccess-Check: Bei den Direktaufrufeversuchen wird ein Parameter
?redaxo-security-self-test
an die Dateien gehangen (@staabm) - Sicherheit:
- Performance:
- Backend-Assets können optional über index.php geladen werden, um optimierte Cache-Header (immutable) setzen zu können (aktiv für Core-Assets) (@staabm)
- Per Server Timing Api werden im Debug-Modus, oder bei authentifizierten Adminsessions, Metriken an den Client gesendet (@staabm)
- Weniger Dateioperationen im Backend um Datei-basiertes Cachen zu beschleunigen (@staabm)
- Übersetzungen können schneller verarbeitet/dargestellt werden (@staabm)
- Viele kleinere und größere Performance-Optimierungen (@staabm)
- Update der externen Bibliotheken
- API-Dokumentation unter https://www.redaxo.org/api/master/ übersichtlicher durch neue subpackages (@staabm)
Bugfixes
- Versionsbedingungen: Bei
^2.0
wurde fälschlich3.0-beta
akzeptiert (@gharlan) - Profil: Sprachen waren nicht sortiert und Änderungen wirkten sich nicht direkt nach Speichern aus, erst nach Reload (@skerbis, @bloep)
- Bei aktiviertem Safe-Mode blieb der Button unter "System" trotzdem bei "Safe mode aktivieren" (@skerbis)
rex_sql
: Insert ohne explizite Values warf Fehler (@gharlan)rex_sql_table
: Fürtimestamp
/datetime
-Spalten konnte nicht der Default-WertCURRENT_TIMESTAMP
gesetzt werden (@gharlan)rex_form
: Media-/Link-/Prio-Felder konnten nicht mitrex_form_base
bzw.rex_config_form
verwendet werden (@christophboecker)rex::getVersionHash
funktionierte nicht auf Windows Servern (@staabm)- Autoloader-Cache wird bei Fehlern nicht mehr geschrieben, um unvollständigen Cache zu vermeiden (@staabm)
- Nach Session-Ablauf wird bei erneutem Seitenaufruf der Browser-Cache gelöscht (wie bereits bei explizitem Logout) (@staabm)
- Besseres Escaping nutzen mittels
rex_escape
(@bloep, @gharlan) - EP
PASSWORD_UPDATED
: User-ID wurde nicht korrekt übergeben (@staabm) - Im Chrome kam es zu Warnungen bzgl. des Font-Preloadings (@bloep)
- Wenn der Client keinen
User-Agent
-Header schickt, kam es zu einer Warnung (@staabm) - Bei frühen Fehlern in der Console konnte es passieren, dass die HTML-Fehlerseite ausgegeben wurde (@staabm)
backup 2.3.0 – 12.03.2019
Neu
- Performance-Verbesserungen beim Export (@staabm)
Bugfixes
- Views nicht exportieren (@gharlan)
be_style 2.7.0 – 12.03.2019
- Layout für neue Core-Komponenten und diverse kleine Optimierungen (@tbaddade)
- Hauptnavi: Weniger Padding (top/bottom) (@schuer)
- Neue Favicons (@schuer)
- Consolen-Command
be_style:compile
(@bloep) - Codemirror-Integration verbessert (@aeberhard)
- Sourcen verkleinert (@aeberhard, @staabm)
- Ergänzt um Suche (@aeberhard)
- Vereinfachte Einbindung systemweit (@aeberhard)
- CodeMirror wird nur geladen wenn er auch benötigt wird (@aeberhard, @staabm)
- Customizer:
cronjob 2.4.0 – 12.03.2019
Neu
- Typabhängige Felder erscheinen direkt unterhalb der Typauswahl (@skerbis)
Bugfixes
- Bei Uhrzeit/Zeitzonen-Differenzen zwischen PHP und DB wurden die Cronjobs zu einem falschen Zeitpunkt ausgeführt (@dergel)
- optimize_tables: Views wurden fälschlich versucht auch zu optimieren (@gharlan)
- Plugins: Bei vorinstallierten Cronjobs wurde das Intervall nicht richtig gesetzt (@gharlan)
install 2.5.0 – 12.03.2019
Neu
- Über
installer_ignore
in derpackage.yml
können Addons Ordner/Dateien angeben, die beim Upload ausgeschlossen werden sollen (@schuer) - AddOn-Beschreibung und Versions-Beschreibungen werden als Markdown geparst (@tbaddade, @bloep)
- Erläuterung zu Backup-Option in den Einstellungen (@schuer)
Bugfixes
- Beim Update wurde mit den alten Requirements/Conflicts geprüft, wenn die neue Version keine Requirements/Conflicts mehr enthielt (@gharlan)
- Besseres Escaping mittels
rex_escape
(@bloep)
media_manager 2.6.0 – 12.03.2019
Neu
- Neue Methode
rex_media_manager::getUrl
zum Erzeugen der Media-Manager-URLs, inkl. EPMEDIA_MANAGER_URL
(@gharlan) - Unterstützung für HTTP-Range um Videos besser zu unterstützen (@bloep)
- Neue EPs:
MEDIA_MANAGER_BEFORE_SEND
undMEDIA_MANAGER_AFTER_SEND
(@tbaddade) - Recht "media_manager[]" entfernt, nur Admins dürfen Media Manager verwalten (@staabm)
- Wenn Cache-Buster-Param verwendet, werden immutable-Cache-Header gesetzt (@staabm)
- Bei (Re)Installation/Update wird
rex_sql_table
verwendet (@gharlan)
Bugfixes
- Beim Löschen eines Media-Typs blieben die Effekte in der DB erhalten (@gharlan)
- Besserer Umgang mit großen Dateien (@bloep)
- Effekt
image_properties
: Nach Aktivierung des Interlace-Modus konnte es zu Warnings kommen, die eine korrekte Auslieferung der Bilder verhindern konnte (@gharlan) - Effekt
flip
: Transparenz wurde nicht erhalten (@staabm) - CSS/JS-Dateien werden nun als
text/css
/application/javascript
statttext/plain
ausgeliefert (@TobiasKrais)
mediapool 2.5.0 – 12.03.2019
Security
- Double extension vulnerablility behoben (@staabm)
- XSS Sicherheitslücken (Cross-Site-Scripting) behoben (@staabm)
Neu
- Bessere Code-Struktur (@staabm)
- Lazy-Load der Bilder in der Liste (@staabm)
- Neuer EP:
MEDIA_MOVED
(@bloep) - @-Zeichen wird in Dateinamen nicht mehr ersetzt (@tbaddade)
- Popup 75% Höhe statt fixen 800px (@schuer)
- Visuelles Feedback für "Datei übernehmen" (@schuer)
- Buttonleiste unterhalb der Liste am Viewport fixiert (sticky) (@schuer)
- Anzeige der ID (in eckigen Klammern) entfernt (@schuer)
- Medienkategorie erstellen/bearbeiten: Autofocus auf Namensfeld (@schuer)
Bugfixes
- Nach Löschen aus der Detailansicht heraus kam fälschlich die Fehlermeldung "Datei wurde nicht gefunden" (@gharlan)
metainfo 2.4.0 – 12.03.2019
Neu
- Bei Date(time)-Feldern kann Start- und Endjahr für Jahr-Selecbox festgelegt werden (@gharlan)
Bugfixes
- Metadaten in Struktur-Sidebar werden nun vom Struktur-AddOn selbst geliefert (@DanielWeitenauer)
phpmailer 2.5.0 – 12.03.2019
Neu
- E-Mail-Benachrichtigung bei Fehlern (@phoebusryan, @skerbis)
- AutoTLS kann aktiviert/deaktiviert werden (@skerbis)
- SMTP-Einstellungen werden erst angezeigt, wenn Option gewählt. (@skerbis)
- Benutzername und Passwort werden erst angezeigt wenn Option gewählt (@skerbis)
- Bessere Test-Mails, Button-Verhalten geändert in "Speichern und testen" (@skerbis)
- Debug-Meldungen werden in Sprache des Benutzers ausgegeben (@skerbis)
- Aktualisierung Hilfe/Doku (@skerbis)
structure 2.7.0 – 12.03.2019
Neu
- Neuer EP:
CAT_MOVED
(@bloep) - Linkmap öffnet default in aktueller Kategorie (@schuer)
- version-PlugIn: Arbeitsversion kann geleert werden (@dpf-dd)
- Slice-Value-Felder als
MEDIUMTEXT
stattTEXT
damit mehr Inhalte gespeichert werden können (@bloep) - Leere CTypes werden in der Backend-Navi grau dargestellt (@schuer)
- Sliceausgabe mit Scrollbar bei zu breiten Inhalten (@schuer)
- In Moduleverwaltung wird angezeigt, ob die Module jeweils in Verwendung sind (@tbaddade)
- Bei (Re)Installation/Update wird
rex_sql_table
verwendet (@bloep) - "Kein Startartikel selektiert"-Fehler nutzt Frontend-Ooops-Seite (@tbaddade)
Bugfixes:
rex_category::get()
lieferte auch für Nicht-Startartikel ein Kategorie-Objekt (@gharlan)rex_category::getCurrent()
lieferte Fehler, wenn es keinen aktuellen Artikel gibt (@gharlan)- Der Funktionen-Tab wurde nicht ausgeblendet, wenn ein Benutzer nur die Berechtigung für
copyContent[]
und nur für eine Sprache hat (@TobiasKrais) - Template-Verwaltung: An einer Stelle wurde der Table-Prefix
rex_
fix genommen, stattrex::getTablePrefix()
(@staabm) - In Modulen enthielt im Backend die Variable
$content
den Modul-PHP-Code, was zu verwirrenden Ausgaben führen konnte (@gharlan)