The release of the joint development platform Forgejo 9.0 has been published, offering users the ability to expand a system for collaborative work with Git repositories on its servers, similar to platforms like GitHub, Bitbucket, and Gitlab. Forgejo originated as a fork of the Gitea project, which itself branched from the GOGS platform. The Forgejo project emerged in 2022 following efforts to commercialize Gitea and its subsequent transfer to a commercial entity. The project upholds principles of community-based management and control, and the popular GIT-hosting platform codeberg.org has transitioned to utilizing Forgejo. Written in Go, the project code is distributed under the MIT license.
Key features of the Forgejo 9.0 platform include its low resource consumption, making it suitable for use on devices like the Raspberry Pi and affordable VPS. The platform boasts a straightforward installation process along with standard project management capabilities such as task management, PULL Requests, Wiki functionality, developer group coordination tools, release preparation, repository package automation, access control, integration with continuous integration platforms, code search, LDAP and OAUTH authentication, SSH and HTTP/HTTPS protocol support, integration with services like Slack and Discord through webhooks, compatibility with GIT hooks and Git LFS, repository migration tools, and support for the ActivityPub protocol to connect developers across individual servers into a federated network.
The main changes in Forgejo 9.0 include:
- Transitioning from the MIT permissive license to the Coalerfet License License for new code, allowing broader compatibility with copyleft licenses and reducing risks associated with vendor lock-in and distribution of modified versions with additional restrictions.
- Addition of an initial quota system implementation to allow customizable user data size limits on the server, utilizing soft quotas that only restrict operations if exceeded.
- Inclusion of SSH-key authentication support for mirroring operations, replacing passwords.
- Removal of the Bacend Go-Git backend in favor of standard GIT tools to simplify development processes and address issues related to repository damage in Go-Git.
- Elimination of the COUCHBASE DBMS-based session provider due to limitations posed by non-free software dependencies.