È stato pubblicato il rilascio della piattaforma di sviluppo collaborativo Forgejo 12.0, che consente di implementare sui propri server un sistema per lavorare con i repository Git, simile a GitHub, Bitbucket e GitLab. Forgejo è un fork del progetto Gitea, che a sua volta si è distaccato dalla piattaforma Gogs. Forgejo si è separato nel 2022 a seguito di tentativi di commercializzazione di Gitea e del passaggio della gestione a una società commerciale. Il progetto Forgejo si attiene ai principi di gestione indipendente e controllo da parte della comunità. Il servizio di hosting Git Codeberg.org ha adottato Forgejo. Il codice del progetto è scritto in Go e distribuito con licenza GPLv3.
Le caratteristiche principali della piattaforma includono un basso consumo di risorse (può essere utilizzata su Raspberry Pi o in dispositivi a basso costo VPS) e un processo di installazione semplice. Sono disponibili funzionalità standard per la gestione dei progetti, come la gestione delle attività, il tracciamento dei problemi, le pull request, un wiki, strumenti per la coordinazione dei gruppi di sviluppo, la preparazione delle versioni, l'automazione della distribuzione dei pacchetti nei repository, la gestione dei diritti di accesso, l'integrazione con piattaforme di integrazione continua, la ricerca del codice, l'autenticazione tramite LDAP e OAuth, l'accesso al repository tramite i protocolli SSH e HTTP/HTTPS, il collegamento di webhooks per l'integrazione con Slack, Discord e altri servizi, il supporto per i Git-hooks e Git LFS, strumenti per la migrazione e il mirroring dei repository. Si sottolinea inoltre la possibilità di utilizzare il protocollo ActivityPub per unire in una rete federata diverse server sviluppatori.
Principali modifiche:
- È stata rivista la pagina del profilo utente. Sono state aggiunte ulteriori azioni nel menu del profilo.

- Interfaccia di revisione delle pull request migliorata a livello di singoli commit (invece di un elenco completo delle modifiche che copre tutti i commit, in questa modalità vengono recensiti i singoli commit in sequenza). Aggiunti pulsanti "avanti" e "indietro" per navigare tra i commit durante la revisione. È consentito l'uso del pulsante di completamento della revisione per singoli commit. Nelle pagine di revisione, il testo esplicativo del commit rimane visibile.

- Aggiunta l'opzione per inviare notifiche via email sugli errori durante l'esecuzione dei lavori programmati (Forgejo Actions).
- Ottimizzato il processo di verifica dei conflitti con pull request aperte quando si aggiungono nuovi commit al ramo di destinazione. In precedenza, tale verifica causava un carico sul sistema di input/output proporzionale al numero di pull request aperte a causa dell'applicazione dell'operazione all'albero di lavoro. Il passaggio all'uso del comando "git merge-tree --write-tree" ha consentito di eseguire fusioni senza accedere all'albero di lavoro, riducendo significativamente il carico in grandi implementazioni.
- È stata aggiunta la possibilità di utilizzare SSH per attività precedentemente legate a OpenPGP. Per firmare i commit dopo aver modificato i file o ricevuto modifiche, invece della chiave GPG ora può essere utilizzata la chiave SSH (la firma viene generata nel TPM tramite ssh-agent).
- È stato aggiunto per impostazione predefinita un file robots.txt per informare i bot delle sezioni che non dovrebbero essere indicizzate.
- È stata aggiunta una funzione per mantenere il fork sincronizzato con il progetto principale.

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

- Nel editor dei commenti è stata implementata la possibilità di impostare le indentazioni con il tasto Tab.
- È stata creata un'immagine del contenitore basata su Alpine 3.22 per eseguire Forgejo 12, utilizzando Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 e OpenSSH 10.0.
Fonte: opennet.ru




