Opublikowano wersję platformy do współpracy Forgejo 12.0, która umożliwia uruchomienie na własnych serwerach systemu do współpracy z repozytoriami Git, przypominającego pod względem funkcji GitHub, Bitbucket i Gitlab. Forgejo jest forkiem projektu Gitea, który z kolei odłączył się od platformy Gogs. Oddzielenie Forgejo miało miejsce w 2022 roku po próbach komercjalizacji Gitea i przeniesieniu zarządzania do rąk firmy komercyjnej. Projekt Forgejo przestrzega zasad niezależnego zarządzania i kontroli społeczności. Na korzystanie z Forgejo przeszło git-hosting Codeberg.org. Kod projektu napisany jest w języku Go i udostępniany na licencji GPLv3.
Kluczowymi cechami platformy jest niskie zużycie zasobów (może być używana na płycie Raspberry Pi lub w tanich VPS) oraz prosty proces instalacji. Oferuje standardowe możliwości pracy z projektami, takie jak zarządzanie zadaniami, śledzenie problemów (issues), pull-requesty, wiki, narzędzia do koordynacji grup programistów, przygotowanie wydań, automatyzacja publikacji pakietów w repozytoriach, zarządzanie uprawnieniami dostępu, integracja z platformami CI, przeszukiwanie kodu, autoryzacja przez LDAP i OAuth, dostęp do repozytorium za pomocą protokołów SSH oraz HTTP/HTTPS, połączenie web-huków dla integracji z Slack, Discord i innymi serwisami, wsparcie dla Git-hooks i Git LFS oraz narzędzia do migracji i lustrzania repozytoriów. Szczególnie wyróżnia się możliwość wykorzystania protokołu ActivityPub do łączenia w federacyjną sieć poszczególnych serwerów programistów.
Główne zmiany:
- Przeprojektowano stronę profilu użytkownika. Dodano dodatkowe akcje w menu profilu.

- Udoskonalono interfejs recenzowania pull-requestów na poziomie pojedynczych commitów (zamiast pełnej listy zmian, obejmującej wszystkie commity, w tym trybie kolejno recenzowane są poszczególne commity). Do nawigacji po commitach podczas recenzji dodano przyciski „dalej” i „wstecz”. Zezwolono na użycie przycisku zakończenia recenzji dla pojedynczych commitów. Na stronach recenzji pozostawiono widocznym tekst wyjaśnienia do commita.

- Dodano opcję wysyłania powiadomień email o awariach podczas wykonywania zaplanowanych działań (Forgejo Actions).
- Proces weryfikacji konfliktów z otwartymi pull requestami podczas wprowadzania nowych commitów do gałęzi docelowej został zoptymalizowany. Wcześniej tego typu weryfikacja obciążała operacje wejścia/wyjścia proporcjonalnie do liczby otwartych pull requestów z powodu stosowaniu operacji na roboczym drzewie. Przejście na użycie polecenia „git merge-tree —write-tree” pozwoliło na wykonywanie scalania bez odwoływania się do roboczego drzewa, co znacznie zmniejszyło obciążenie w dużych wdrożeniach.
- Dodano możliwość korzystania z SSH dla zadań, które wcześniej były związane z OpenPGP. Do podpisywania commitów po edytowaniu plików lub przyjmowaniu zmian zamiast klucza GPG może być teraz używany klucz SSH (podpis jest tworzony w TPM za pośrednictwem ssh-agent).
- Domyślnie dodano plik robots.txt, aby informować boty o sekcjach, które nie powinny być indeksowane.
- Dodano funkcję umożliwiającą utrzymanie forka w stanie synchronizowanym z głównym projektem.

- Dodano wsparcie dla podglądu modeli 3D w formacie glTF.

- W edytorze komentarzy wprowadzono możliwość wstawiania wcięć klawiszem Tab.
- Na bazie Alpine 3.22 stworzono gotowy obraz kontenera do uruchomienia Forgejo 12, wykorzystujący Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 oraz OpenSSH 10.0.
Źródło: opennet.ru




