Skip to main content

Änderungsprotokoll

Dieses Änderungsprotokoll listet alle veröffentlichten Versionen von Mail Log, die neueste zuerst.

Diese Seite wird beim Release automatisch aus der Änderungsdatei des Produkts erzeugt. Änderungen von Hand gehen beim nächsten Abgleich verloren.

Version 1.0.2 – 31.07.2026

Hinzugefügt

  • E-Mails aus Kommandozeilen- und Scheduler-Läufen werden protokolliert. Joomlas Konsolenanwendung löst onAfterInitialise nicht aus, weshalb bei cli/joomla.php — und damit bei scheduler:run — bisher gar nichts erfasst wurde.
  • Die Option „Protokollierte Kontexte“ (Website, Administration, Kommandozeile, API) wird jetzt tatsächlich ausgewertet; bisher war sie ohne Wirkung. Ohne gespeicherte Auswahl wird weiterhin jeder Kontext protokolliert.
  • Die Listenansicht weist auf Einträge hin, die aus früheren Versionen stammen und deshalb keinen Nachrichtentext enthalten können, und verlinkt sie zum Löschen. Der Text lässt sich nicht nachträglich ergänzen — er wurde nie gespeichert. Der Hinweis kann dauerhaft ausgeblendet werden.

Geändert

  • Der Download der rohen .eml-Nachricht verlangt jetzt zusätzlich die Berechtigung „Nachrichtentext ansehen“. Die .eml enthält den vollständigen Text; bisher prüfte nur die Detailansicht diese Berechtigung, der Download-Endpunkt nicht — sie ließ sich damit umgehen. Gruppen, denen der Download erlaubt, „Nachrichtentext ansehen“ aber nicht ausdrücklich gewährt ist, verlieren den .eml-Download; Super-User sind nicht betroffen. Für Anhänge genügt weiterhin die Download-Berechtigung allein.
  • Die Standardwerte protokollieren jetzt vollständig. Neu: Nachrichtentext „vollständig speichern“ (vorher nur die ersten 4 KB), Roh-MIME wird gespeichert (vorher aus) und Mails mit sensiblem Betreff werden wie alle anderen protokolliert (vorher nur Metadaten). Die Maskierungsmuster für token=/key= bleiben aktiv; wer sie leert, protokolliert auch Anmeldelinks und Token im Klartext. Bestehende Installationen behalten ihre gespeicherten Einstellungen — die neuen Werte gelten für Neuinstallationen.

Behoben

  • Der Nachrichtentext protokollierter E-Mails blieb immer leer, unabhängig von den Einstellungen unter „Body-Speicherung“ und „Sensible Inhalte“. Joomla reicht Aufrufern Kopien eines zwischengespeicherten Mailer-Objekts (Factory::getMailer()); die Protokollierung las Text, Anhänge und Kopfzeilen aber von der Vorlage, die nie etwas versendet hatte. Ausgewertet wird jetzt die tatsächlich sendende Instanz. Damit werden auch HTML-Erkennung, Anhänge, Antwort-an, benutzerdefinierte Kopfzeilen, das Roh-MIME und die Fehlermeldung fehlgeschlagener Sendungen wieder korrekt erfasst — und der erneute Versand funktioniert wieder, der ohne gespeicherten Text nicht möglich war.
  • Bei verschlüsselter Body-Speicherung liefen die Maskierungsmuster aus „Sensible Inhalte“ über den bereits verschlüsselten Text und griffen deshalb nie. Maskiert wird jetzt vor dem Verschlüsseln und vor dem Kürzen.
  • Die HTML-Erkennung wertet neben text/html nun auch mehrteilige Inhaltstypen und einen gesetzten Alternativtext aus.
  • Beim Auszug „nur die ersten N KB“ wurde die Originalgröße des Textes nicht vermerkt; die Detailansicht konnte sie deshalb nicht anzeigen.
  • Aufgaben-Plugin und System-Plugin gingen bei nie gespeicherten Optionen von unterschiedlichen Vorgabewerten für die Body-Speicherung aus.
  • Auf frischen Installationen wurde nichts maskiert, obwohl die Optionsmaske zwei Maskierungsmuster als aktiv anzeigte: Die Muster aus config.xml greifen erst nach dem ersten Speichern der Optionen, und der Vorgabewert im Code war leer. Alle Vorgabewerte liegen jetzt an einer einzigen Stelle und werden durch einen Test gegen config.xml geprüft — in beide Richtungen, damit eine neue Option nicht wieder durchs Raster fällt.
  • Beim Speichern der Optionen gingen interne Werte verloren, die absichtlich nicht im Formular stehen: der Zeiger auf den alten Anhang-Ordner (Anhänge aus der Zeit vor 0.1.0 waren danach nicht mehr herunterladbar) und die Ausblendung des Hinweises auf Einträge ohne Nachrichtentext.
  • Der Optionen-Button wurde über „Konfigurieren“ eingeblendet, Joomla verlangt für die Optionsmaske aber „Zugriff auf Administration“ oder „Optionen bearbeiten“ — Gruppen ohne diese Rechte sahen einen Button, der beim Klick abwies.

Version 1.0.1 – 31.07.2026

Hinzugefügt

  • Einheitliches Installationspanel nach Installation und Update, im Aufbau identisch zu den übrigen Graup-IT-Erweiterungen: Produktmarke, Version, Status, Einstieg in die Komponente sowie Karten für Erste Schritte, Download-Schlüssel und Handbuch.
  • Die Karte „Updates aktivieren“ führt direkt auf die Update-Quellen, vorgefiltert auf „Download-Schlüssel fehlt“.
  • <changelogurl> im Paket-Manifest: Der Erweiterungs-Manager zeigt hinter der Versionsnummer die Änderungsliste.

