Registro delle modifiche

NeoFrag Reborn 1.2.24

Luandre 4 ott 2026 4 min di lettura 39
Sommario
Sommario

NeoFrag Reborn si apre su GitHub. Il codice del CMS (NeoFragReborn/neofrag), gli addon à la carte (NeoFragReborn/extensions) e il bot Discord (NeoFragReborn/bot-discord) vi sono pubblicati con la storia delle loro versioni — dalla 1.0.0 per il CMS e gli addon, dalla 0.1.0 per il bot: il codice di ogni versione, le sue note, e i pacchetti dalla 1.2.23 in poi.

Modificato

  • I database indicati sono quelli che vengono provati: ogni versione si installa e supera tutta la sua suite di test, con PHP 8.2 e 8.5, su MySQL 5.7, 8.0 e 8.4 e su MariaDB 10.5, 10.6, 10.11, 11.4 e 11.8 — la guida all'installazione elenca queste versioni, e non più «5.7+» e «10.5+».
  • Le guide dicono dove trovare il progetto: il pacchetto di installazione e l'archivio del bot nella loro pagina delle versioni, gli addon à la carte e il loro catalogo in quella di extensions, il codice per chi vuole contribuire. Nel wiki, i riferimenti a un documento del repository (deployment, architettura, strumenti) portano a quel documento su GitHub, invece di conservarne solo il titolo.

Corretto

  • Le impostazioni dei moduli si aprono di nuovo: la finestra «Configurazione» dei moduli Forum, Reclutamento, Notizie, Galleria, Eventi, Calendario e Articoli rispondeva «errore 500» a ogni apertura, su ogni sito, dalla 1.2.0: il campo «numero» rifiutava un intero (il suo passo, e il valore letto dal database) da quando il codice è passato alla tipizzazione rigorosa.
  • Squadre: l'opzione «Mostra le partite giocate» si può di nuovo togliere. Il salvataggio delle impostazioni memorizzava la parola «Array» invece di un sì o di un no, che veniva sempre letto come «sì».
  • Le impostazioni di un servizio di autenticazione mai configurato (Google, Discord, GitHub) si aprono senza scrivere otto avvisi nel registro.
  • Il cruscotto e le statistiche di un sito senza Articoli, Bug tracker o Forum non scrivono più avvisi nel registro a ogni apertura: le schede di questi moduli compaiono solo se sono installati, e nessuna tabella assente viene più interrogata.
  • L'installer guidato rilegge la configurazione che ha appena scritto: su un hosting la cui cache di PHP non ricontrolla i file, un secondo tentativo del passo «Database» leggeva ancora il vecchio config/db.php.
  • Un sito messo online da git e installato con l'installer web funziona: l'installer non scriveva config/neofrag.php (il pacchetto lo porta, un clone ha solo il suo modello), e ogni pagina rispondeva «errore 500» senza una sola riga nel registro.
  • L'esempio nginx.conf si avvia: la regola di TinyMCE, senza virgolette, faceva rifiutare a nginx tutta la configurazione («missing closing parenthesis»). I suoi reindirizzamenti non portano più il parametro interno request_url.
  • I file caricati vengono serviti con Apache e PHP come modulo: la protezione di upload/ usava una direttiva vietata in un .htaccess, e tutta quella cartella — avatar, galleria, mediateca — rispondeva «errore 500».
  • Con Caddy, i file caricati che non sono immagini (un PDF della mediateca) vengono serviti: l'esempio serviva solo immagini.
  • /index.php porta alla pagina iniziale (reindirizzamento permanente) invece che a una pagina non trovata; e un indirizzo con un'estensione che nessuna pagina serve (/newsletter/.env, che i robot provano) risponde 404 senza scrivere un'anomalia nel registro.
  • tools/check-all.php con PHP 8.2: ogni controllo vi contava come fallito, anche quando passava — il codice di uscita veniva letto una volta di troppo, cosa che PHP permette solo dalla 8.3. Per chi contribuisce con PHP 8.2.

Sicurezza

  • L'installer guidato non si riapre più su un sito installato il cui database non risponde. Se il blocco install/db.txt era sparito, un'interruzione temporanea del database riapriva l'installer, il cui passo «Database» riscrive config/db.php: un visitatore poteva allora dirottare il sito verso il proprio database. Il sito mostra ora «temporaneamente non disponibile». E il passo «Amministratore» si rifiuta di creare un account appena il sito ne ha uno.
  • Apache esegue ora solo l'index.php della radice: la regola di riscrittura lasciava eseguire direttamente qualsiasi file index.php di una sottocartella (più di ottanta controller interni).

Aggiunto

  • Quattro controlli in più: check-assistant percorre l'installer guidato dall'inizio alla fine, come un visitatore, per ogni profilo (schermate, rifiuti, account creato, accesso con la password inserita, registro silenzioso); check-reglages apre la schermata delle impostazioni di ogni addon, la salva così com'è e la riapre; check-serveur-web prova Apache, nginx e Caddy, con le configurazioni incluse, collocando delle sonde (cartelle e file vietati, script che non devono essere eseguiti, riscrittura, intestazioni di sicurezza); check-nouveau-venu segue alla lettera il README e la guida per i contributori su una macchina pulita. I flussi installation.yml e nouveau-venu.yml li rieseguono ogni settimana.
  • I comandi del README funzionano su una macchina nuova: il suo blocco «Sviluppare» finiva con una suite di test che falliva per mancanza di un database di test; ora rimanda alla guida per i contributori, che crea quel database (php tools/prepare-test-db.php).

Da leggere anche

0
Commenti

Gestisci i miei cookie

Il sito installa solo i cookie necessari al suo funzionamento: non richiedono il suo consenso. Gli altri servizi appartengono ad altre società; si caricano solo se li accetta. La sua scelta è conservata per sei mesi, e può cambiarla in qualsiasi momento.

Necessari al sito Sempre attivi

  • __Host-session Mantiene il suo accesso e protegge i moduli dagli invii fraudolenti. Fino alla chiusura del browser; un anno con «Ricordami»
  • nf_consent Conserva le scelte che fa in questa finestra. 6 mesi
  • nf_fuseau Mostra le date e gli orari nel suo fuso orario. 1 anno
  • Memoria del browser Conserva la sua scelta tra modalità giorno e notte, e la presentazione scelta per l’elenco degli articoli. Finché non lo svuota

Video

I video integrati nelle pagine: il lettore proviene dalla piattaforma, che riceve il suo indirizzo IP e può installare i propri cookie.

Musica

I brani e le playlist integrati nelle pagine: il lettore proviene dalla piattaforma, che riceve il suo indirizzo IP e può installare i propri cookie.