È stato pubblicato il rilascio della piattaforma di sviluppo collaborativo Forgejo 12.0, che consente di implementare nei propri server un sistema di collaborazione con repository Git, simile a GitHub, Bitbucket e Gitlab per le funzionalità offerte. Forgejo è un fork del progetto Gitea, che a sua volta si è staccato dalla piattaforma Gogs. La separazione di Forgejo è avvenuta nel 2022 dopo i tentativi di commercializzazione di Gitea e il passaggio della gestione a un'azienda commerciale. Il progetto Forgejo segue principi di autonomia e responsabilità verso la comunità. Il Git hosting Codeberg.org ha adottato Forgejo. Il codice del progetto è scritto in Go e viene distribuito sotto licenza GPLv3.
Le caratteristiche principali della piattaforma includono un basso consumo di risorse (può essere utilizzata su una scheda Raspberry Pi o su macchine economiche VPS) e un processo di installazione semplice. Vengono fornite funzionalità standard per la gestione dei progetti, come gestione delle attività, tracciamento dei problemi (issues), richieste di pull, wiki, strumenti per il coordinamento dei gruppi di sviluppatori, preparazione delle versioni, automazione del deployment dei pacchetti nei repository, gestione dei diritti di accesso, integrazione con piattaforme di continuous integration, ricerca nel codice, autenticazione tramite LDAP e OAuth, accesso ai repository tramite i protocolli SSH e HTTP/HTTPS, connessione di webhook per integrazioni con Slack, Discord e altri servizi, supporto per git hooks e Git LFS, strumenti per la migrazione e il mirroring dei repository. È particolarmente evidenziata la possibilità di utilizzare il protocollo ActivityPub per unire in una rete federata singoli server sviluppatori.
Variazioni principali:
- Rivista la pagina del profilo utente. Aggiunte ulteriori azioni nel menu del profilo.

- Migliorata l'interfaccia per la revisione delle pull request a livello di singoli commit (invece di un elenco completo delle modifiche che coprono tutti i commit, in questa modalità vengono esaminati singolarmente commit consecutivi). Sono stati aggiunti i pulsanti 'avanti' e 'indietro' per la navigazione tra i commit durante la revisione. È consentito utilizzare il pulsante di completamento della revisione per singoli commit. Sulle pagine di revisione, resta visibile il testo esplicativo del commit.

- Aggiunta un'opzione per inviare notifiche via email in caso di errori durante l'esecuzione di attività programmate (Forgejo Actions).
- Ottimizzato il processo di controllo dei conflitti con pull request aperte quando nuovi commit vengono inseriti nel ramo target. In precedenza, tale controllo causava un carico di input/output proporzionale al numero di pull request aperte a causa dell'operazione applicata all'albero di lavoro. Il passaggio all'utilizzo del comando 'git merge-tree —write-tree' ha consentito merge senza fare riferimento all'albero di lavoro, riducendo notevolmente il carico nelle implementazioni su larga scala.
- Aggiunta la possibilità di utilizzare SSH per compiti precedentemente legati a OpenPGP. Per firmare i commit dopo aver modificato i file o accettato modifiche, invece della chiave GPG, ora può essere utilizzata la chiave SSH (la firma viene generata nel TPM tramite ssh-agent).
- Aggiunto di default il file robots.txt per informare i bot sulle sezioni da non indicizzare.
- Aggiunta una funzione per mantenere un fork in uno stato sincronizzato con il progetto principale.

- Aggiunta la supporto per l'anteprima dei modelli 3D nel formato glTF.

- Nell'editor dei commenti è stata implementata la possibilità di inserire rientri con il tasto Tab.
- Basato su Alpine 3.22, è stato creato un'immagine del contenitore pronta per eseguire Forgejo 12, che utilizza Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 e OpenSSH 10.0.
Fonte: opennet.ru




