The release of the collaborative development platform Forgejo 12.0 has been published, allowing the deployment of a system for collaboration with Git repositories on your own servers, similar to GitHub, Bitbucket, and GitLab in terms of tasks. Forgejo is a fork of the Gitea project, which itself branched off from the Gogs platform. The separation of Forgejo occurred in 2022 after attempts to commercialize Gitea and the transfer of management to a commercial company. The Forgejo project adheres to the principles of independent governance and community oversight. Codeberg.org has transitioned to using Forgejo for Git hosting. The project code is written in Go and distributed under the GPLv3 license.
Key features of the platform include low resource consumption (can run on a Raspberry Pi or inexpensive devices) VPS) and a simple installation process. Typical project management capabilities are provided, such as task management, issue tracking, pull requests, wikis, tools for coordinating developer teams, release preparation, automation of package deployment in repositories, access rights management, integration with continuous integration platforms, code search, authentication via LDAP and OAuth, repository access via SSH and HTTP/HTTPS protocols, webhooks integration for services like Slack, Discord, and others, support for Git hooks and Git LFS, migration and mirroring tools for repositories. Notably, it supports the ActivityPub protocol for connecting individual servers developers in a federated network.
Key Changes:
- The user profile page has been redesigned. Additional actions have been added to the profile menu.

- The interface for reviewing pull requests at the level of individual commits has been improved (instead of a complete list of changes covering all commits, this mode reviews individual commits sequentially). Forward and backward buttons have been added for navigating through commits during reviews. The completion button for individual commits is now allowed. The explanatory text for the commit remains visible on the review pages.

- An option to send email notifications about failures during scheduled tasks (Forgejo Actions) has been added.
- The process of checking for conflicts with open pull requests when new commits are added to the target branch has been optimized. Previously, such checks placed load on input/output proportional to the number of open pull requests due to operations on the working tree. Transitioning to use the command "git merge-tree --write-tree" allows merging without accessing the working tree, significantly reducing load in large deployments.
- Support for using SSH for tasks previously tied to OpenPGP has been added. For signing commits after editing files or accepting changes, an SSH key can now be used instead of a GPG key (the signature is generated in TPM through ssh-agent).
- A robots.txt file has been added by default to inform bots about sections that should not be indexed.
- A feature to maintain a fork in a state synchronized with the main project has been added.

- Support for previewing 3D models in glTF format has been added.

- The comment editor now allows indenting using the Tab key.
- A ready container image for running Forgejo 12 has been built based on Alpine 3.22, using Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2, and OpenSSH 10.0.
Source: opennet.ru