Geändert

  • Die Meldungen des Paket-Installationsskripts (Anforderungen an PHP und Joomla) laufen über Sprachkonstanten statt über fest eingebautes Englisch und liegen in Deutsch und Englisch vor.
  • Die ungenutzten Konstanten PKG_MAILLOG_INSTALL_SUCCESS und PKG_MAILLOG_UPDATE_SUCCESS entfallen; das Panel meldet den Erfolg.

Version 1.0.0 – 20.07.2026

Geändert

  • Erweiterungs-Icon auf die Kompaktmarke der neuen Mail-Log-Logo-Familie umgestellt (media/com_maillog/images/icon-maillog-*).

Behoben

  • Admin-Menü: Der Haupteintrag verwendete das Icon-Kürzel class:maillog, für das keine CSS-Definition existiert (Icon blieb leer) — ersetzt durch das Standard-Briefumschlag-Glyph.

Version 0.1.2 – 20.07.2026

Behoben

  • Scheduler-Aufgaben zeigten im Auswahldialog rohe Sprachkonstanten statt Titel und Beschreibung.
  • Der Hinweis „Für diesen Eintrag werden nur die ersten N KB des Body gespeichert" in der Detailansicht zeigt jetzt die tatsächlich konfigurierte Auszugsgröße statt des Platzhalters „N".
  • Veraltete Beschreibung des Verschlüsselungs-Key-Felds in den Optionen entfernt (widersprach der HKDF-Statusanzeige).

Version 0.1.1 – 17.07.2026

Behoben

  • Update-Server-Verdrahtung korrigiert (0.1.0 hätte nie Updates gefunden): Die Update-Site im Paket-Manifest zeigt jetzt auf die tatsächlich gehostete pkg_maillog_updates.xml; das fehlende <dlid prefix="dlid="/> wurde ergänzt, damit Joomla den Download-Key des Kunden an Membership Pro übergibt; der ins Leere zeigende komponenteneigene Update-Server wurde entfernt.

Version 0.1.0 – 17.07.2026

Sicherheit

  • CSV-Export gegen Formula-Injection gehärtet: Zellen, die mit =, +, -, @, Tab oder CR beginnen, werden neutralisiert (OWASP-Empfehlung).
  • Verschlüsselung ohne Schlüssel in der Datenbank: Der Body-Cipher leitet seinen Schlüssel jetzt per HKDF aus dem Joomla-Secret ab (neue Blob-Versionen 0x03/0x04). Alt-verschlüsselte Einträge bleiben lesbar; der neue Scheduler-Task „Mail Log: Alt-verschlüsselte Bodies migrieren" schlüsselt sie um und entfernt den Alt-Schlüssel automatisch. Hinweis: Eine Rotation des Joomla-Secrets macht verschlüsselte Einträge unlesbar.
  • Anhang-Speicher außerhalb des Web-Roots: Neuer Standardpfad {log_path}/com_maillog/attachments (statt images/…). Bestehende Dateien bleiben über einen Legacy-Fallback lesbar; der neue Task „Mail Log: Anhang-Dateien umziehen" verschiebt sie. Download-Pfadprüfung gehärtet.
  • Datenschutz ab Werk: Body-Speichermodus-Default jetzt „Metadaten + Auszug", Roh-MIME-Speicherung ab Werk aus; Sensibel-Patterns werden in Bestandsinstallationen mit leerem Feld nachgezogen (Passwort-Reset-Mails landen nicht mehr im Klartext).
  • Fehlgeschlagene Mailer-Dekoration wird jetzt als Warnung gemeldet statt still ignoriert; Debug-Diagnose maskiert Betreffzeilen.

Geändert

  • Interne Modernisierung: Konstruktor-DI über den Service-Provider, Enums statt Magic Numbers, ein einziger Krypto- und ein einziger Decorator-Codepfad, toter Code entfernt.
  • UI nutzt den WebAssetManager (joomla.asset.json); keine Inline-Scripts/-Styles mehr; alle Meldungen in Deutsch und Englisch lokalisiert.
  • Performance: neue Indizes (Kontext-Filter, Demo-Löschpfad), ungenutzten FULLTEXT-Index entfernt, Dashboard-KPIs und Statistik-Aggregation in je einer Query, Anhang-Größenprüfung gecacht.

Behoben

  • „Erneut senden" aus der Log-Liste und „Demo-Daten löschen" funktionieren wieder (CSRF-Prüfung traf auf GET-Links; beide Aktionen laufen jetzt als POST).
  • CSV-Export enthält alle gefilterten Einträge statt nur der ersten Seite und streamt speicherschonend.
  • Statistik-Task erzeugt keine sinnlosen Duplicate-Key-INSERTs mehr.
  • Rate-Limit beim erneuten Senden schlägt jetzt sicher fehl (fail-closed).

Hinweise

  • Nach dem Update die Scheduler-Tasks „Alt-verschlüsselte Bodies migrieren" und „Anhang-Dateien umziehen" ausführen (einmalig, bis keine Restbestände gemeldet werden). Beides erledigt sich danach selbst.

Version 0.0.24 – 20.04.2026

Hinweise

  • Letzter Stand vor der Sanierung (Erstimport ins Repository).