Se ha publicado la versión 12.0 de la plataforma de desarrollo colaborativo Forgejo, que permite implementar un sistema para colaborar con repositorios Git en sus propios servidores, similar a lo que ofrecen GitHub, Bitbucket y Gitlab. Forgejo es un fork del proyecto Gitea, que a su vez surgió de la plataforma Gogs. La separación de Forgejo ocurrió en 2022 después de intentos de comercialización de Gitea y la transición de la gestión a una empresa comercial. El proyecto Forgejo se adhiere a los principios de gestión independiente y control comunitario. El servicio de alojamiento de Git Codeberg.org ha adoptado Forgejo. El código del proyecto está escrito en Go y se distribuye bajo la licencia GPLv3.
Las características clave de la plataforma son el bajo consumo de recursos (puede utilizarse en una placa Raspberry Pi o en equipos baratos) VPS) y un proceso de instalación sencillo. Se ofrecen funcionalidades estándar para trabajar con proyectos, como la gestión de tareas, seguimiento de problemas (issues), pull requests, wikis, herramientas para coordinar grupos de desarrolladores, preparación de lanzamientos, automatización de despliegues de paquetes en repositorios, gestión de permisos, integración con plataformas de integración continua, búsqueda de código, autenticación mediante LDAP y OAuth, acceso a repositorios a través de protocolos SSH y HTTP/HTTPS, conexión de webhooks para integración con Slack, Discord y otros servicios, soporte para hooks de Git y Git LFS, herramientas para migración y espejeo de repositorios. Se destaca por su posibilidad de usar el protocolo ActivityPub para unir a desarrolladores individuales en una red federada. servidores desarrolladores.
Principales cambios:
- Se ha rediseñado la página del perfil de usuario. Se han añadido acciones adicionales en el menú del perfil.

- Se ha mejorado la interfaz de revisión de pull requests a nivel de commits individuales (en lugar de una lista completa de cambios que abarca todos los commits, en este modo se revisan secuencialmente commits individuales). Se han añadido botones de 'adelante' y 'atrás' para navegar por los commits durante la revisión. Se permite el uso del botón de finalizar revisión para commits individuales. En las páginas de revisión, se ha mantenido visible el texto explicativo del commit.

- Se ha añadido una opción para enviar notificaciones por email sobre fallos durante la ejecución de tareas programadas (Forgejo Actions).
- Se ha optimizado el proceso de verificación de conflictos con pull requests abiertas al incorporar nuevos commits en la rama objetivo. Anteriormente, dicha verificación causaba una carga de entrada/salida proporcional al número de pull requests abiertas debido al uso de operaciones en el árbol de trabajo. La transición al uso del comando 'git merge-tree --write-tree' ha permitido realizar fusiones sin acceder al árbol de trabajo, lo que ha reducido de manera significativa la carga en grandes implementaciones.
- Se ha añadido la posibilidad de usar SSH para tareas que anteriormente dependían de OpenPGP. Para firmar commits después de editar archivos o aceptar cambios, en lugar de una clave GPG, ahora se puede utilizar una clave SSH (la firma se genera en el TPM a través de ssh-agent).
- Por defecto, se ha añadido un archivo robots.txt para informar a los bots sobre las secciones que no deben ser indexadas.
- Se ha añadido la función para mantener el fork sincronizado con el proyecto principal.

- Se ha añadido soporte para la vista previa de modelos 3D en formato glTF.

- En el editor de comentarios se ha implementado la posibilidad de utilizar la tecla Tab para añadir sangrías.
- Se ha creado una imagen de contenedor lista para usar Forgejo 12 basada en Alpine 3.22, que utiliza Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 y OpenSSH 10.0.
Fuente: opennet.ru




