A apărut versiunea 12.0 a platformei de dezvoltare colaborativă Forgejo, care permite desfășurarea pe serverele proprii a unui sistem pentru colaborarea cu repozitorii Git, similar cu GitHub, Bitbucket și Gitlab. Forgejo este un fork al proiectului Gitea, care, la rândul său, s-a desprins din platforma Gogs. Separarea Forgejo a avut loc în 2022, după încercările de comercializare a Gitea și transferul conducerii către o companie comercială. Proiectul Forgejo respectă principiile de gestionare independentă și de control al comunității. Git-hosting-ul Codeberg.org a trecut la utilizarea Forgejo. Codul proiectului este scris în Go și este distribuit sub licența GPLv3.
Caracteristicile cheie ale platformei sunt consumul redus de resurse (poate fi utilizată pe o placă Raspberry Pi sau în sisteme ieftine VPS) și un proces simplu de instalare. Sunt oferite funcționalități standard pentru gestionarea proiectelor, cum ar fi managementul sarcinilor, urmărirea problemelor (issues), pull request-uri, wiki, instrumente pentru coordonarea grupurilor de dezvoltatori, pregătirea versiunilor, automatizarea distribuirii pachetelor în repositorii, gestionarea drepturilor de acces, integrarea cu platformele de integrare continuă, căutarea codului, autentificarea prin LDAP și OAuth, accesul la repositor cu protocoalele SSH și HTTP/HTTPS, conectarea web-hook-urilor pentru integrarea cu Slack, Discord și alte servicii, suport pentru Git hooks și Git LFS, precum și instrumente pentru migrarea și oglindirea repositoriilor. Este evidențiat în mod special suportul pentru utilizarea protocolului ActivityPub pentru unirea unor entități într-o rețea federațională. servere dezvoltatorilor.
Modificări principale:
- Pagina de profil de utilizator a fost reproiectată. Au fost adăugate acțiuni suplimentare în meniul profilului.

- Interfața de revizuire a pull request-urilor a fost îmbunătățită la nivelul fiecărui commit (în loc de o listă completă de modificări care vizează toate commit-urile, în acest mod sunt revizuite consecutiv commit-urile individuale). Pentru navigarea între commit-uri în timpul revizuirii, au fost adăugate butoane „înainte” și „înapoi”. Se permite utilizarea butonului de finalizare a revizuirii pentru commit-uri individuale. Pe paginile de revizuire, textul explicativ al commit-ului rămâne vizibil.

- A fost adăugată opțiunea de a trimite notificări prin email despre eșecurile în execuția sarcinilor programate (Forgejo Actions).
- Procesul de verificare a conflictelor cu pull request-urile deschise atunci când se introduc commit-uri noi în ramura țintă a fost optimizat. Anterior, o astfel de verificare ducea la o sarcină de intrare/ieșire proporțională cu numărul de pull request-uri deschise din cauza aplicării operației la arborele de lucru. Trecerea la utilizarea comenzii „git merge-tree —write-tree” a permis efectuarea fuziunilor fără a accesa arborele de lucru, ceea ce a redus semnificativ încărcătura în implementările mari.
- A fost adăugată posibilitatea de a utiliza SSH pentru sarcini care anterior depindeau de OpenPGP. Pentru semnarea commit-urilor după editarea fișierelor sau primirea modificărilor, în locul cheii GPG acum poate fi utilizată cheia SSH (semnătura este generată în TPM prin ssh-agent).
- Fisierul robots.txt a fost adăugat implicit pentru a informa roboții despre secțiunile care nu trebuie indexate.
- A fost adăugată funcția de a menține fork-ul într-o stare sincronizată cu proiectul principal.

- A fost adăugată suportul pentru previzualizarea modelurilor 3D în formatul glTF.

- Editorul de comentarii a implementat posibilitatea de a adăuga indentări cu tasta Tab.
- Pe baza Alpine 3.22 a fost creată o imagine de container gata de utilizare pentru rularea Forgejo 12, care utilizează Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 și OpenSSH 10.0.
Sursa: opennet.ro




