Спустя два с половиной года с момента формирования ветки 0.12 опубликован новый значительный выпуск Gogs 0.13, системы для организации совместной работы с репозиториями Git, позволяющей на собственном оборудовании или в облачных окружениях развернуть сервис, напоминающий GitHub, Bitbucket и Gitlab. Код проекта написан на языке Go и поставляется под лицензией MIT. Для формирования интерфейса применяется web-фреймворк Macaron. Система имеет достаточно низкие требования к ресурсам и может быть развёрнута на плате Raspberry Pi.
Основные возможности Gogs:
- Отображение активности по шкале времени;
- Доступ к репозиторию по протоколам SSH и HTTP/HTTPS;
- Аутентификация через SMTP, LDAP и Reverse proxy;
- Встроенные средства управления учётными записями, репозиториями и организациями/командами;
- Интерфейс для добавления и удаления разработчиков, имеющих доступ к добавлению данных в репозиторий;
- Система web-хуков для интеграции обработчиков от сторонних сервисов, таких как Slack, Discord и Dingtalk;
- Поддержка подключения Git-хуков и Git LFS;
- Наличие интерфейсов для приёма сообщений об ошибках (issues), обработки pull-запросов и Wiki для подготовки документации;
- Средства для миграции и зеркалирования репозиториев и wiki из других систем;
- Web-интерфейс для редактирования кода и wiki;
- Загрузка аватаров через Gravatar и сторонние сервисы;
- Сервис отправки уведомлений по электронной почте;
- Панель администратора;
- Возможность настройки интерфейса через систему HTML-шаблонов;
- Поддержка хранения параметров в MySQL, PostgreSQL, SQLite3 и TiDB.
- Предоставлена возможность использования персонального токена доступа в поле с паролем.
- На страницах создания и переноса репозитория появилась опция для исключения из списка (unlisted), оставляющая репозиторий публичным, но скрывающая его в списке для пользователей без прямого доступа в интерфейс Gogs.
- Добавлены новые настройки "[git.timeout] DIFF" (таймаут для git diff), "[server] SSH_SERVER_MACS" (список разрешённых MAC-адресов), "[repository] DEFAULT_BRANCH" (название ветки по умолчанию для новых репозиториев), "[server] SSH_SERVER_ALGORITHMS" (список допустимых алгоритмов для обмена ключами).
- Предоставлена возможность указания собственной схемы хранения для PostgreSQL.
- Название ветки по умолчанию изменено с master на main.
- Объявлен устаревшим бэкенд хранения MSSQL.
- До версии 1.18 повышены требования к компилятору Go.
- Для хранения токенов доступа теперь используются хэши SHA256 вместо хранения в открытом виде.