Byla publikována verze platformy pro spolupráci Forgejo 12.0, která umožňuje nasadit na vlastních serverech systém pro spolupráci s repozitáři Git, připomínající funkcionalitu GitHubu, Bitbucketu a Gitlabu. Forgejo je forkem projektu Gitea, který se zase odštěpil od platformy Gogs. Odštěpení Forgejo se uskutečnilo v roce 2022 po pokusech o komercializaci Gitea a předání řízení komerční společnosti. Projekt Forgejo dodržuje principy nezávislého řízení a kontroly komunitou. Git-hosting Codeberg.org přešel na používání Forgejo. Kód projektu je napsán v jazyce Go a je distribuován pod licencí GPLv3.
Klíčovými vlastnostmi platformy je nízká spotřeba zdrojů (může být používána na desce Raspberry Pi nebo v levných VPS) a jednoduchý proces instalace. Jsou k dispozici standardní funkce práce s projekty, jako je správa úkolů, sledování problémů (issues), pull requesty, wiki, nástroje pro koordinaci skupin vývojářů, příprava verzí, automatizace nasazení balíčků do repozitářů, správa oprávnění, integrace s platformami pro kontinuální integraci, vyhledávání v kódu, autentizace přes LDAP a OAuth, přístup k repozitáři prostřednictvím protokolů SSH a HTTP/HTTPS, připojení webhooks pro integraci se Slackem, Discordem a dalšími službami, podpora Git hooks a Git LFS, nástroje pro migraci a zrcadlení repozitářů. Zvlášť se zdůrazňuje možnost využití protokolu ActivityPub pro spojení jednotlivých servery vývojáře.
Hlavní změny:
- Byla přepracována stránka s uživatelským profilem. Do nabídky profilu byly přidány další akce.

- Bylo vylepšeno rozhraní pro revizi pull-žádostí na úrovni jednotlivých commitů (namísto celého seznamu změn, který pokrývá všechny commity, se v tomto režimu postupně recenzují jednotlivé commity). Pro navigaci mezi commity při revizi byly přidány tlačítka „vpřed“ a „zpět“. Bylo povoleno použití tlačítka pro ukončení revize pro jednotlivé commity. Na stránkách revize zůstal viditelný text vysvětlení k commitu.

- Byla přidána možnost zasílat e-mailem oznámení o chybách při provádění naplánovaných úloh (Forgejo Actions).
- Byl optimalizován proces kontroly konfliktů s otevřenými pull-žádostmi při vkládání nových commitů do cílové větve. Dříve taková kontrola vedla k zátěži na vstupu/výstupu úměrné počtu otevřených pull-žádostí, kvůli provedení operace na pracovním stromě. Přechod na použití příkazu „git merge-tree —write-tree“ umožnil provádět sloučení, aniž by se obracelo na pracovní strom, což významně snížilo zátěž při velkých nasazeních.
- Byla přidána možnost používat SSH pro úkoly, které byly dříve svázány s OpenPGP. Pro podepisování commitů po úpravě souborů nebo přijetí změn může být místo klíče GPG nyní použit klíč SSH (podpis se vytváří v TPM přes ssh-agent).
- Byl ve výchozím nastavení přidán soubor robots.txt pro informování botů o oblastech, které by neměly být indexovány.
- Byla přidána funkce pro udržování forku ve stavu synchronizovaném s hlavním projektem.

- Byla přidána podpora náhledu 3D modelů ve formátu glTF.

- V editoru komentářů byla implementována možnost odsazení klávesou Tab.
- Na základě Alpine 3.22 byl vytvořen hotový obraz kontejneru pro spuštění Forgejo 12, který používá Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 a OpenSSH 10.0.
Zdroj: opennet.ru




