Der Discord-Bot geht auf Version 0.2.1: An seiner Funktionsweise ändert sich nichts — er wird ein eigenständiges Projekt, mit seiner Lizenz, seiner NOTICE und seinem eigenen Änderungsprotokoll. Ihn zu installieren ist nur für die nützlich, die diese Dateien wollen; 0.2.0 funktioniert weiterhin.
Geändert
- Die Sitemap führt keinen leeren Bereich mehr: News, Rekrutierung, eine FAQ, Teams… ohne etwas zu zeigen werden Suchmaschinen nicht mehr angeboten, die dort nur eine Seite „noch nichts“ fänden. Der Bereich kehrt mit seinem ersten Inhalt von selbst zurück. Kontakt, das Gästebuch, der Newsletter, das Webradio und die Spenden bleiben aufgeführt: Sie haben immer etwas zu bieten.
- Sicherungen stapeln sich nicht mehr: Jedes Update macht eine vollständige (16 MB und mehr), und nichts entfernte
sie. Die Website behält immer die fünf neuesten und entfernt die anderen nach dreißig Tagen; eine von Hand in
backups/abgelegte Datei wird nie angetastet. - Die Installation prüft alles, was das CMS braucht. Der Assistent prüfte weder
openssl(ohne es schlägt das Speichern eines Geheimnisses — E-Mail-Server, Captcha, Zwei-Faktor-Authentifizierung — mit einem Fehler fehl), nochfileinfo(ohne es wird jedes Hochladen einer Datei abgelehnt), nochiconv(der QR-Code der Zwei-Faktor-Authentifizierung), noch das Hashing von Passwörtern mit Argon2, ohne das das Anlegen des Administratorkontos fehlschlug. Er prüft sie jetzt und weigert sich weiterzumachen, wenn eines fehlt;install/cli.phpverlangt genau dieselbe Liste, PHP-Version eingeschlossen, statt zweier Erweiterungen. Das Monitoring und das Dashboard der Verwaltung zeigen dieselbe Liste. PHP 8.2 oder neuer ist erforderlich; das Produkt ist bis PHP 8.5 getestet. - nginx und Caddy: Das Paket liefert endlich die Konfigurationsbeispiele, die die Leitfäden versprachen
(
nginx.conf,Caddyfile), generisch, und die dieselben sensiblen Ordner und Dateien sperren wie die.htaccessvon Apache — das alte Beispiel für nginx ließinstall/,tools/,tests/unddocs/erreichbar, und der Auszug im Bereitstellungsleitfaden schützte nur drei von acht Ordnern. - Jedes Addon sagt, wer es geschrieben hat. Die Addons des ursprünglichen NeoFrag behalten ihre Autoren, Michaël BILCOT und Jérémy VALENTIN — die Anmelde-Konnektoren und die Sprachen, die nichts signierten, nennen sie jetzt, und die ursprünglichen englischen Übersetzungen nennen wieder ihre Übersetzer, FoxLey und eResnova. Portierungen nennen ihren Autor: die Uhr (ArkaNiX), das Theme Extend (Chewbaka), der Dateimanager (HiddenBlob, HiddenCMS) und die Spenden (HiddenBlob, nach majiid). Der Rest ist mit „NeoFrag Reborn“ signiert. Die Themes Nebula, Blockcraft, Forge und Granite gehen zur LGPL über, wie das Produkt; Extend behält die Lizenz seines Autors (CC BY-NC-SA). Die Lizenz jedes LGPL-Addons verweist auf den offiziellen Text der LGPL.
- HSTS: Der von der
.htaccessgesetzte Header erstreckt sich nicht mehr auf Subdomains und erklärt die Website nicht mehr für die Preload-Liste der Browser geeignet (includeSubDomainsundpreloadentfernt): Standardmäßig gesetzt, banden sie alle Subdomains dessen, der das CMS installiert hatte, für ein Jahr.
Behoben
- Eine aus dem Paket installierte Website zeichnete keine Fehler auf. Das Paket enthielt den Ordner
logs/nicht, und nichts legte ihn an: PHP schrieb seine Fehler ins Protokoll des Servers, Monitoring → Fehlerprotokoll blieb leer und nannte den Ordner „nicht beschreibbar“. Das Paket liefert jetztlogs/,cache/undbackups/mit ihrem Schutz, und eine Website ohnelogs/legt ihn selbst neu an: Ein Update genügt, um eine bereits installierte Website zu reparieren. - Die Dokumentation im Wiki hat keine toten Links mehr. Drei Verweise ihrer Seiten auf Dokumente, die die Website nicht hat (das Handbuch der Werkzeuge, ein Teil des Bereitstellungsleitfadens), führten zu einer Fehlerseite; sie behalten jetzt nur ihren Text. Der Leitfaden zum Marketplace erwähnt keine Addons „von Drittanbietern“ mehr, die es nicht gibt, noch Abläufe, die dem Server des Projekts vorbehalten sind.
- Einstellungen → Suchmaschinen weigerte sich zu speichern, sobald eine Beschreibung, ein Slogan oder ein Titel für Suchmaschinen viele Buchstaben mit Akzent enthielt: Jeder zählte als mehrere Zeichen, und eine portugiesische Beschreibung von 139 Zeichen überschritt die Grenze von 160. Ein als ganzes Tag eingefügter Bestätigungscode von Google oder Bing wurde ebenso abgelehnt. Die Weiterleitungen und die Suchmaschineneinstellungen eines Inhalts folgen derselben Regel.
- Der SEO-Bericht erkennt eine Property der Google Search Console, die über das DNS der Domain bestätigt wurde
(statt sie „nicht angegeben“ zu nennen), und rät, die Sitemap einzureichen, die alle Sprachen vereint,
/sitemap.xml, statt der nur für die angezeigte Sprache. Wenn Google bestätigt ist, nennt er Bing nicht mehr „nicht angegeben“: Die Bing Webmaster Tools können eine Website aus der Google Search Console importieren, ohne etwas auf der Website abzulegen, daher kann der Bericht es nicht sehen. humans.txt,robots.txtund der IndexNow-Schlüssel: Eine fehlende Adresse — eine leerehumans.txt, ein unbekannter Schlüssel — antwortet ein schlichtes „nicht gefunden“, ohne für jeden Bot, der sie anfragt, einen Fehler ins Protokoll der Website zu schreiben.